Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to create files in subdirectories under unionfs-fuse mountpoint: Permission Denied #135

Open
nukemiko opened this issue Mar 14, 2023 · 1 comment

Comments

@nukemiko
Copy link

Hello! Can you help me.
I'm getting what may be some unexpected behavior. While I trying to create a file in subdirectories under unionfs-fuse mountpoint, I got an error Permission Denied:

miketsu@Miketsu:/dev/pts/3 → ~ (0)
$ > unionfs /home/miketsu/__delta__=RW:/home/miketsu/__stock__=RO /home/miketsu/__mount__
miketsu@Miketsu:/dev/pts/3 → ~ (0)
$ > l __stock__ __delta__ __mount__
__delta__:
total 4.0K
-rwxr-xr-x 1 miketsu miketsu 371 Mar  5 17:48 app_install.vdf*
drwxr-xr-x 1 miketsu miketsu  18 Mar 14 23:31 this-is-another-directory-in-__delta__/

__mount__:
total 4.0K
-rwxr-xr-x 1 miketsu miketsu 371 Mar  5 17:48 app_install.vdf*
drwxr-xr-x 1 miketsu miketsu  18 Mar 14 23:31 this-is-another-directory-in-__delta__/
drwxr-xr-x 1 miketsu miketsu   0 Mar 14 23:26 this-is-directory-in-__stock__/

__stock__:
total 0
drwxr-xr-x 1 miketsu miketsu 0 Mar 14 23:26 this-is-directory-in-__stock__/
miketsu@Miketsu:/dev/pts/3 → ~ (0)
$ > touch __mount__/test1
miketsu@Miketsu:/dev/pts/3 → ~ (0)
$ > touch __mount__/this-is-directory-in-__stock__/test2
touch: cannot touch '__mount__/this-is-directory-in-__stock__/test2': Permission denied
miketsu@Miketsu:/dev/pts/3 → ~ (1)
$ > echo 'Changed' >> __mount__/this-is-another-directory-in-__delta__/test-edit 
miketsu@Miketsu:/dev/pts/3 → ~ (0)
$ >

As you can see, I am the owner of these directories and files, and their all have read and write permission.
The following debug output (unionfs -d):

FUSE library version: 3.14.0
nullpath_ok: 0
Ignoring invalid max threads value 4294967295 > max (100000).
unique: 2, opcode: INIT (26), nodeid: 0, insize: 104, pid: 0
INIT: 7.38
flags=0x73fffffb
max_readahead=0x00020000
   INIT: 7.38
   flags=0x4040f039
   max_readahead=0x00020000
   max_write=0x00100000
   max_background=0
   congestion_threshold=0
   time_gran=1
   unique: 2, success, outsize: 80
unique: 4, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 14346
getattr[NULL] /
   unique: 4, success, outsize: 120
unique: 6, opcode: LOOKUP (1), nodeid: 1, insize: 71, pid: 14346
LOOKUP /this-is-directory-in-__stock__
getattr[NULL] /this-is-directory-in-__stock__
   NODEID: 2
   unique: 6, success, outsize: 144
unique: 8, opcode: LOOKUP (1), nodeid: 2, insize: 46, pid: 14346
LOOKUP /this-is-directory-in-__stock__/test2
getattr[NULL] /this-is-directory-in-__stock__/test2
   unique: 8, error: -2 (No such file or directory), outsize: 16
unique: 10, opcode: CREATE (35), nodeid: 2, insize: 62, pid: 14346
create flags: 0x8841 /this-is-directory-in-__stock__/test2 0100644 umask=0022
   unique: 10, error: -13 (Permission denied), outsize: 16
unique: 12, opcode: LOOKUP (1), nodeid: 2, insize: 46, pid: 14346
LOOKUP /this-is-directory-in-__stock__/test2
getattr[NULL] /this-is-directory-in-__stock__/test2
   unique: 12, error: -2 (No such file or directory), outsize: 16

Is this a bug? Is there any solution for this?

@xandaaah
Copy link

You set stock to use read only. Just change the RO to an RW next to the path of stock in the mount command and it should work just fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants