linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv3 0/4] hfsplus: stop using write_supers and s_dirt
@ 2012-07-12 14:26 Artem Bityutskiy
  2012-07-12 14:26 ` [PATCHv3 1/4] hfsplus: make hfsplus_sync_fs static Artem Bityutskiy
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Artem Bityutskiy @ 2012-07-12 14:26 UTC (permalink / raw)
  To: Andrew Morton, Al Viro; +Cc: Linux FS Maling List, Linux Kernel Maling List

Hi Andrew, here is v3 of the patches, could you please pick them instead of the
ones you have in your tree? The differences to v2 are:

1. checkpatch.pl warnings fixed
2. removed 'cancel_delayed_work()' from 'hfsplus_sync_fs()' because it is not
   enough to just cancel the job, we need to set the work_queued flag to zero
   as well. I could do this, but it is simpler to just remove this tiny
   optimization - we do not gain much with it. I caught this bug while doing
   some more testing.

This patch-set makes hfsplus 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, ufs, 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.

Tested using the fsstress test from the LTP project.

 fs/hfsplus/bitmap.c     |    4 ++--
 fs/hfsplus/dir.c        |    2 +-
 fs/hfsplus/hfsplus_fs.h |    7 +++++--
 fs/hfsplus/inode.c      |    6 +++---
 fs/hfsplus/super.c      |   46 +++++++++++++++++++++++++++++++++-------------
 5 files changed, 44 insertions(+), 21 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 (v7)
    http://thread.gmane.org/gmane.linux.kernel/1326181/focus=33332
2.  ufs: patches submitted,
    https://lkml.org/lkml/2012/7/12/248
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 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 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 sit in Andrew Morton's tree (-mm, visible in linux-next)
8.  hfsplus: patches sit in Andrew Morton's tree (-mm, visible in linux-next)
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:41 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-12 14:26 [PATCHv3 0/4] hfsplus: stop using write_supers and s_dirt Artem Bityutskiy
2012-07-12 14:26 ` [PATCHv3 1/4] hfsplus: make hfsplus_sync_fs static Artem Bityutskiy
2012-07-12 14:26 ` [PATCHv3 2/4] hfsplus: amend debugging print Artem Bityutskiy
2012-07-12 14:26 ` [PATCHv3 3/4] hfsplus: remove useless check Artem Bityutskiy
2012-07-12 14:26 ` [PATCHv3 4/4] hfsplus: get rid of write_super Artem Bityutskiy
2012-07-12 23:09 ` [PATCHv3 0/4] hfsplus: stop using write_supers and s_dirt Andrew Morton
2012-07-12 23:17   ` Andrew Morton
2012-07-13  5:41   ` Artem Bityutskiy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).