On 07/07/2016 06:59 PM, Richard W.M. Jones wrote:
However I'm not convinced that this means my statement before about
set_uuid should take a Mountable instead of a Device is wrong. It
could still be changed to take a Mountable, and either we'd have to
document that setting UUID on a btrfs subvolume makes no sense, or we
could have set_uuid refuse to work on a subvolume (only on the "main"
btrfs subvolume, if there is such a thing).
Anyway, ACK.
Rich.
As I understand, one can now only set uuid on a mountable, which is
- unmounted (especially for btrfs)
- not a btrfs subvolume
So you will get code like
if (mountable->type != MOUTABLE_DEVICE) {
reply_with_error();
return -1;
}
do_something(mountable->device).
The only thing we get is a more correct error.
But likely there are many places where one can pass the result of
list_filesystems.
Probably it makes sense to change all of them to correctly process
subvolumes,
but the patch might be extremely large.
Implicitly using btrfs device instead of subvolume is even worse, IMO.
Do I miss something?
--
Your sincerely,
Maxim Perevedentsev