On Thu, Jul 07, 2016 at 06:04:15PM +0300, Maxim Perevedentsev wrote: > Calling guestfs_is_lv on btrfs subvolume throws an error. > Here we workaround it by returning 'false' for subvolumes. > --- > sparsify/utils.ml | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/sparsify/utils.ml b/sparsify/utils.ml > index 9a49504..8d99db1 100644 > --- a/sparsify/utils.ml > +++ b/sparsify/utils.ml > @@ -34,7 +34,8 @@ let is_read_only_lv (g : G.guestfs) = > if lv_attr.[1] = 'r' then Some lv_uuid else None > ) lvs in > fun fs -> > - if g#is_lv fs then ( > + (* Btrfs subvolumes are NOT read-only LVs *) > + if not (is_btrfs_subvolume g fs) && g#is_lv fs then ( > let uuid = g#lvuuid fs in > List.exists (fun u -> compare_lvm2_uuids uuid u = 0) ro_uuids
I really think it would be better for is_lv to take a Mountable. Then in daemon/lvm.c we can just return false for any mountables which are passed in where mountable->im_type != MOUNTABLE_DEVICE. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW _______________________________________________ Libguestfs mailing list [email protected] https://www.redhat.com/mailman/listinfo/libguestfs
