Description
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.