On May 15, 2014, at 2:45 PM, Chris Mason <[email protected]> wrote:

> 
> 
> On 05/15/2014 04:40 PM, Chris Murphy wrote:
>> Summary: Two device btrfs raid1, as data device not boot/rootfs, mounted and 
>> filled with some data. Power off and remove one device. Reboot and mount the 
>> single device available with -o degraded. Create new subvolume and fill with 
>> some data. Poweroff and reattach previously removed device. Reboot and 
>> attempt to mount volume normally and I get a segfault.
>> 
>> Setup:
>> VBox VM, Fedora Rawhide
>> 2x 2TB VDIs
>> kernel 3.15.0-0.rc5.git0.1.fc21.x86_64
>> btrfs-progs 3.14-1
>> mkfs.btrfs -d raid1 -m raid1 /dev/sd[bc]
>> 
>> Reproduce steps:
>> 1. Mount /dev/sdb /mnt
>> 2. btrfs sub create /mnt/subv1
>> 3. cp -a /var /mnt/prefill/
>> 4. poweroff, remove /dev/sdc
>> 5. Boot, mount /dev/sdb /mnt -o degraded
>> 6. btrfs sub create /mnt/subv2
>> 7. cp -a /boot /mnt/sub2/
>> 8. poweroff, reattach /dev/sdc
>> 9. Boot, mount /dev/sdb /mnt
>> Segmentation fault
>> 
>> Regression: I know I've done this recently with existing subvolumes (without 
>> making new ones while mounting degraded) and it worked OK so I'm not sure 
>> how reproducible it is.
>> 
> 
> Yes, this used to work.  I'll reproduce, things for sending it!

The same fs mounts normally with 3.14.3-200.fc20.x86_64.

If I then umount and do a btrfs check:

# btrfs check /dev/sdb
Checking filesystem on /dev/sdb
UUID: 270f12a8-a724-494a-8131-4bf4da831239
checking extents
btrfs: cmds-check.c:2266: check_owner_ref: Assertion `!(rec->is_root)' failed.
Aborted (core dumped)

If I mount again and balance then umount and btrfs check, btrfs check is happy. 
And if I go back at this point to 3.15rc5 it mounts it OK.



Chris Murphy--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to