Jan Kouba
2014-Apr-09 11:00 UTC
Unable to remove read-only seeding device from a filesystem.
When running this script: dd if=/dev/zero of=seed-disk.img bs=1M seek=1k count=0 dd if=/dev/zero of=test-disk.img bs=1M seek=1k count=0 # Make image of seed device mkfs.btrfs seed-disk.img seed_dev=`losetup -f --show seed-disk.img` mount $seed_dev /mnt/tmp touch /mnt/tmp/a umount /mnt/tmp losetup -d $seed_dev btrfstune -S 1 seed-disk.img # Make read-only seed device seed_dev=`losetup -f -r --show seed-disk.img` test_dev=`losetup -f --show test-disk.img` mount $seed_dev /mnt/tmp btrfs dev add $test_dev /mnt/tmp mount -o remount,rw /mnt/tmp # This fails btrfs dev delete $seed_dev /mnt/tmp # cleanup umount /mnt/tmp losetup -d $seed_dev losetup -d $test_dev rm seed-disk.img rm test-disk.img the command "btrfs dev delete $seed_dev /mnt/tmp" fails with "ERROR: error removing the device '/dev/loop0' - Permission denied" message. If /dev/loop0 is not read-only everything works. I tested this on ubuntu 13.10, 14.04 with stock kernel and btrfs-progs and on ubuntu 14.04 with latest PPA kernel (3.14.0-031400-generic) and v3.14 btrfs- progs. Is this behaviour expected or is it a bug? I thougt that btrfs never changes seeding devices, so I don't understand, why it needs to be writeable in order to remove it from a filesystem. Jan Kouba -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html