Re: [PATCH 30/38] vfs: syscall: Add fsmount() to create a mount for a superblock [ver #10]
From: David Howells <dhowells@redhat.com>
Date: 2018-07-27 23:30:14
Also in:
linux-fsdevel, lkml
Andy Lutomirski [off-list ref] wrote:
I have a potentially silly objection. For the old timers, "mount" means to stick a reel of tape or some similar object onto a reader, which seems to imply that "mount" means to start up the filesystem. For younguns, this meaning is probably lost, and the more obvious meaning is to "mount" it into some location in the VFS hierarchy a la vfsmount. The patch description doesn't disambiguate it, and obviously people used to mount(2)/mount(8) are just likely to be confused.
The problem is that inside the kernel it *is* a "mount". How about I change the first paragraph to: Provide a system call by which a filesystem opened with fsopen() and configured by a series of fsconfig() calls can have a detached mount object created for it. This mount object can then be attached to the VFS mount hierarchy using move_mount() by passing the returned file descriptor as the from directory fd.
At the very least, your description should make it absolutely clear what you mean. Even better IMO would be to drop the use of the word "mount" entirely
I'm not sure that's a reasonable idea, given the "mounting" is how this is done. Can you suggest a word that encapsulates what it is that fsmount() returns? It's almost, but not quite identical with what open(O_PATH) returns, since it has to be torn down if not actually mounted somewhere when the fd is closed.
and maybe rename the syscall. From a very brief reading, I think you are giving it the meaning that would be implied by fsstart(2).
Do you have a reference for the manpage for that? Google doesn't seem to find it. David