Skip to content

dir_create() fails in ACL-controlled directories #465

Open
@Patrick330

Description

@Patrick330

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugan unexpected problem or unintended behavior

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions