mbox series

[0/4] add ro state control function for nvdimm drivers

Message ID 20211027120937.1163744-1-huaisheng.ye@intel.com (mailing list archive)
Headers show
Series add ro state control function for nvdimm drivers | expand

Message

Ye, Huaisheng Oct. 27, 2021, 12:09 p.m. UTC
libndctl failed to pass for the reason of writing pmem disk when running
ndctl testing.

Here is the error message below,

    namespace6.0: failed to write /dev/pmem6
    check_namespaces: namespace6.0 validate_bdev failed
    ndctl-test1 failed: -6

Commit 98f49b63e84d4ee1a5c327d0b5f4e8699f6c70fe removes set_device_ro and
e00adcadf3af7a8335026d71ab9f0e0a922191ac adds a new set_read_only method
to allow for driver-specific processing when changing the block device's
read-only state.

Current drivers nd_pmem, nd_blk and nd_btt don't have the capability to
enable or disable write protect (read-only) state. Without that,
blkdev_roset just modifies the value of bd_read_only of struct block_device
and returns success to ioctl of block device. Error would happen when writing
read-only disk next.

Add ro state control function in libnvdimm for this purpose, and implement
set_read_only for BLKROSET.

Huaisheng Ye (4):
  libnvdimm: add a ro state control function for nvdimm
  libnvdimm/pmem: implement ->set_read_only to hook into BLKROSET
    processing
  libnvdimm/blk: implement ->set_read_only to hook into BLKROSET
    processing
  libnvdimm/btt: implement ->set_read_only to hook into BLKROSET
    processing

 drivers/nvdimm/blk.c  |  1 +
 drivers/nvdimm/btt.c  |  1 +
 drivers/nvdimm/bus.c  | 17 +++++++++++++++++
 drivers/nvdimm/nd.h   |  1 +
 drivers/nvdimm/pmem.c |  1 +
 5 files changed, 21 insertions(+)

Comments

Christoph Hellwig Nov. 9, 2021, 8:14 a.m. UTC | #1
Looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>