[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <E1Jcd3y-0000gA-Nh@pomaz-ex.szeredi.hu>
Date: Fri, 21 Mar 2008 09:57:22 +0100
From: Miklos Szeredi <miklos@...redi.hu>
To: viro@...IV.linux.org.uk
CC: miklos@...redi.hu, akpm@...ux-foundation.org, linuxram@...ibm.com,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
Trond.Myklebust@...app.com, dhowells@...hat.com
Subject: Re: [patch 3/6] vfs: mountinfo stable peer group id
> IOW, mark_mounts_for_expiry() should do the following:
> grabbing namespace_sem exclusive
> grab vfsmount_lock
> walk the list as it does now, except that it should do the right
> check from the very beginning (propagate_mount_busy())
> without dropping the vfsmount_lock, go through the collected list,
> calling umount_tree()
> drop the locks
> do release_mounts()
> The second pass is needed since umount_tree() might do interesting things
> to expiry list, so we make life easier for ourselves by leaving that to
> second pass when we just want to drain the resulting list until it's empty.
>
> Does anybody see holes in the above?
>
> shrink_submounts() is _probably_ similar (lock/collect/umount_tree on all/
> unlock/release_mounts), but I'm not sure if I understand WTF is really
> attempted in there.
>
> Is there any reason why we do that in ->umount_begin() and not *after*
> it, unconditionally, straight from do_umount()? AFAICS, the only reason
> why it's done from fs-specific code is figuring out which mount-list
> should the stuff go back to, and that's both broken *and* not needed
> with sanitized locking as above. While we are at it, I'd rather return
> ->umount_begin() to its previous prototype, TYVM - the less filesystem
> sees vfsmounts, the better off we all are...
All of that seems sane to me.
Miklos
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists