PyFilesystem / pyfilesystem

Python filesystem abstraction layer
http://pyfilesystem.org/
BSD 3-Clause "New" or "Revised" License
287 stars 63 forks source link

tahoe-lafs backend mounted with fuse does not handles fs.errors.StorageSpaceError #101

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Mount tahoe-lafs filesystem via fuse expose
2. Copy lots of files, until there are not enough storage nodes accepting shares
3. Next files are silently copied, producing 0-byte files on tahoe lafs instead 
of full ones. There is no indication of it on any tool.

Part of log file:

(Overwriting 59-byte djvu file with the new one):

(11174160) Opening file /documents/books/FL Studio 3rd Edition.djvu in mode r+
(11174160) Opening existing file /documents/books/FL Studio 3rd Edition.djvu 
for reading
(11174160) Opening file /documents/books/FL Studio 3rd Edition.djvu in mode w
(11174160) Reading meta for /documents/books/FL Studio 3rd Edition.djvu
(11174160) Creating empty file /documents/books/FL Studio 3rd Edition.djvu
(11174160) Uploading file /documents/books/FL Studio 3rd Edition.djvu
(11174160) Reading meta for /documents/books/FL Studio 3rd Edition.djvu
(11174160) Uploading file /documents/books/FL Studio 3rd Edition.djvu
(11174160) Reading meta for /documents/books/FL Studio 3rd Edition.djvu
(11174160) Listing directory (listdirinfo) /documents/books
(11174160) Path /documents/books/FL Studio 3rd Edition.djvu is directory: 0

Copy process finished with no errors. Directory listing shows full size. I've 
waited for some time and executed umount:

(11174160) Uploading file /documents/books/FL Studio 3rd Edition.djvu
Exception fs.errors.StorageSpaceError: StorageSpaceError() in <bound method 
_CacheInvalidatingFile.__del__ of <fs.remote._CacheInvalidatingFile object at 
0xabd050>> ignored
(11174160) Uploading file /documents/books/FL Studio 3rd Edition.djvu

How can I ensure that all files are really written to tahoe before returning 
success to cp/mc/whatever?

Original issue reported on code.google.com by vladi...@greenmice.info on 26 Dec 2011 at 8:06

GoogleCodeExporter commented 9 years ago
If you could open a ticket on https://tahoe-lafs.org in addition to this 
ticket, then that would alert the Tahoe-LAFS developers, who might have some 
ideas about how to improve this.

Original comment by zoo...@gmail.com on 6 Jan 2012 at 10:34

GoogleCodeExporter commented 9 years ago
Sure, thanks. Here is the linked ticket: 
https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1652

Original comment by vladi...@greenmice.info on 7 Jan 2012 at 8:32