After changing the default subvolume, I can't mount a nested subvolume with a 
correct relative pathname to the default subvolume; it can only be mounted by 
absolute path or subvolid.

Setup: 
3.11.4-302.fc20.x86_64
btrfs-progs-0.20.rc1.20130917git194aa4a-1.fc20.x86_64
dir = a directory, sub=a subvolume, nested=a subvolume; set-default is top 
level 5


# mount -o subvol=dir/sub /dev/vda1 /mnt
# btrfs subvol list /mnt
ID 263 gen 140 top level 5 path dir/sub
ID 264 gen 140 top level 263 path nested

# btrfs subvol set-default 263 /mnt
# umount /mnt
# mount -o subvol=nested /dev/vda1 /mnt
mount: mount(2) failed: No such file or directory
# mount -o subvol=/nested /dev/vda1 /mnt
mount: mount(2) failed: No such file or directory

# mount -o subvol=/dir/sub/nested /dev/vda1 /mnt
[works]
# umount  /mnt
# mount -o subvolid=264 /dev/vda1 /mnt
[works]


The subvol nested is under dir/sub which is ID 263. So if set-default is 263, I 
should be able to mount with subvol=nested as a relative path to the default 
subvolume, but it fails. There's no meaningful kernel message at the time of 
the failed mount, just:
[ 4265.386990] device label fedora devid 1 transid 165 /dev/vda1

But I get the exact same message with a successful mount.

So should the mounting of relative pathnames still work?

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

Reply via email to