awslabs / mountpoint-s3

A simple, high-throughput file client for mounting an Amazon S3 bucket as a local file system.
Apache License 2.0
4.65k stars 164 forks source link

Implement statfs with synthetic values #1118

Closed c-hagem closed 1 day ago

c-hagem commented 2 weeks ago

Description of change

This PR adds support for calling statfs on virtual file system created using mountpoint. Some applications depend on the filesystem reporting non-zero available space; currently mountpoint reports 0 as number of available blocks, which can cause these applications to not work as expected.

This PR (building on #871) implements statfs with synthetic values (4611686018427387904 free blocks). For example, the DF output now is:

mountpoint-s3  4611686018427387904        0 4611686018427387904   0% /local/home/chagem/mnt/bucket

Thus, checks for available space should no longer fail.

Relevant issues: #710.

Does this change impact existing behavior?

This change impacts existing behaviour, as Mountpoint will report non-zero value for total blocks, free blocks, free inodes and maximum file name length.

Does this change need a changelog entry?

Yes, addressed.


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the Developer Certificate of Origin (DCO).

dannycjones commented 1 day ago

@c-hagem please rebase / merge from main, then ready for merging!