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:Because `chmod 666 blockdevnode` is not the same as writingBharata B Rao wrote:But it only breaks the semantics (in other cases we allow writes only to the
Not really. This is called during copyup of a file residing in a lowerThat is broken.
layer. And that is done only for regular files.
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 ?
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 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 ?