All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] fs/ufs: stop using write_supers and s_dirt
@ 2012-07-12 13:28 Artem Bityutskiy
  2012-07-12 13:28 ` [PATCH 1/3] fs/ufs: remove extra superblock write on unmount Artem Bityutskiy
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Artem Bityutskiy @ 2012-07-12 13:28 UTC (permalink / raw)
  To: Andrew Morton, Al Viro, Evgeniy Dushistov
  Cc: Linux FS Maling List, Linux Kernel Maling List

This patch-set makes UFS file-system stop using the VFS '->write_supers()'
call-back and the '->s_dirt' superblock field because I plan to remove them
once all users are gone.

Like some other similar patch-sets (affs, hfs, hfsplus, reiserfs), we switch to
a delayed job for writing out the superblock instead of using the 's_dirt'
flag. Additionally, this patch-set includes several clean-ups.

Note, checkpatch.pl complains about these patches, but the complaints are about
the code which is already in UFS, not my code. We really need to fix
checkpatch.pl to be smarter.

Tested using the fsstress test from the LTP project.

 fs/ufs/balloc.c |    8 ++--
 fs/ufs/ialloc.c |    4 +-
 fs/ufs/super.c  |  148 ++++++++++++++++++++++++++++++------------------------
 fs/ufs/ufs.h    |    5 ++
 fs/ufs/ufs_fs.h |    1 +
 5 files changed, 94 insertions(+), 72 deletions(-)

Reminder
========

The goal is to get rid of the 'sync_supers()' kernel thread. This kernel thread
wakes up every 5 seconds (by default) and calls '->write_super()' for all
mounted file-systems. And the bad thing is that this is done even if all the
superblocks are clean. Moreover, many file-systems do not even need this and
they do not even register the '->write_super()' method at all (e.g., btrfs).

So 'sync_supers()' mostly just generates useless wake-ups and wastes power.
I am trying to make all file-systems independent of '->write_super()' and plan
to remove 'sync_supers()' and '->write_super()' completely once there are no
more users.

Overall status
==============

1.  ext4: patches submitted,
    https://lkml.org/lkml/2012/7/10/195
2.  ufs: these patches
3.  exofs: patch submitted,
    https://lkml.org/lkml/2012/6/4/211
4.  sysv: patches submitted,
    http://lkml.org/lkml/2012/7/3/250
5.  udf: patch submitted, sits in Jan Kara's tree:
    https://lkml.org/lkml/2012/6/4/233
    git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs for_testing
6.  affs: patches submitted, sit in Al Viro's tree:
    https://lkml.org/lkml/2012/6/6/400
    git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs for-next
7.  hfs: patches submitted, sit Andrew Morton's tree
    http://lkml.org/lkml/2012/6/12/82
8.  hfsplus: patches submitted, sit in Andrew Morton's tree:
    https://lkml.org/lkml/2012/6/13/195
9.  ext2:     done, see commit f72cf5e223a28d3b3ea7dc9e40464fd534e359e8
10. vfat:     done, see commit 78491189ddb6d84d4a4abae992ed891a236d0263
11. jffs2:    done, see commit 208b14e507c00ff7f108e1a388dd3d8cc805a443
12. reiserfs: done, see commit 033369d1af1264abc23bea2e174aa47cdd212f6f

Thanks,
Artem.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2012-07-13  5:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-12 13:28 [PATCH 0/3] fs/ufs: stop using write_supers and s_dirt Artem Bityutskiy
2012-07-12 13:28 ` [PATCH 1/3] fs/ufs: remove extra superblock write on unmount Artem Bityutskiy
2012-07-12 13:28 ` [PATCH 2/3] fs/ufs: re-arrange the code a bit Artem Bityutskiy
2012-07-12 13:28 ` [PATCH 3/3] fs/ufs: get rid of write_super Artem Bityutskiy
2012-07-12 22:58 ` [PATCH 0/3] fs/ufs: stop using write_supers and s_dirt Andrew Morton
2012-07-13  5:34   ` Artem Bityutskiy
2012-07-13  5:45     ` Andrew Morton
2012-07-13  5:47       ` Artem Bityutskiy

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.