> From: Tian, Kevin > Sent: Thursday, September 22, 2016 10:33 AM > > > > > > Another example is class-specific attributes such > > > as 'resolution', etc. which you listed under 'display class'. All those > > > attributes should be moved to mdev directory. Only class ID is > > > required under each type. > > > > Can you elaborate on what you're proposing here? If we don't have > > attributes like 'resolution' under the type-id then we can't describe > > to the user the features of the mdev before we create it. I don't > > think anybody wants a 'create it and find out' type of interface. > > Thanks, > > > > I think such way would be racy. What about two clients creating mdev > devices simultaneously? How to guarantee their configuration of class > specific attributes not mutual-impacted since before creation any such > configuration would be global under that type? > > My feeling is that we'd better keep create simple - just write a UUID > to "type-id/create". Any class-specific attribute, if we really want to > support, should be able to be individually configured with required > resource allocated incrementally on top of basic resources allocated > at create stage. Then libvirt can set those attributes between create > and open a mdev device. If this direction is accepted, then naturally > such attributes should be put under mdev directory. Possibly we > don't need a class description under type-id. libvirt just checks directly > whether any known class represented in each mdev directory (vendor > driver will expose it on demand), and then operate attributes under > that class. > Have a better understanding of your concern now. User needs to know and set a list of attributes before requesting to create a new mdev device. From this angle all attributes should be enumerated per type-id. But as I explained above, writing multiple sysfs nodes to create a mdev device is racy. We either need a way to guarantee transactional operations on those nodes, or having type-id directory to only expose supported attributes while programming those attributes has to be through per-mdev directory after mdev device is created... Thanks Kevin -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list