Improve support for exporting btrfs subvolumes
authorNeilBrown <neilb@suse.de>
Tue, 22 Jun 2010 14:37:25 +0000 (10:37 -0400)
committerSteve Dickson <steved@redhat.com>
Tue, 22 Jun 2010 20:04:53 +0000 (16:04 -0400)
commit8d61f2518bebe11c5fd0624857f83de1dceca991
tree1dd0a9d2aaef70d6410f47d49c750eef45cc0e53
parent9ac7a15017b876d4d8d3a4502ebaf954f36f7f54
Improve support for exporting btrfs subvolumes

If you export two subvolumes of a btrfs filesystem, they will both be
given the same uuid so lookups will be confused.
blkid cannot differentiate the two, so we must use the fsid from
statfs64 to identify the filesystem.

We cannot tell if blkid or statfs is best without knowing internal
details of the filesystem in question, so we need to encode specific
knowledge of btrfs in mountd.  This is unfortunate.

To ensure smooth handling of this and possible future changes in uuid
generation, we add infrastructure for multiple different uuids to be
recognised on old filehandles, but only the preferred on is used on
new filehandles.

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Steve Dickson <steved@redhat.com>
utils/mountd/cache.c