UUID of subvolumes
I am developing backup software (<http://github.com/d3zd3z/jpool> for the curious), and have been doing some testing with btrfs.
Jpool currently uses the blkid database to map between device numbers (st_rdev) and the uuid of a particular filesystem. I originally created this because LVM device numbers sometimes changed. Jpool uses the uuid to track files within a tree.
The subvolumes on btrfs seem to be getting ephemeral device numbers, which aren't listed in the blkid output. The program falls back to using the mountpoint, but that misses mountpoints changing.
- Do subvolumes in btrfs even have separate uuids, and should they?
- Is there any way for me to map a particular st_rdev value to a particular filesystem/subvolume?
- btrfs seems to allow me to rename subvolumes, so this doesn't seem like a particularly good value to use as a key. The device number can change depending on what else might be used.
- Any other ideas on a unique key I could use for a given subvolume to identify the files on that volume, even if it moves around?
Thanks,
David Brown
Quoted 8 lines · David Brown
I am developing backup software (<http://github.com/d3zd3z/jpool> for the curious), and have been doing some testing with btrfs.
Jpool currently uses the blkid database to map between device numbers (
st_rdev) and the uuid of a particular filesystem. I originally created this because LVM device numbers sometimes changed. Jpool uses the uuid to track files within a tree.
Quoted 5 lines
The subvolumes on btrfs seem to be getting ephemeral device numbers, which aren't listed in the blkid output. The program falls back to using the mountpoint, but that misses mountpoints changing.
- Do subvolumes in btrfs even have separate uuids, and should they?
I think yes, in libblkid code is:
blkid_probe_set_uuid(pr, bfs->fsid); blkid_probe_set_uuid_as(pr, bfs->dev_item.uuid, "UUID_SUB");
so there should be two UUIDs for the device.
However, I'd like to see more information about btrfs UUIDs.
BTW, see my old discussion with Andreas about UUIDs:
http://marc.info/?l=linux-fsdevel&m=126754081900406&w=2
Karel
Signature · 2 lines
Karel Zak <[email protected]> http://karelzak.blogspot.com