I'm having a problem with a newly extended btrfs volume.  It is
running on debian testing with an almost stock 3.1.0 kernel with a
little bit of patches to get it compiling for my LaCie Network Space
v2 'Classic' (http://lacie.nas-central.org/wiki/Category:Network_Space_2).
 It's been working perfectly for about a year and a half with just the
internal sda2 and I've had luck with extending disks before so I added
a 3TB usb drive.  My dad wanted to backup his computer so I gave him
an SMB share and he copied everything using Windows Vista's internal
copy to it.  The copy checked out by comparing sized and file/folder
counts, but we didn't verify anything else.  He is now needing to
restore the backup and he is getting zero sized files.  I checked the
some of the same files on the NAS itself and I get:
> ERROR: cannot read `<filename>' (Input/output error)

I checked my kernel logs to see what the deal was and I didn't see
anything that makes sense so I ran a scrub:
sudo /sbin/btrfs scrub status .
> scrub status for 3a29a904-ad28-4e2a-8e80-df29d8d5fafc
>         scrub started at Thu May 31 10:15:39 2012 and finished after 27581 
> seconds
>         total bytes scrubbed: 1.00TB with 23929636 errors
>         error details: csum=23929636
>         corrected errors: 0, uncorrectable errors: 23929636, unverified 
> errors: 0

These are the most frequent lines in the kern.log:
>   1189 <datetime> <hostname> kernel: scrub_fixup: <number> callbacks 
> suppressed
>   1442 <datetime> <hostname> kernel: btrfs_readpage_end_io_hook: <number> 
> callbacks suppressed
>  11900 <datetime> <hostname> kernel: btrfs: unable to fixup at <number>
>  14538 <datetime> <hostname> kernel: btrfs csum failed ino <number> off 
> <number> csum <number> private <number>
> 237549 <datetime> <hostname> kernel: bio too big device sdb1 (<number> > 
> <number>)

Many are from the scrub that I ran after I was getting I/O errors, but
all of the non-scrub related errors were happening before I ran a
scrub.  If you need more info, my kern.log run through 7z is 322kB,
but I don't know if that will help.  I rebooted the device out of
desperation to see if it would help and when it came back up the btrfs
volume wouldn't mount using the origional sda2, but mounted fine when
I mounted the sdb1:
> May 31 10:05:48 eeyore kernel: device fsid 
> 3a29a904-ad28-4e2a-8e80-df29d8d5fafc devid 1 transid 132729 /dev/sda2
> May 31 10:05:48 eeyore kernel: btrfs: failed to read chunk tree on sda2
> May 31 10:05:48 eeyore kernel: btrfs: open_ctree failed
Trying "mount /dev/sdb1 /var/lib/btrfs" worked:
> May 31 10:11:14 eeyore kernel: device fsid 
> 3a29a904-ad28-4e2a-8e80-df29d8d5fafc devid 2 transid 132729 /dev/sdb1
Then a mount -a worked to get /home mounted again.

So, the question:  What went wrong?  Is there any hope of getting my
Dad's data back?  How should I proceed from here?  Delete the volume
and start from scratch?  Is btrfs not compatible with the size of
disk/volume on this architecture?  Is the external disk broken?
Should I use a different filesystem?  Why were there no indications of
error when copying?  If worse comes to worse, how can I tell which
files are bad?  Can scrub go through and unlink the bad files?

Thanks for such a great file system and thanks for any help you can give.

--
Randall Mason
rand...@mason.ch

Here is some more information that may help:

fstab:
> UUID=3a29a904-ad28-4e2a-8e80-df29d8d5fafc /var/lib/btrfs  btrfs   defaults    
>             0 0
> UUID=3a29a904-ad28-4e2a-8e80-df29d8d5fafc /home           btrfs   
> defaults,subvol=current 0 0

sudo /sbin/btrfs filesystem show /dev/sdb1
> Label: none  uuid: 3a29a904-ad28-4e2a-8e80-df29d8d5fafc
>         Total devices 2 FS bytes used 1.04TB
>         devid    2 size 2.73TB used 185.50GB path /dev/sdb1
>         devid    1 size 922.19GB used 922.19GB path /dev/sda2
> Btrfs Btrfs v0.19

dpkg -l | grep -i btrfs
> ii  btrfs-tools                           0.19+20120328-1                    
> Checksumming Copy on Write Filesystem utilities
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to