On Wed, Dec 16, 2020 at 5:46 PM Alex Taylor <alexu4993(a)gmail.com> wrote:
Hi Cephers,
I'm using VSCode remote development with a docker server. It worked OK
but fails to start the debugger after /root mounted by ceph-fuse. The
log shows that the binary passes access X_OK check but cannot be
actually executed. see:
```
strace_log:
access("/root/.vscode-server/extensions/ms-vscode.cpptools-1.1.3/debugAdapters/OpenDebugAD7",
X_OK) = 0
root@develop:~# ls -alh
.vscode-server/extensions/ms-vscode.cpptools-1.1.3/debugAdapters/OpenDebugAD7
-rw-r--r-- 1 root root 978 Dec 10 13:06
.vscode-server/extensions/ms-vscode.cpptools-1.1.3/debugAdapters/OpenDebugAD7
```
I also test the access syscall on ext4, xfs and even cephfs kernel
client, all of them return -EACCES, which is expected (the extension
will then explicitly call chmod +x).
After some digging in the code, I found it is probably caused by
https://github.com/ceph/ceph/blob/master/src/client/Client.cc#L5549-L5550.
So here come two questions:
1. Is this a bug or is there any concern I missed?
I tried reproducing it with the master branch and could not. It might
be due to an older fuse/ceph. I suggest you upgrade!
2. It works again with fuse_default_permissions=true,
any drawbacks if
this option is set?
Correctness (ironically, for you) and performance.
--
Patrick Donnelly, Ph.D.
He / Him / His
Principal Software Engineer
Red Hat Sunnyvale, CA
GPG: 19F28A586F808C2402351B93C3301A3E258DD79D