From: "J. Bruce Fields" <bfields@fieldses.org>
To: Al Viro <viro@ZenIV.linux.org.uk>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Jan Harkes <jaharkes@cs.cmu.edu>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC] readdir mess
Date: Mon, 25 Aug 2008 12:16:05 -0400 [thread overview]
Message-ID: <20080825161605.GI30871@fieldses.org> (raw)
In-Reply-To: <20080824110326.GO28946@ZenIV.linux.org.uk>
On Sun, Aug 24, 2008 at 12:03:26PM +0100, Al Viro wrote:
> On Sun, Aug 24, 2008 at 11:10:14AM +0100, Al Viro wrote:
>
> > I agree that such transition plan makes sense, but that'll take more
> > preliminary work than in your patch; there are other vfs_readdir() and
> > ->readdir() callers, not just the obvious syscall ones.
>
> BTW, nfsd4_list_rec_dir() is FUBAR. Its users, actually - they try to use it
> for lovely things like kernel-side rm -rf /var/lib/nfs/v4recovery/* and
> screw up in rather amusing ways.. I'm not even talking about the effects
> of OOM (dentry leak); if you rename something away from that directory,
> you'll get vfs_rmdir(dir, dentry) with dentry not being a child of dir,
> which means deadlock if you are lucky and underlying fs corruption if you
> are not...
>
> I really wonder WTF is that doing in the kernel, anyway. Looks like an
> obvious candidate for userland helper...
Yes. Christoph complained about this before (err, 3 years ago!), though
without (as far as I can tell) catching those particular bugs:
http://marc.info/?l=linux-fsdevel&m=112703894118581&w=2
We eventually agreed that it was a problem and worked on a userspace
replacement, but it never got to the point where I was happy enough with
it to commit to the new user interface, and the effort died. I'll take
a look at what we last had.
--b.
next prev parent reply other threads:[~2008-08-25 16:16 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-12 6:22 [RFC] readdir mess Al Viro
2008-08-12 17:02 ` OGAWA Hirofumi
2008-08-12 17:18 ` Linus Torvalds
2008-08-12 18:10 ` Al Viro
2008-08-12 18:22 ` Al Viro
2008-08-12 18:37 ` Al Viro
2008-08-12 19:24 ` Al Viro
2008-08-12 20:02 ` Linus Torvalds
2008-08-12 20:21 ` Linus Torvalds
2008-08-12 20:38 ` Al Viro
2008-08-12 21:04 ` Linus Torvalds
2008-08-13 0:04 ` Al Viro
2008-08-13 0:28 ` Linus Torvalds
2008-08-13 1:19 ` Al Viro
2008-08-13 1:51 ` Linus Torvalds
2008-08-13 8:36 ` Brad Boyer
2008-08-13 16:19 ` Al Viro
2008-08-15 5:06 ` Jan Harkes
2008-08-15 5:34 ` Al Viro
2008-08-15 16:58 ` Linus Torvalds
2008-08-24 10:10 ` Al Viro
2008-08-24 11:03 ` Al Viro
2008-08-25 16:16 ` J. Bruce Fields [this message]
2008-08-24 17:20 ` Linus Torvalds
2008-08-24 19:59 ` Al Viro
2008-08-24 23:51 ` Linus Torvalds
2008-08-25 1:33 ` Al Viro
2008-08-25 1:44 ` Al Viro
2008-08-12 19:45 ` OGAWA Hirofumi
2008-08-12 20:05 ` Linus Torvalds
2008-08-12 20:59 ` Al Viro
2008-08-12 21:24 ` Linus Torvalds
2008-08-12 21:54 ` Al Viro
2008-08-12 22:04 ` Linus Torvalds
2008-08-13 16:20 ` J. Bruce Fields
2008-08-12 21:47 ` Alan Cox
2008-08-12 22:20 ` Linus Torvalds
2008-08-12 22:10 ` Alan Cox
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=20080825161605.GI30871@fieldses.org \
--to=bfields@fieldses.org \
--cc=jaharkes@cs.cmu.edu \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--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 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.