mbox series

[V2,0/5] ublk_drv: add generic mechanism to get/set parameters

Message ID 20220727141628.985429-1-ming.lei@redhat.com (mailing list archive)
Headers show
Series ublk_drv: add generic mechanism to get/set parameters | expand

Message

Ming Lei July 27, 2022, 2:16 p.m. UTC
Hello,

The 1st two patches fixes ublk device leak or hang issue in case of some
failure path, such as failed to start device.

The 3rd patch adds two control commands for setting/getting device
parameters in generic way, and easy to extend to add new parameter
type.

The 4th patch adds two parameter type: basic and discard, and basic
parameter covers basic block queue setting or someone which can't
be grouped to other types, basic parameter has to be set; discard
parameter is optional.

The 5th patch cleans uapi of ublksrv_ctrl_dev_info, and userspace has
to be updated for this driver change.

Verified by all targets in the following branch:

https://github.com/ming1/ubdsrv/tree/parameter

Also all device data including parameters is exported as json in
above tree.

V2:
- re-organize patches
- limit parameter max length
- take Christoph's approach to replace bitfields with flags, and use
char type to define block size shift
- add two fixes, which is triggered when testing set/get parameter
  commands
- cleanup uapi header


Ming Lei (5):
  ublk_drv: avoid to leak ublk device in case that add_disk fails
  ublk_drv: cancel device even though disk isn't up
  ublk_drv: add SET_PARAM/GET_PARAM control command
  ublk_drv: add two parameter types
  ublk_drv: cleanup ublksrv_ctrl_dev_info

 drivers/block/ublk_drv.c      | 338 ++++++++++++++++++++++++++++++----
 include/uapi/linux/ublk_cmd.h |  57 +++++-
 2 files changed, 356 insertions(+), 39 deletions(-)