
On Wed, 26 Jun 2019 08:37:20 -0600 Alex Williamson <alex.williamson@redhat.com> wrote:
On Wed, 26 Jun 2019 11:58:06 +0200 Cornelia Huck <cohuck@redhat.com> wrote:
On Tue, 25 Jun 2019 16:52:51 -0600 Alex Williamson <alex.williamson@redhat.com> wrote:
Hi,
Based on the discussions we've had, I've rewritten the bulk of mdevctl. I think it largely does everything we want now, modulo devices that will need some sort of 1:N values per key for configuration in the config file versus the 1:1 key:value setup we currently have (so don't consider the format final just yet).
We might want to factor out that config format handling while we're trying to finalize it.
cc:ing Matt for his awareness. I'm currently not quite sure how to handle those vfio-ap "write several values to an attribute one at a time" requirements. Maybe 1:N key:value is the way to go; maybe we need/want JSON or something like that.
Maybe we should just do JSON for future flexibility. I assume there are lots of helpers that should make it easy even from a bash script. I'll look at that next.
Done. Throw away any old mdev config files, we use JSON now. The per mdev config now looks like this: { "mdev_type": "i915-GVTg_V4_8", "start": "auto" } My expectation, and what I've already pre-enabled support in set_key and get_key functions, is that we'd use arrays for values, so we might have: "new_key": ["value1", "value2"] set_key will automatically convert a comma separated list of values into such an array, so I'm thinking this would be specified by the user as: # mdevctl modify -u UUID --key=new_key --value=value1,value2 We should think about whether ordering is important and maybe incorporate that into key naming conventions or come up with some syntax for specifying startup blocks. Thanks, Alex