[PATCH V4 0/4] ublk_drv: add generic mechanism to get/set parameters

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Jens,

The 1st two patches fixes ublk device leak or hang issue in case of some
failure path, such as, failing 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 cleans UAPI of ublksrv_ctrl_dev_info, and userspace needs
to be updated for this driver change, so please consider this patchset
for v5.20.

Verified by all targets in the following branch, and pass all built-in
tests.

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

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

V4:
- take Christoph's suggestion to put all parameters into one single
  structure.
- move reserved fields of ublksrv_ctrl_dev_info into end

V3:
- drop device reference after add_disk fails, as suggested by Christoph, 1/5
- simplify the 3rd patch: replace xarray with plain array, remove
  function table and avoid indirect call, then reduce boiler plate for
  addressing Christoph's comment

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 (4):
  ublk_drv: cancel device even though disk isn't up
  ublk_drv: fix ublk device leak in case that add_disk fails
  ublk_drv: add SET_PARAMS/GET_PARAMS control command
  ublk_drv: cleanup ublksrv_ctrl_dev_info

 drivers/block/ublk_drv.c      | 242 +++++++++++++++++++++++++++++-----
 include/uapi/linux/ublk_cmd.h |  62 ++++++++-
 2 files changed, 264 insertions(+), 40 deletions(-)

-- 
2.31.1




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux