Opened at 2011-01-18T22:36:19Z
Last modified at 2014-09-27T13:40:34Z
#1332 new defect
fails to start up on readonly filesystem when it tried to rmdir the incoming directory — at Initial Version
| Reported by: | zooko | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | soon |
| Component: | code-storage | Version: | 1.8.1 |
| Keywords: | easy availability error | Cc: | |
| Launchpad Bug: |
Description
I just started a storage server node on a filesystem that was mounted read-only, and it failed to start, emitting:
owhiela5@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.
Note: See
TracTickets for help on using
tickets.
