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

dir_create() fails in ACL-controlled directories #465

Open
Patrick330 opened this issue Aug 8, 2024 · 1 comment
Open

dir_create() fails in ACL-controlled directories #465

Patrick330 opened this issue Aug 8, 2024 · 1 comment

Comments

@Patrick330
Copy link

Patrick330 commented Aug 8, 2024

Following an upgrade from fs 1.5.0 to fs 1.6.4, downstream libraries such as batchtools and usethis began to return cryptic errors when attempting to create directories. We isolated the issue to the use of fs::dir_create() in ACL-controlled directories.

Specifically, we received the following result:
>fs::dir_create('/working/temp')
Error: [EOI] Failed to make directory '/working/temp': i/o error

The error occurred only in ACL-controlled directories, and it occurred only with fs 1.5.2 and higher.

I was able to resolve the error by modifying the default mode used in directory creation from 0x777 to 0x000 on line 25 of dir.cc. After installing again from the modified source I was able to execute the above command without error.

We use R 4.4.1 on a linux server. Our server administrators tell us that the directories at issue use a GPFS file system with NFSv4 ACLs implemented by IBM. In addition, they report that directories are created after running the command above, with mode 1000, but they are not accessible to users.

@Patrick330
Copy link
Author

Related issues include #293 (which lead to the code change that created this issue) and possibly #464, which also relates to use of dir_create() in (possibly) ACL-controlled directories.

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

1 participant