[GH-ISSUE #209] ENOSPC returned some times #116

Closed
opened 2026-03-04 01:42:15 +03:00 by kerem · 4 comments
Owner

Originally created by @UnitedMarsupials-zz on GitHub (Jul 16, 2015).
Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/209

We use s3fs as the backing store for an FTP-server. Files uploaded to us by FTP-only third-parties are then available for download via S3 bucket directly...

Today I got an report quoting our server erroring out with ENOSPC, which I find rather bizarre:

---> STOR ./foo-0.gz
<--- 150 Opening BINARY mode data connection for ./foo-0.gz
---- Accepted data connection from (ip.add.re.ss) port 41635
---- Closing data socket
<--- 451 No space left on device
---> SIZE ./foo-0.gz
<--- 213 29265920

The size of the s3 filesystem is, obviously humongous, so where could the limit be coming from? Could it be the amount of free space on the cache filesystem, that's the problem? Can s3fs be told to write directly to s3 -- either always, or when cache has not space? We do clean the cache up periodically, but, even if the cache fills up in between clean-ups, s3fs ought to degrade gracefully...

Originally created by @UnitedMarsupials-zz on GitHub (Jul 16, 2015). Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/209 We use s3fs as the backing store for an FTP-server. Files uploaded to us by FTP-only third-parties are then available for download via S3 bucket directly... Today I got an report quoting our server erroring out with ENOSPC, which I find rather bizarre: ``` ---> STOR ./foo-0.gz <--- 150 Opening BINARY mode data connection for ./foo-0.gz ---- Accepted data connection from (ip.add.re.ss) port 41635 ---- Closing data socket <--- 451 No space left on device ---> SIZE ./foo-0.gz <--- 213 29265920 ``` The size of the s3 filesystem is, obviously humongous, so where could the limit be coming from? Could it be the amount of free space on the _cache_ filesystem, that's the problem? Can s3fs be told to write directly to s3 -- either always, or when cache has not space? We do clean the cache up periodically, but, even if the cache fills up in between clean-ups, s3fs ought to degrade gracefully...
kerem closed this issue 2026-03-04 01:42:16 +03:00
Author
Owner

@gaul commented on GitHub (Jul 16, 2015):

Which FTP server do you use? Can you strace it to determine which system calls it executes?

<!-- gh-comment-id:121794108 --> @gaul commented on GitHub (Jul 16, 2015): Which FTP server do you use? Can you `strace` it to determine which system calls it executes?
Author
Owner

@UnitedMarsupials-zz commented on GitHub (Jul 16, 2015):

We use mod_ftp inside Apache. The problem is not easy to reproduce -- haven't had it in 6 weeks since deploying this server to production, and it is gone now... Also, strace-ing Apache is notoriously difficult.

But my suspicion -- that saving the full file in cache is required , when cache is enabled at all -- is easy to confirm or deny, is not it? Thank you!

<!-- gh-comment-id:121794722 --> @UnitedMarsupials-zz commented on GitHub (Jul 16, 2015): We use mod_ftp inside Apache. The problem is not easy to reproduce -- haven't had it in 6 weeks since deploying this server to production, and it is gone now... Also, strace-ing Apache is notoriously difficult. But my suspicion -- that saving the full file in cache is _required_ , when cache is enabled at all -- is easy to confirm or deny, is not it? Thank you!
Author
Owner

@ggtakec commented on GitHub (Jan 17, 2016):

I'm sorry for that this issue had been left at a long period of time.

s3fs latest codes supports "ensure_diskfree" option, it keeps free disk space.
s3fs can not cache of cleaning, but this option will not be able to generate an ENOSPC by the s3fs cache.
Please try to use latest codes and this option.

Thanks in advance for your assistance.

<!-- gh-comment-id:172310026 --> @ggtakec commented on GitHub (Jan 17, 2016): I'm sorry for that this issue had been left at a long period of time. s3fs latest codes supports "ensure_diskfree" option, it keeps free disk space. s3fs can not cache of cleaning, but this option will not be able to generate an ENOSPC by the s3fs cache. Please try to use latest codes and this option. Thanks in advance for your assistance.
Author
Owner

@ggtakec commented on GitHub (Mar 29, 2019):

We kept this issue open for a long time.
I will close this, but if the problem persists, please reopen or post a new issue.

<!-- gh-comment-id:477825800 --> @ggtakec commented on GitHub (Mar 29, 2019): We kept this issue open for a long time. I will close this, but if the problem persists, please reopen or post a new issue.
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#116
No description provided.