From: Nick Piggin <npiggin@suse.de>
To: Al Viro <viro@ZenIV.linux.org.uk>, Jan Kara <jack@suse.cz>
Cc: Christoph Hellwig <hch@lst.de>,
Andrew Morton <akpm@linux-foundation.org>,
linux-fsdevel@vger.kernel.org,
ecryptfs-devel@lists.launchpad.net, tyhicks@linux.vnet.ibm.com,
kirkland@canonical.com
Subject: Re: [patch 00/11] new truncate sequence
Date: Mon, 7 Dec 2009 13:49:02 +0100 [thread overview]
Message-ID: <20091207124902.GB4394@wotan.suse.de> (raw)
In-Reply-To: <20090923022921.GK14381@ZenIV.linux.org.uk>
On Wed, Sep 23, 2009 at 03:29:21AM +0100, Al Viro wrote:
> On Wed, Sep 23, 2009 at 12:58:45AM +0100, Al Viro wrote:
> > Frankly, I'm almost 100% convinced to postpone new-truncate merge until
> > .33-rc1; the first couple of patches (vmtruncate() unification and cleanups)
> > can go right now, but the rest obviously hadn't been beaten up enough
> > to seriously consider it for .32-rc1.
>
> FWIW, I think that a reasonable battle plan for that series would look so:
> * current first two patches
> * vmtruncate()-less analogs of block_write_begin(), nobh_write_begin()
> and blockdev_direct_IO(); original 3 functions themselves become wrappers.
> * default_setattr()
> * sort out the use of vmtruncate() in ecryptfs.
> * at that point work on individual filesystems becomes independent;
> we can convert them one by one at leisure, killing vmtruncate() uses in
> each as we go. Basically, take an fs, shift vmtruncate() calls into the
> methods (we will have full set of needed helpers) and lambda-expand each
> (remember that vmtruncate() becomes a straightforward short sequence of helper
> calls after the first stage). And replace that ->truncate() call with
> explicit foofs_truncate(), switching .truncate to NULL while we are at it.
> All equivalent transformations, all independent. Massage foo_setattr()
> as we wish.
> * once we are done, remove vmtruncate() and ->truncate() - no more
> callers for them. Ditto for leftover 3 wrappers.
>
> AFAICS, that gives a bisectable series with no "new_truncate" flags, with
> no flagday interface changes at all and mergable just fine piecewise.
>
> Comments?
I'm having a look at this again, sorry for the delay. I would still
like to merge it in 2.6.33 if we can; at least the core parts so that
we can push fs specific patches to their various maintainers.
Your plan for avoiding .truncate_kludge works, although I still like
that flag so we can put BUG_ONs around the place.... but it is ugly
so maybe we just skip it.
It looks relatively simple, and I'm also updating the series to account
for the writev data loss bug.
Ecryptfs. To start with, it isn't taking i_mutex on the lower inode when
calling vmtruncate so locking is wrong. Secondly, I don't think it is
allowed to assume vmtruncate does the right thing. The only correct
generic entry point to the lower filesystem AFAIKS is notify_change...
which would allow it to work fine with the new truncate sequence. So
any reason why they can't do that?
next prev parent reply other threads:[~2009-12-07 12:48 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-20 16:35 [patch 00/11] new truncate sequence npiggin
2009-08-20 16:35 ` [patch 01/11] fs: new truncate helpers npiggin
2009-08-26 7:38 ` Artem Bityutskiy
2009-09-07 7:33 ` Nick Piggin
2009-09-07 7:48 ` Artem Bityutskiy
2009-08-20 16:35 ` [patch 02/11] fs: use " npiggin-l3A5Bk7waGM
2009-08-20 16:35 ` [patch 03/11] fs: introduce new truncate sequence npiggin
2009-08-26 7:40 ` Artem Bityutskiy
2009-08-20 16:35 ` [patch 04/11] fs: convert simple fs to new truncate npiggin
2009-08-20 16:35 ` [patch 05/11] tmpfs: convert to use the new truncate convention npiggin
2009-08-20 16:35 ` [patch 06/11] ext2: " npiggin
2009-08-21 13:42 ` Jan Kara
2009-08-21 14:06 ` Jan Kara
2009-08-24 5:30 ` [patch] ext2: convert to use the new truncate convention fix Nick Piggin
2009-08-20 16:35 ` [patch 07/11] fat: convert to use the new truncate convention npiggin
2009-08-20 16:35 ` [patch 08/11] btrfs: " npiggin
2009-08-20 16:35 ` [patch 09/11] jfs: " npiggin
2009-08-20 16:35 ` [patch 10/11] udf: " npiggin
2009-08-21 14:22 ` Jan Kara
2009-08-24 5:33 ` Nick Piggin
2009-08-20 16:35 ` [patch 11/11] minix: " npiggin
2009-09-09 7:11 ` [patch 00/11] new truncate sequence Artem Bityutskiy
2009-09-22 15:04 ` Al Viro
2009-09-22 20:00 ` Christoph Hellwig
2009-09-22 21:51 ` Al Viro
2009-09-22 23:27 ` Al Viro
2009-09-22 23:58 ` Al Viro
2009-09-23 2:29 ` Al Viro
2009-09-27 19:50 ` Nick Piggin
2009-12-07 12:49 ` Nick Piggin [this message]
2009-12-07 22:46 ` Tyler Hicks
2009-09-22 20:53 ` [PATCH 12/n] kill spurious reference to vmtruncate Christoph Hellwig
2009-09-22 20:54 ` [PATCH 13/n] xfs: new truncate sequence Christoph Hellwig
2009-09-22 20:55 ` [PATCH 14/n] sysv: " Christoph Hellwig
2009-09-22 20:56 ` [PATCH 15/n] ntfs: " Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091207124902.GB4394@wotan.suse.de \
--to=npiggin@suse.de \
--cc=akpm@linux-foundation.org \
--cc=ecryptfs-devel@lists.launchpad.net \
--cc=hch@lst.de \
--cc=jack@suse.cz \
--cc=kirkland@canonical.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=tyhicks@linux.vnet.ibm.com \
--cc=viro@ZenIV.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).