On Mon, Sep 27, 2021 at 04:46:48PM -0600, Alex Williamson wrote:
I have no particular opinion on specific states here, however adding+ enum { MAX_STATE = VFIO_DEVICE_STATE_RESUMING };Our state transition diagram is pretty weak on reachable transitions
+ static const u8 vfio_from_state_table[MAX_STATE + 1][MAX_STATE + 1] = {
+ [VFIO_DEVICE_STATE_STOP] = {
+ [VFIO_DEVICE_STATE_RUNNING] = 1,
+ [VFIO_DEVICE_STATE_RESUMING] = 1,
+ },
out of the _STOP state, why do we select only these two as valid?
more states means more stuff for drivers to implement and more risk
driver writers will mess up this uAPI.
So only on those grounds I'd suggest to keep this to the minimum
needed instead of the maximum logically possible..
Also, probably the FSM comment from the uapi header file should be
moved into a function comment above this function?
Jason