[tahoe-dev] Analyzing the dead drives

Aleksandr Milewski zandr at allmydata.com
Wed Oct 29 08:50:37 PDT 2008


I'm analyzing the drives that died in pt7. I had been running find - 
type f /path/to/node/storage/shares but Brian suggested that tahoe  
debug catalog-shares would produce more useful output. While that's  
true, it also seems to abort on error:

n6mod at mycroft:~/trunk$ Traceback (most recent call last):
   File "/home/n6mod/trunk/support/bin/tahoe", line 8, in <module>
     load_entry_point('allmydata-tahoe==1.2.0-r3131',  
'console_scripts', 'tahoe')()
   File "/home/n6mod/trunk/src/allmydata/scripts/runner.py", line 84,  
in run
     rc = runner(sys.argv[1:])
   File "/home/n6mod/trunk/src/allmydata/scripts/runner.py", line 71,  
in runner
     rc = debug.dispatch[command](so)
   File "/home/n6mod/trunk/src/allmydata/scripts/debug.py", line 758,  
in do_debug
     return f(so)
   File "/home/n6mod/trunk/src/allmydata/scripts/debug.py", line 623,  
in catalog_shares
     describe_share(abs_sharefile, si_s, shnum_s, now, out)
   File "/home/n6mod/trunk/src/allmydata/scripts/debug.py", line 533,  
in describe_share
     num_extra_leases = m._read_num_extra_leases(f)
   File "/home/n6mod/trunk/src/allmydata/storage.py", line 458, in  
_read_num_extra_leases
     (num_extra_leases,) = struct.unpack(">L", f.read(4))
   File "/usr/lib/python2.5/struct.py", line 87, in unpack
     return o.unpack(s)
struct.error: unpack requires a string argument of length 4

So I'm re-running find -type f with stderr captured to a file as well.  
When I'd run that initially I'd seen a few 'file not found' errors,  
which suggested that the filesystem is inconsistent. I have *not* run  
fsck on these drives yet, though I might before this is all over.

I haven't seen any I/O errors on the two drives I've been playing with  
yet. That said, my USB<>SATA bridge doesn't give me SMART info, so I  
don't know how many errors are being masked by various layers of  
retries.

-Zandr


More information about the tahoe-dev mailing list