On Mon, May 16, 2016 at 02:21:07PM +0200, Martin Steigerwald wrote:
> Hello Richard,
>
> On Montag, 16. Mai 2016 13:14:56 CEST Richard W.M. Jones wrote:
> > I don't have time to implement this right now, so I'm just posting
> > this as a suggestion/request ...
> >
> > It would be really helpful if the btrfs tools had a machine-readable
> > output.
> >
> > Libguestfs parses btrfs tools output in a number of places, eg:
> > https://github.com/libguestfs/libguestfs/blob/master/daemon/btrfs.c
> > This is a massive PITA because each time a new release of btrfs-progs
> > comes along it changes the output slightly, and we end up having
> > to add all sorts of hacks.
> >
> > With machine-readable output, there'd be a flag which would
> > change the output. eg:
>
> I wonder whether parsing a text based output is really the most elegant
> method
> here.
>
> How about a libbtrfs so that other tools can benefit from btrfs tools
> functionality? This was also desktop environments wishing to make use of
> snapshot functionality or advanced disk usage reporting for example can
> easily
> make use of it without calling external commands.
>
> Of course it would likely me more effort than to implement structured output.
Yes, a similar situation happened with qemu actually. We've been
talking for over half a decade about putting the qemu block layer into
a library, and it's still not happened. But we got `qemu-img info' to
have JSON output in a few weeks, and that is now how we query the
properties of VM disk images:
$ qemu-img info --output=json ./builder/fedora.qcow2
{
"virtual-size": 1073741824,
"filename": "./builder/fedora.qcow2",
"cluster-size": 65536,
"format": "qcow2",
"actual-size": 7933952,
"format-specific": {
"type": "qcow2",
"data": {
"compat": "1.1",
"lazy-refcounts": false,
"refcount-bits": 16,
"corrupt": false
}
},
"dirty-flag": false
}
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html