Re: [RFC][PATCH 10/14] In-kernel file copy between union mounted filesystems

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Bharata B Rao wrote:
On Tue, May 22, 2007 at 08:25:16AM +0200, Jan Engelhardt wrote:
On May 22 2007 08:43, Bharata B Rao wrote:
On Fri, May 18, 2007 at 09:47:31AM -0400, Shaya Potter wrote:
Bharata B Rao wrote:

Not really. This is called during copyup of a file residing in a lower
layer. And that is done only for regular files.
That is broken.
But it only breaks the semantics (in other cases we allow writes only to the
top layer files). So the question is why do we have to copy up the device
node ? What difference it makes to writing to the device itself ?
Because `chmod 666 blockdevnode` is not the same as writing
to the device itself?

What if that chmod is applied on the lower level device node ? This is what
we do currently, even for regular files. Copyup happens only when the file
is opened for writing.

Let me rephrase my earlier question:

In case of regular files, when we copyup a file, we are actually preventing
any writes to the lower layers (which we have designated as read only).

Applying the same logic to devices, what do we achieve by copying them up ?
How does it matter if we write to the device through a node in the upper
layer or in the lower layer. Both the writes eventually do the same thing.

What happens if the lower layer is on a read only medium. But the top layer is RW. Why can't one change permissions? In your model, one can't.

What happens if one wants to share a lower layer read-only (I'm doing this with my research into uses of union file systems), one doesn't want permission change in one use of the lower layer to affect any of the other uses.


What I am trying to understand is, if the need for copyup is purely a matter
of conforming to semantics (of not allowing writes to the lower layers in
case of union mount) or do we achieve anything else by doing a device
copyup ? Are there any cases where copying up of device nodes are absolutely
essential for sane behaviour ?

If the lower layer is relatively immutable (ignoring atime) it can be shared in a RO manner by multiple unions. If it's not, it can't be. Also, copyup is needed in general as the RO union layer can be on a RO file system but the union will not be RO.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux