From: David Sterba <dsterba@suse.cz>
To: Christoph Heiss <christoph@c8h4.io>
Cc: David Sterba <dsterba@suse.cz>, linux-btrfs@vger.kernel.org
Subject: Re: [PATCH 0/7] btrfs-progs: implement json output for subvolume subcommands
Date: Mon, 21 Aug 2023 17:19:42 +0200 [thread overview]
Message-ID: <20230821151942.GD2420@twin.jikos.cz> (raw)
In-Reply-To: <yp65dkmsmuw77rhsvokj73jc6h4vhbrnqch73qk5epw2eaqs5v@y5uozai7motj>
On Fri, Aug 18, 2023 at 08:39:58PM +0200, Christoph Heiss wrote:
> First of, thanks for the review & merging right away!
> On Thu, Aug 17, 2023 at 09:34:37PM +0200, David Sterba wrote:
> >
> > On Sun, Aug 13, 2023 at 11:44:55AM +0200, Christoph Heiss wrote:
> > > [..]
> >
> > Thanks. There are a few things regarding the json output that are still
> > to be figured out and to set examples to follow. The plain and json
> > output does not match 1:1 in the printed information, here the
> > 'top level' does not need to be in the json output or there could be
> > more subvolume related info in the map.
>
> > The textual output is unfortunatelly parsed by many tools nowadays so
> > we can't change the format. With json it's easier to filter out the
> > interesting data so "more is better" in this case.
> Right, makes sense. I skimmed through your additional commits on top,
> e.g. the null uuid thing. So all "optional" fields should rather be
> `null` than missing.
>
> >
> > The formatter is designed in a way to allow plain text and json to be
> > printed by the same lines of code but this is namely for line oriented
> > output, like 'subvolume show'.
> Yeah, I figured that after looking at it a bit more - that's why I
> decided to leave most of the stuff as-is for now.
>
> > [..]
> >
> > I'll put some guidelines to the documentation, the key naming must be
> > unified, e.g. 'gen' or 'generation' but there's also 'transid' used in
> > some cases etc.
> >
> > As the json format is also an ABI we need to get it finalized first
> Does it make sense to explicitly document all the possible json outputs
> with all their fields, i.e provide example outputs?
Yes, examples are very useful, all of the commands supporting json
should have coverage in the tests. For startes a command that does not
change the state could just duplicate the one done in test but with
`--format=json'. Then it'll appear in the test logs and is easy to
review or copy elsewhere.
The tests/json-formatter-test.c should cover all the basic stuff, it's
also not complete so it can serve as example provider.
We may want to put the examples into the documentation then it's also
good for understanding, though this coud get out of sync over time.
> > so I'll merge the series but put the actual support for --json option
> > under experimental build.
> Thanks! Makes it easier to improve on it gradually in any case. I will
> send some more patches your way rectifying these things as soon as I get
> to it.
Thanks.
prev parent reply other threads:[~2023-08-21 15:26 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-13 9:44 [PATCH 0/7] btrfs-progs: implement json output for subvolume subcommands Christoph Heiss
2023-08-13 9:44 ` [PATCH 1/7] btrfs-progs: common: document `time-long` output format Christoph Heiss
2023-08-13 9:44 ` [PATCH 2/7] btrfs-progs: subvol show: remove duplicated quotas error check Christoph Heiss
2023-08-13 9:44 ` [PATCH 3/7] btrfs-progs: subvol show: factor out text printing to own function Christoph Heiss
2023-08-13 9:44 ` [PATCH 4/7] btrfs-progs: subvol: introduce rowspec definition for json output Christoph Heiss
2023-08-13 9:45 ` [PATCH 5/7] btrfs-progs: subvol list: implement json format output Christoph Heiss
2023-08-17 19:59 ` David Sterba
2023-08-13 9:45 ` [PATCH 6/7] btrfs-progs: subvol get-default: " Christoph Heiss
2023-08-17 20:04 ` David Sterba
2023-08-18 18:49 ` Christoph Heiss
2023-08-13 9:45 ` [PATCH 7/7] btrfs-progs: subvol show: " Christoph Heiss
2023-08-17 20:02 ` David Sterba
2023-08-17 19:34 ` [PATCH 0/7] btrfs-progs: implement json output for subvolume subcommands David Sterba
2023-08-18 18:39 ` Christoph Heiss
2023-08-21 15:19 ` David Sterba [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230821151942.GD2420@twin.jikos.cz \
--to=dsterba@suse.cz \
--cc=christoph@c8h4.io \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox