[GH-ISSUE #1961] NFS client does not notice file updates via s3fs mount #992

Closed
opened 2026-03-04 01:50:29 +03:00 by kerem · 3 comments
Owner

Originally created by @ggtakec on GitHub (Jun 12, 2022).
Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/1961

Details about issue

When the directory mounted by s3fs is mounted by NFS, the file object created in S3 bucket by s3fs is not reflected.
It is unknown whether this is a problem with the NFS specifications.

Reproduction procedure

  • mount any bucket /mnt/s3 with s3fs
  • mount /mnt/s3 on /mnt/nfs with NFS
  • create a file in directly to /mnt/s3 (ex. touch /mnt/s3/test)
  • the test file does not exist when /mnt/nfs is displayed by ls.
    However, you can display ls /mnt/nfs/test.

A quick check shows that GETATTR(/) is called from FUSE, but it seems that subsequent GETATTR(/test) has not been called.

Originally created by @ggtakec on GitHub (Jun 12, 2022). Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/1961 ### Details about issue When the directory mounted by s3fs is mounted by NFS, the file object created in S3 bucket by s3fs is not reflected. _It is unknown whether this is a problem with the NFS specifications._ #### Reproduction procedure - mount any bucket `/mnt/s3` with s3fs - mount `/mnt/s3` on `/mnt/nfs` with NFS - create a file in directly to `/mnt/s3` (ex. `touch /mnt/s3/test`) - the test file does not exist when `/mnt/nfs` is displayed by `ls`. However, you can display `ls /mnt/nfs/test`. A quick check shows that `GETATTR(/)` is called from FUSE, but it seems that subsequent `GETATTR(/test)` has not been called.
kerem closed this issue 2026-03-04 01:50:29 +03:00
Author
Owner

@ggtakec commented on GitHub (Jun 13, 2022):

It is uncertain, but it is suspected that the cause is that s3fs has not changed the stat(mtime / atime) of the parent directory of the manipulated file.
I continue to work this and test.

<!-- gh-comment-id:1153761079 --> @ggtakec commented on GitHub (Jun 13, 2022): It is uncertain, but it is suspected that the cause is that s3fs has not changed the stat(`mtime` / `atime`) of the parent directory of the manipulated file. I continue to work this and test.
Author
Owner

@giulianoc commented on GitHub (Jun 13, 2022):

Thank you, let me know if I can help you testing in my scenario.

<!-- gh-comment-id:1154161727 --> @giulianoc commented on GitHub (Jun 13, 2022): Thank you, let me know if I can help you testing in my scenario.
Author
Owner

@ggtakec commented on GitHub (Feb 12, 2023):

@giulianoc
Added update_parent_dir_stat option to update parent directory stat information when file operations are performed.
With this, I think that you can catch file and directory updates when used with NFS.
See #2016 for details.
Try using master's code with the update_parent_dir_stat option.

<!-- gh-comment-id:1426980950 --> @ggtakec commented on GitHub (Feb 12, 2023): @giulianoc Added `update_parent_dir_stat` option to update parent directory stat information when file operations are performed. With this, I think that you can catch file and directory updates when used with NFS. See #2016 for details. Try using master's code with the `update_parent_dir_stat` option.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/s3fs-fuse#992
No description provided.