From: Trond Myklebust <trond.myklebust@fys.uio.no>
To: Al Viro <viro@ZenIV.linux.org.uk>
Cc: Miklos Szeredi <miklos@szeredi.hu>,
akpm@linux-foundation.org, dave@linux.vnet.ibm.com,
ezk@cs.sunysb.edu, linux-fsdevel@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [patch 01/10] vfs: add path_create() and path_mknod()
Date: Wed, 02 Apr 2008 20:42:09 -0400 [thread overview]
Message-ID: <1207183329.20254.49.camel@heimdal.trondhjem.org> (raw)
In-Reply-To: <20080402234758.GS9785@ZenIV.linux.org.uk>
On Thu, 2008-04-03 at 00:47 +0100, Al Viro wrote:
> On Thu, Apr 03, 2008 at 12:40:43AM +0100, Al Viro wrote:
> > Anyway, what the hell for? It's more complex and buys you nothing
> > useful.
>
> BTW, what it gives you is an extra headache for scenarios like
>
> task A:
> write(fd, ...)
> task B: /* shares descriptor table with A */
> close(fd)
> task C: umount(<mountpoint of tree where fd is>)
> ...
> task A: still writing
>
> At the very least, you want "that thing is still busy" on normal umount -
> we are still in the middle of write(2) and hell knows how long it's going
> to last. So you need to play with refcount of vfsmount in a very nasty
> way, for all your pains.
We already call fget_light()/fput_light() around the whole call to
vfs_write(). Substituting a call to something which takes a reference to
the new structure is trivial.
Once the write() syscall is done, and the file is closed, why should we
refuse the umount request? There should be nothing more going on that
depends on the namespace.
> Again, what for?
It allows you to get rid of the vfsmount 'argument' when opening a file,
which again lowers the barrier for stacking filesystems.
As far as the filesystems themselves are concerned, the effect is to
enforce your assertion that file operations should not depend on the
namespace.
next prev parent reply other threads:[~2008-04-03 0:42 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-02 20:12 [patch 00/10] vfs: add helpers to check r/o bind mounts Miklos Szeredi
2008-04-02 20:12 ` [patch 01/10] vfs: add path_create() and path_mknod() Miklos Szeredi
2008-04-02 20:54 ` Al Viro
2008-04-02 21:11 ` Miklos Szeredi
2008-04-02 21:48 ` Al Viro
2008-04-02 22:21 ` Trond Myklebust
2008-04-02 22:36 ` Al Viro
2008-04-02 23:19 ` Trond Myklebust
2008-04-02 23:40 ` Al Viro
2008-04-02 23:47 ` Al Viro
2008-04-03 0:42 ` Trond Myklebust [this message]
2008-04-03 0:47 ` Erez Zadok
2008-04-03 1:00 ` Al Viro
2008-04-03 1:37 ` Erez Zadok
2008-04-03 1:46 ` Al Viro
2008-04-03 2:21 ` Erez Zadok
2008-04-03 2:32 ` Al Viro
2008-04-03 23:24 ` Erez Zadok
2008-04-04 11:04 ` Miklos Szeredi
2008-04-03 0:58 ` Al Viro
2008-04-03 7:32 ` Miklos Szeredi
2008-04-03 22:32 ` Erez Zadok
2008-04-03 12:33 ` Stephen Smalley
2008-04-02 21:00 ` Dave Hansen
2008-04-02 21:19 ` Dave Hansen
2008-04-02 20:12 ` [patch 02/10] vfs: add path_mkdir() Miklos Szeredi
2008-04-02 22:15 ` Erez Zadok
2008-04-02 20:12 ` [patch 03/10] vfs: add path_rmdir() Miklos Szeredi
2008-04-02 20:12 ` [patch 04/10] vfs: add path_unlink() Miklos Szeredi
2008-04-02 20:12 ` [patch 05/10] vfs: add path_symlink() Miklos Szeredi
2008-04-02 20:12 ` [patch 06/10] vfs: add path_link() Miklos Szeredi
2008-04-02 20:12 ` [patch 07/10] vfs: add path_rename() Miklos Szeredi
2008-04-04 17:56 ` Erez Zadok
2008-04-04 18:04 ` Miklos Szeredi
2008-04-02 20:12 ` [patch 08/10] vfs: add path_setattr() Miklos Szeredi
2008-04-02 20:12 ` [patch 09/10] vfs: add path_setxattr() Miklos Szeredi
2008-04-02 20:12 ` [patch 10/10] vfs: add path_removexattr() Miklos Szeredi
2008-04-02 21:22 ` [patch 00/10] vfs: add helpers to check r/o bind mounts Erez Zadok
2008-04-09 0:53 ` [PATCH] Unionfs: use the new path_* VFS helpers Erez Zadok
2008-04-10 11:10 ` Miklos Szeredi
2008-04-10 12:02 ` [PATCH] Call LSM functions outside VFS helper functions Tetsuo Handa
2008-04-10 12:17 ` Matthew Wilcox
2008-04-10 12:56 ` Miklos Szeredi
-- strict thread matches above, loose matches on Subject: below --
2008-05-05 10:16 [patch 00/10] vfs: add helpers to check r/o bind mounts v3 Miklos Szeredi
2008-05-05 10:16 ` [patch 01/10] vfs: add path_create() and path_mknod() Miklos Szeredi
2008-05-06 4:12 ` Andrew Morton
2008-05-06 4:24 ` Al Viro
2008-05-06 5:46 ` Andrew Morton
2008-05-06 6:24 ` Miklos Szeredi
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=1207183329.20254.49.camel@heimdal.trondhjem.org \
--to=trond.myklebust@fys.uio.no \
--cc=akpm@linux-foundation.org \
--cc=dave@linux.vnet.ibm.com \
--cc=ezk@cs.sunysb.edu \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=miklos@szeredi.hu \
--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).