On Apr 18, 2014, at 8:36 PM, Michael Welsh Duggan <m...@md5i.com> wrote:
> I had a disk in my RAID0 die: > > root@maru2:~# /usr/local/src/btrfs-progs/btrfs fi show > 8c530f6f-7592-4d57-854d-1fae33ae7cb6 > Label: none uuid: 8c530f6f-7592-4d57-854d-1fae33ae7cb6 > Total devices 3 FS bytes used 329.66GiB > devid 1 size 1.79TiB used 357.03GiB path /dev/sdd1 > devid 3 size 931.51GiB used 178.00GiB path /dev/sdf > *** Some devices missing > > Btrfs v3.12-43-gc2081e2-dirty > > So, I try to mount it with -o degraded. That fails, implying that a > degraded mount needs to be read-only. So I successfully mount it read > only. Then I want to add a new disk to replace the missing one: > > root@maru2:~# /usr/local/src/btrfs-progs/btrfs dev add /dev/sdg /mnt/ > ERROR: error adding the device '/dev/sdg' - Read-only file system > > So I can't add a disk if it's mounted read-only, and can't mount it > read-write? What am I missing? What's my way around this? Not really because it's raid0. The minimum number of disks for a 3 disk raid0 is 3 disks. Upon losing one, the data portion of the file system is toast. I'm guessing it lets you mount it ro,degraded because the metadata and hence the file system itself, is raid1 (the default for raid0 data volumes). The file system could determine what files aren't damaged, i.e they exist entirely on one of the remaining two drives, with no dependency on the dead one. But I don't think this code exists yet. You could possibly rsync the drive to another file system, and bad files damaged by the missing disk will be reported in dmesg while the good ones would still copy over. I haven't tried this. Chris Murphy-- 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