* btrfs multiple mounts stacked on the same mount point
@ 2014-02-11 8:18 Anand Jain
2014-02-11 20:57 ` Duncan
0 siblings, 1 reply; 6+ messages in thread
From: Anand Jain @ 2014-02-11 8:18 UTC (permalink / raw)
To: linux-btrfs@vger.kernel.org >> btrfs
per mount(2)
---
multiple mounts can be stacked on the same mount point.
---
In this situation how could ioctl communicate
(using mount point) with each FS stacked on the
same mount point ?
BTW I don't understand the need for multiple
mounts on the same mount point ?
Any idea. ?
Thanks Anand
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: btrfs multiple mounts stacked on the same mount point
2014-02-11 8:18 btrfs multiple mounts stacked on the same mount point Anand Jain
@ 2014-02-11 20:57 ` Duncan
2014-02-12 3:37 ` Anand Jain
0 siblings, 1 reply; 6+ messages in thread
From: Duncan @ 2014-02-11 20:57 UTC (permalink / raw)
To: linux-btrfs
Anand Jain posted on Tue, 11 Feb 2014 16:18:02 +0800 as excerpted:
> per mount(2)
>
> ---
> multiple mounts can be stacked on the same mount point.
> ---
>
> In this situation how could ioctl communicate (using mount point) with
> each FS stacked on the same mount point ?
>
> BTW I don't understand the need for multiple mounts on the same mount
> point ?
The most common case of multiple over-mounts is almost certainly the
kernel's built-in rootfs in RAM, usually as an initramfs or initrd, with
real-root often directly over-mounted the same mountpoint, tho it can
also be mounted elsewhere on the initramfs.
The various union-filesystem solutions also directly use over-mounting,
with the read-only mount often directly over-mounted with the writable
but semi-transparent overlay, such that if a file hasn't changed from the
read-only version on the under-mount, that's the version that gets used.
Otherwise, over-mounts generally obscure what's underneath them, making
direct access to it impossible, unless that underneath filesystem is bind-
mounted elsewhere.
(Which is actually how I backup my root filesystem, using a bind-mount to
mount it elsewhere for the backup, so for instance the /dev/console and
/dev/null device nodes located directly on root get copied over to my
backup root as well, instead of the devtmpfs content otherwise over-
mounted on /dev.)
That principle of over-mount obscuring what's beneath it should apply to
the ioctls as well. They will always communicate with the top mounted
layers. To communicate with anything underneath, the over-mounting
layers will either need umounted, or (if it's not the exact same
mountpoint, which might have been your point) a bind-mount of the under-
mount can be used.
But an over-mount obscuring under-mounts is how Linux (and I believe POSIX
in general) normally works. (The semi-transparent union-filesystem
solutions mentioned above thus being exceptions with those exceptions
being the hairy bits, that explaining the several implementations with
their various limitations and bugs.) So not being able to access under-
mounts is the normal state of affairs. =:^)
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: btrfs multiple mounts stacked on the same mount point
2014-02-11 20:57 ` Duncan
@ 2014-02-12 3:37 ` Anand Jain
2014-02-12 5:15 ` Duncan
0 siblings, 1 reply; 6+ messages in thread
From: Anand Jain @ 2014-02-12 3:37 UTC (permalink / raw)
To: linux-btrfs; +Cc: Duncan
Thanks.
In the context of btrfs,
what is the critical need of this feature ?
OR
what is that it can't do without this feature ?
Thanks, Anand
On 02/12/14 04:57 AM, Duncan wrote:
> Anand Jain posted on Tue, 11 Feb 2014 16:18:02 +0800 as excerpted:
>
>> per mount(2)
>>
>> ---
>> multiple mounts can be stacked on the same mount point.
>> ---
>>
>> In this situation how could ioctl communicate (using mount point) with
>> each FS stacked on the same mount point ?
>>
>> BTW I don't understand the need for multiple mounts on the same mount
>> point ?
>
> The most common case of multiple over-mounts is almost certainly the
> kernel's built-in rootfs in RAM, usually as an initramfs or initrd, with
> real-root often directly over-mounted the same mountpoint, tho it can
> also be mounted elsewhere on the initramfs.
>
> The various union-filesystem solutions also directly use over-mounting,
> with the read-only mount often directly over-mounted with the writable
> but semi-transparent overlay, such that if a file hasn't changed from the
> read-only version on the under-mount, that's the version that gets used.
>
> Otherwise, over-mounts generally obscure what's underneath them, making
> direct access to it impossible, unless that underneath filesystem is bind-
> mounted elsewhere.
>
> (Which is actually how I backup my root filesystem, using a bind-mount to
> mount it elsewhere for the backup, so for instance the /dev/console and
> /dev/null device nodes located directly on root get copied over to my
> backup root as well, instead of the devtmpfs content otherwise over-
> mounted on /dev.)
>
> That principle of over-mount obscuring what's beneath it should apply to
> the ioctls as well. They will always communicate with the top mounted
> layers. To communicate with anything underneath, the over-mounting
> layers will either need umounted, or (if it's not the exact same
> mountpoint, which might have been your point) a bind-mount of the under-
> mount can be used.
>
> But an over-mount obscuring under-mounts is how Linux (and I believe POSIX
> in general) normally works. (The semi-transparent union-filesystem
> solutions mentioned above thus being exceptions with those exceptions
> being the hairy bits, that explaining the several implementations with
> their various limitations and bugs.) So not being able to access under-
> mounts is the normal state of affairs. =:^)
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: btrfs multiple mounts stacked on the same mount point
2014-02-12 3:37 ` Anand Jain
@ 2014-02-12 5:15 ` Duncan
2014-02-12 7:36 ` Anand Jain
0 siblings, 1 reply; 6+ messages in thread
From: Duncan @ 2014-02-12 5:15 UTC (permalink / raw)
To: linux-btrfs
Anand Jain posted on Wed, 12 Feb 2014 11:37:35 +0800 as excerpted:
> On 02/12/14 04:57 AM, Duncan wrote:
>> Anand Jain posted on Tue, 11 Feb 2014 16:18:02 +0800 as excerpted:
>>
>>> per mount(2)
>>>
>>> ---
>>> multiple mounts can be stacked on the same mount point.
>>> ---
>>>
>>> In this situation how could ioctl communicate (using mount point)
>>> with each FS stacked on the same mount point ?
>>>
>>> BTW I don't understand the need for multiple mounts on the same
>>> mount point ?
>>
>> That principle of over-mount obscuring what's beneath it should apply
>> to the ioctls as well. They will always communicate with the top
>> mounted layers. [Since] an over-mount obscuring under-mounts is how
>> Linux normally works[,] not being able to access under-mounts is the
>> normal state of affairs. =:^)
> In the context of btrfs,
> what is the critical need of this feature ?
> OR
> what is that it can't do without this feature ?
IMO btrfs shouldn't behave any different than any other filesystem in
this regard, and in fact, I'd /guess/ that btrfs has little to do with it
since that's surely handled at the general VFS layer, except perhaps
btrfs might need to ensure that if multiple filesystems are mounted at
the same mountpoint, the expected (that being top) one always gets the
ioctls. Anything underneath the top layer should be ignored, regardless
of whether the given mountpoint is /home and it's / underneath, or
whether it's two filesystems mounted on /home, such that the last one
mounted always gets the ioctls.
BTW, another (general) reason over-mounts are sometimes used is to
deliberately obscure what's underneath. It's worth noting that anything
with a file already open on the underlying filesystem still has access to
that file after something else is mounted over top, and that fact is
sometimes used to control access to certain files/filesystems, by
starting whatever it is that needs to access them and letting them open
the files they need, then over-mounting a different filesystem, often
empty, so no other applications can access the under-mounted files.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: btrfs multiple mounts stacked on the same mount point
2014-02-12 5:15 ` Duncan
@ 2014-02-12 7:36 ` Anand Jain
2014-02-12 13:17 ` Duncan
0 siblings, 1 reply; 6+ messages in thread
From: Anand Jain @ 2014-02-12 7:36 UTC (permalink / raw)
To: Duncan; +Cc: linux-btrfs
> BTW, another (general) reason over-mounts are sometimes used is to
> deliberately obscure what's underneath. It's worth noting that anything
> with a file already open on the underlying filesystem still has access to
> that file after something else is mounted over top, and that fact is
> sometimes used to control access to certain files/filesystems, by
> starting whatever it is that needs to access them and letting them open
> the files they need, then over-mounting a different filesystem, often
> empty, so no other applications can access the under-mounted files.
Thanks. Makes sense theoretically. Any eg of real practical
application ? Any product in the market using it that way ?
looks btrfs-progs shouldn't depend on the mnt-point driven ioctls
to manage the FS. Now that's a set of challenges.
Thanks, Anand
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: btrfs multiple mounts stacked on the same mount point
2014-02-12 7:36 ` Anand Jain
@ 2014-02-12 13:17 ` Duncan
0 siblings, 0 replies; 6+ messages in thread
From: Duncan @ 2014-02-12 13:17 UTC (permalink / raw)
To: linux-btrfs
Anand Jain posted on Wed, 12 Feb 2014 15:36:48 +0800 as excerpted:
>> BTW, another (general) reason over-mounts are sometimes used is to
>> deliberately obscure what's underneath. It's worth noting that
>> anything with a file already open on the underlying filesystem still
>> has access to that file after something else is mounted over top, and
>> that fact is sometimes used to control access to certain
>> files/filesystems, by starting whatever it is that needs to access them
>> and letting them open the files they need, then over-mounting a
>> different filesystem, often empty, so no other applications can access
>> the under-mounted files.
>
> Thanks. Makes sense theoretically. Any eg of real practical
> application ? Any product in the market using it that way ?
At least from here over-mount-to-prevent-access seems more like an admin
technique than something someone would ship in a product. And yes, while
I don't know of any specific product using the technique, I've certainly
read of admins using the trick -- that's actually how I knew about it
myself.
> looks btrfs-progs shouldn't depend on the mnt-point driven ioctls to
> manage the FS. Now that's a set of challenges.
I don't really see why not. Why would one /need/ to issue ioctls to an
under-mounted filesystem that's not otherwise accessible (except to apps
with files on it opened before a different filesystem was over-mounted on
top), and why wouldn't the ordinary rules of umounting the over-mount in
ordered to access it if necessary, not apply? In general, I think most
admins are used to the general limitation, and I doubt it would even
occur to most of them to try to (for example) run a balance or check the
free space on a filesystem they can't otherwise access, because that sort
of thing is in most cases simply not possible.
And if for some reason one were to need such an arrangement, that's what
bind/move/shared-mounts are for. (See the mount (8) manpage and $KERNDIR/
Documentation/filesystems/sharedsubtree.txt.)
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-02-12 13:18 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-11 8:18 btrfs multiple mounts stacked on the same mount point Anand Jain
2014-02-11 20:57 ` Duncan
2014-02-12 3:37 ` Anand Jain
2014-02-12 5:15 ` Duncan
2014-02-12 7:36 ` Anand Jain
2014-02-12 13:17 ` Duncan
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).