Re: User-visible context-mount API
From: Miklos Szeredi <hidden>
Date: 2018-01-17 09:53:37
Also in:
linux-fsdevel
[Adding util-linux@vger and Michael Kerrisk] On Wed, Jan 17, 2018 at 5:17 AM, Al Viro [off-list ref] wrote:
On Tue, Jan 16, 2018 at 05:41:46PM +0100, Miklos Szeredi wrote:quoted
Right. Still, those two (propagation and flags) are properties of the mount. No fundamental difference in how to handle them, that I see. Okay, we have MS_REC handling in the propagation and not in the flags, but that's something that might make sense for flags as well. What's more interesting is how MS_PRIVATE + MS_REC semantics are complete failure in the real world: the logical thing would be to mark a mount private on the supplied mount AND propagate an umount event to everywhere else.This is utter nonsense. Most of the time it's "Fedora, in its infinite bogo^Wwisdom has made everything shared; I don't fucking need that idiocy, so please unshare this, this and that". You really don't want (or have permissions for) unmounting e.g. /mnt in namespace of init when you do that. Sure, we get tons of bug reports. Due to idiotic Fedora setup, with everything shared. The same setup that would go up in flames on the semantics change you propose.
I wouldn't propose to change existing --make-private, as this would not be backward compatible. The new semantics would mean a new op, obviously. Documenting --make-private thing properly would also help. To me the wording "make private" strongly implies "I want to make submounts private to this instance". See for example rhbz#1432211.
If anything, "private bind on itself" would be a useful operation. Turning given location into a mountpoint, and having everything under it looking as it used to, but with no propagation at all. Without bothering anybody else, even if location currently happens to be on a shared/master mount. I can slap that together for mount(2), but I'm not sure what a sane combination of flags for that would look like ;-) For fsmount I think it would be very useful thing to have.
Yes, I think such an operation would be pretty useful. Not sure if it's the whole story, though. Thanks, Miklos