[tahoe-lafs-trac-stream] [Tahoe-LAFS] #1332: fails to start up on readonly filesystem when it tried to rmdir the incoming directory
Tahoe-LAFS
trac at tahoe-lafs.org
Sat Sep 27 02:26:50 UTC 2014
#1332: fails to start up on readonly filesystem when it tried to rmdir the
incoming directory
------------------------------+-------------------------------------
Reporter: zooko | Owner: zancas
Type: defect | Status: new
Priority: major | Milestone: soon
Component: code-storage | Version: 1.8.1
Resolution: | Keywords: easy availability error
Launchpad Bug: |
------------------------------+-------------------------------------
Old description:
> I just started a storage server node on a filesystem that was mounted
> read-only, and it failed to start, emitting:
> {{{
> owhiela5 at ip-10-194-21-199:~/.tahoe$ tahoe start
> STARTING /home/owhiela5/.tahoe
> Traceback (most recent call last):
> File "/usr/lib/python2.6/dist-packages/twisted/application/app.py",
> line 626, in run
> runApp(config)
> File "/usr/lib/python2.6/dist-packages/twisted/scripts/twistd.py", line
> 23, in runApp
> _SomeApplicationRunner(config).run()
> File "/usr/lib/python2.6/dist-packages/twisted/application/app.py",
> line 374, in run
> self.application = self.createOrGetApplication()
> File "/usr/lib/python2.6/dist-packages/twisted/application/app.py",
> line 439, in createOrGetApplication
> application = getApplication(self.config, passphrase)
> --- <exception caught here> ---
> File "/usr/lib/python2.6/dist-packages/twisted/application/app.py",
> line 450, in getApplication
> application = service.loadApplication(filename, style, passphrase)
> File "/usr/lib/python2.6/dist-packages/twisted/application/service.py",
> line 390, in loadApplication
> application = sob.loadValueFromFile(filename, 'application',
> passphrase)
> File "/usr/lib/python2.6/dist-packages/twisted/persisted/sob.py", line
> 210, in loadValueFromFile
> exec fileObj in d, d
> File "tahoe-client.tac", line 10, in <module>
> c = client.Client()
> File "/usr/lib/pymodules/python2.6/allmydata/client.py", line 129, in
> __init__
> self.init_storage()
> File "/usr/lib/pymodules/python2.6/allmydata/client.py", line 258, in
> init_storage
> expiration_sharetypes=expiration_sharetypes)
> File "/usr/lib/pymodules/python2.6/allmydata/storage/server.py", line
> 76, in __init__
> self._clean_incomplete()
> File "/usr/lib/pymodules/python2.6/allmydata/storage/server.py", line
> 158, in _clean_incomplete
> fileutil.rm_dir(self.incomingdir)
> File "/usr/lib/pymodules/python2.6/allmydata/util/fileutil.py", line
> 215, in rm_dir
> raise excs[0]
> exceptions.OSError: [Errno 30] Read-only file system:
> '/home/owhiela5/.tahoe/storage/shares/incoming'
>
> Failed to load application: [Errno 30] Read-only file system:
> '/home/owhiela5/.tahoe/storage/shares/incoming'
>
> client node probably not started
> }}}
>
> I guess {{{_clean_incomplete()}}} should catch, log, and ignore any
> failure to clean the incoming directory.
New description:
I just started a storage server node on a filesystem that was mounted
read-only, and it failed to start, emitting:
{{{
owhiela5 at ip-10-194-21-199:~/.tahoe$ tahoe start
STARTING /home/owhiela5/.tahoe
Traceback (most recent call last):
File "/usr/lib/python2.6/dist-packages/twisted/application/app.py", line
626, in run
runApp(config)
File "/usr/lib/python2.6/dist-packages/twisted/scripts/twistd.py", line
23, in runApp
_SomeApplicationRunner(config).run()
File "/usr/lib/python2.6/dist-packages/twisted/application/app.py", line
374, in run
self.application = self.createOrGetApplication()
File "/usr/lib/python2.6/dist-packages/twisted/application/app.py", line
439, in createOrGetApplication
application = getApplication(self.config, passphrase)
--- <exception caught here> ---
File "/usr/lib/python2.6/dist-packages/twisted/application/app.py", line
450, in getApplication
application = service.loadApplication(filename, style, passphrase)
File "/usr/lib/python2.6/dist-packages/twisted/application/service.py",
line 390, in loadApplication
application = sob.loadValueFromFile(filename, 'application',
passphrase)
File "/usr/lib/python2.6/dist-packages/twisted/persisted/sob.py", line
210, in loadValueFromFile
exec fileObj in d, d
File "tahoe-client.tac", line 10, in <module>
c = client.Client()
File "/usr/lib/pymodules/python2.6/allmydata/client.py", line 129, in
__init__
self.init_storage()
File "/usr/lib/pymodules/python2.6/allmydata/client.py", line 258, in
init_storage
expiration_sharetypes=expiration_sharetypes)
File "/usr/lib/pymodules/python2.6/allmydata/storage/server.py", line
76, in __init__
self._clean_incomplete()
File "/usr/lib/pymodules/python2.6/allmydata/storage/server.py", line
158, in _clean_incomplete
fileutil.rm_dir(self.incomingdir)
File "/usr/lib/pymodules/python2.6/allmydata/util/fileutil.py", line
215, in rm_dir
raise excs[0]
exceptions.OSError: [Errno 30] Read-only file system:
'/home/owhiela5/.tahoe/storage/shares/incoming'
Failed to load application: [Errno 30] Read-only file system:
'/home/owhiela5/.tahoe/storage/shares/incoming'
client node probably not started
}}}
I guess {{{_clean_incomplete()}}} should catch, log, and ignore any
failure to clean the incoming directory.
--
Comment (by Lcstyle):
sounds like an easy in for 1.11?
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1332#comment:5>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list