[Libguestfs] [PATCH] listfs: ignore the default btrfs subvolume
Richard W.M. Jones
rjones at redhat.com
Thu Feb 25 21:19:35 UTC 2016
On Thu, Feb 25, 2016 at 08:25:40PM +0100, Cedric Bosdonnat wrote:
> On Thu, 2016-02-25 at 19:10 +0000, Richard W.M. Jones wrote:
> > On Thu, Feb 25, 2016 at 05:50:57PM +0100, Pino Toscano wrote:
> > > When listing the subvolumes of a btrfs filesystem, ignore the
> > > default
> > > subvolume: we get the content of it when mounting the whole device
> > > (without specifying any particular subvolume), so avoid listing it
> > > twice.
> > > ---
> > > src/listfs.c | 9 +++++++++
> > > 1 file changed, 9 insertions(+)
> > >
> > > diff --git a/src/listfs.c b/src/listfs.c
> > > index 98e74c7..de3b6f5 100644
> > > --- a/src/listfs.c
> > > +++ b/src/listfs.c
> > > @@ -169,8 +169,17 @@ check_with_vfs_type (guestfs_h *g, const char
> > > *device, struct stringsbuf *sb)
> > > if (vols == NULL)
> > > return -1;
> > >
> > > + int64_t default_volume = guestfs_btrfs_subvolume_get_default
> > > (g, device);
> > > +
> > > for (size_t i = 0; i < vols->len; i++) {
> > > struct guestfs_btrfssubvolume *this = &vols->val[i];
> > > +
> > > + /* Ignore the default subvolume. We get it by simply
> > > mounting
> > > + * the whole device of this btrfs filesystem.
> > > + */
> > > + if (this->btrfssubvolume_id == (uint64_t) default_volume)
> > > + continue;
> > > +
> > > guestfs_int_add_sprintf (g, sb,
> > > "btrfsvol:%s/%s",
> > > device, this->btrfssubvolume_path);
> >
> > ACK.
> >
> > Was there an RHBZ# for this? Can't seem to find it ...
>
> I least none that I am aware of, not even a bsc# as we have an pretty
> old version on openSUSE. I just got the problem with my testing of
> recent releases.
That's OK, I was just checking if we needed to mention a bug number in
the commit message.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v
More information about the Libguestfs
mailing list