Re: [PATCH 1/8] writeback: move super_block argument to struct writeback_control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 01 2009, Christoph Hellwig wrote:
> On Tue, Sep 01, 2009 at 01:18:59PM +0200, Jens Axboe wrote:
> > Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx>
> > ---
> >  drivers/staging/pohmelfs/inode.c |    3 ++-
> >  fs/fs-writeback.c                |   14 +++++++-------
> >  fs/ubifs/budget.c                |    5 +++--
> >  fs/ubifs/super.c                 |    3 ++-
> >  include/linux/fs.h               |    3 +--
> >  include/linux/writeback.h        |    2 ++
> 
> I think we need better calling conventions here.  Currently this whole
> area is on crack, we have from highest to lowest layer:
> 
> 
>  - sync_inodes_sb - does two totally different things based on the
>    wait flag.  If the wait flag is set does a WB_SYNC_ALL writeout
>    of all pages.  If not does a WB_SYNC_NONE based on some whacky
>    heuristics despite actually wanting to write out everything.
>  - sync_sb_inodes - toally useless wrapper.  Introduces because reiser4
>    eventually wanted to hook in there, but that needs some major
>    rethinking before it can happen.
>  - generic_sync_inodes_sb - used to implement both cases of
>    sync_inodes_sb, plus:
> 
>     - UBIFS budgeting writeouts, in either blocking or non-blocking
>       way
>     - UBIFS sync use that is gone in -next because we fixed sync
>     - a complete crackpot usage in pohmelfs, which we fortunately can
>       simply ignore because it's in -staging.
> 
> 
> So instead of exporting generic_sync_sb_inodes which now takes just
> a wbc we should just export two helpers to either data integrity sync
> and SB or do a SYNC_NONE on it, both taking no other parameter than
> the superblock.

Agreed, that would clean it up nicely. I'll do that as a prep patch,
too.

-- 
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux