NetBSD-Users archive

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

Re: mount_union(8) vs. open(O_RDWR)



On Thu, Dec 02, 2021 at 05:23:37PM +0100, J. Hannken-Illjes wrote:
 > This behaviour comes from sys/fs/union/union_vnops.c::union_access():
 > 
 >  /*
 >   * Check access permission on the union vnode.
 >   * The access check being enforced is to check
 >   * against both the underlying vnode, and any
 >   * copied vnode.  This ensures that no additional
 >   * file permissions are given away simply because
 >   * the user caused an implicit file copy.
 >   */
 >  int
 >  union_access(void *v)
 > 
 > As the underlying node is on a ro-mounted file system this will
 > always fail with EROFS if the underlying node exists.

That seems like the wrong thing, since one of the original and fairly
clear use cases for onionfs is providing a read-write layer over a
read-only volume.

What the right thing is, I don't know. At one point I was going to try
to come up with a coherent semantic model for onionfs that satisfies
all the known use cases (or determine that none exists, which is more
likely) but that was a long time ago and I've forgotten all the
details.

-- 
David A. Holland
dholland%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index