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
lgetxattr returns ENOENT instead of ENODATA #100
Comments
Huh, so this is interesting. First, Second, the problem you are observing really comes from a missing file, not a missing attribute. Note that the sandbox you mounted is completely "unmapped": there is nothing in the root directory, so when we try |
On a call to getxattr for an unknown attribute, Linux wants ENODATA and macOS wants ENOATTR. Does not fix bazelbuild#100 but discovered through it.
Instead of returning errors when we deal with a node that has no underlying path (which happens for scaffold nodes and for deleted nodes), stub out the return values. For read operations, pretend the xattrs are not there, and for write operations, deny the change. Fixes bazelbuild#100.
I originally discovered an xattr issue when doing |
Instead of returning errors when we deal with a node that has no underlying path (which happens for scaffold nodes and for deleted nodes), stub out the return values. For read operations, pretend the xattrs are not there, and for write operations, deny the change. Fixes bazelbuild#100.
Instead of returning errors when we deal with a node that has no underlying path (which happens for scaffold nodes and for deleted nodes), stub out the return values. For read operations, pretend the xattrs are not there, and for write operations, deny the change. Fixes #100.
Should be fixed now. I've also made extended attributes support conditional and disabled by default because I fear there might be other problems, and I also fear these extra vnops may be detrimental to performance. |
There is an issue with fetching extended attributes on Ubuntu 16.04 platform. Using a build from
the latest top of tree (54362b7), a simple
ls -la
of the sandbox root givesNo such file or directory
error message. Commands likecp -a
will return non-zero exit code, because they are unable to get the extended attributes of the source directories.Terminal 1:
Terminal 2:
I'm able to repro the issue on 4.4.0-133-generic and 4.4.0-171-generic kernels.
The text was updated successfully, but these errors were encountered: