linux/drivers/nvdimm
Christoph Hellwig c6e56cf6b2 block: move integrity information into queue_limits
Move the integrity information into the queue limits so that it can be
set atomically with other queue limits, and that the sysfs changes to
the read_verify and write_generate flags are properly synchronized.
This also allows to provide a more useful helper to stack the integrity
fields, although it still is separate from the main stacking function
as not all stackable devices want to inherit the integrity settings.
Even with that it greatly simplifies the code in md and dm.

Note that the integrity field is moved as-is into the queue limits.
While there are good arguments for removing the separate blk_integrity
structure, this would cause a lot of churn and might better be done at a
later time if desired.  However the integrity field in the queue_limits
structure is now unconditional so that various ifdefs can be avoided or
replaced with IS_ENABLED().  Given that tiny size of it that seems like
a worthwhile trade off.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Link: https://lore.kernel.org/r/20240613084839.1044015-13-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2024-06-14 10:20:07 -06:00
..
badrange.c libnvdimm: remove kernel-doc warnings: 2023-10-18 09:48:05 -07:00
btt_devs.c nvdimm: Remove usage of the deprecated ida_simple_xx() API 2024-01-03 12:21:36 -08:00
btt.c block: move integrity information into queue_limits 2024-06-14 10:20:07 -06:00
btt.h nvdimm-btt: convert to blk_alloc_disk/blk_cleanup_disk 2021-06-01 07:42:23 -06:00
bus.c nvdimm: make nvdimm_bus_type const 2024-02-12 15:04:21 -07:00
claim.c libnvdimm: Cleanup include of badblocks.h 2020-12-15 21:47:45 -08:00
core.c nvdimm: remove nd_integrity_init 2024-04-25 12:37:12 -07:00
dax_devs.c nvdimm: Remove usage of the deprecated ida_simple_xx() API 2024-01-03 12:21:36 -08:00
dimm_devs.c nvdimm/dimm_devs: fix kernel-doc for function params 2024-01-03 12:21:36 -08:00
dimm.c libnvdimm: Make remove callback return void 2021-02-16 19:35:29 -08:00
e820.c
Kconfig libnvdimm: Fix ACPI_NFIT in BLK_DEV_PMEM help 2024-02-12 14:32:25 -07:00
label.c nvdimm/region: Delete nd_blk_region infrastructure 2022-03-11 15:53:13 -08:00
label.h nvdimm/region: Delete nd_blk_region infrastructure 2022-03-11 15:53:13 -08:00
Makefile drivers/nvdimm: Fix build failure when CONFIG_PERF_EVENTS is not set 2022-03-23 12:17:36 -07:00
namespace_devs.c nvdimm/namespace: fix kernel-doc for function params 2024-01-03 12:21:36 -08:00
nd_perf.c nvdimm: Fix dereference after free in register_nvdimm_pmu() 2023-08-17 09:34:03 -07:00
nd_virtio.c virtio_pmem: add the missing REQ_OP_WRITE for flush bio 2023-07-19 08:44:36 -07:00
nd-core.h cxl for v6.3 2023-02-25 09:19:23 -08:00
nd.h nvdimm: remove nd_integrity_init 2024-04-25 12:37:12 -07:00
of_pmem.c libnvdimm/of_pmem: Use devm_kstrdup instead of kstrdup and check its return value 2023-09-27 10:33:47 -07:00
pfn_devs.c nvdimm: Remove usage of the deprecated ida_simple_xx() API 2024-01-03 12:21:36 -08:00
pfn.h
pmem.c - Sumanth Korikkar has taught s390 to allocate hotplug-time page frames 2024-03-14 17:43:30 -07:00
pmem.h dax: introduce DAX_RECOVERY_WRITE dax access mode 2022-05-16 13:35:56 -07:00
region_devs.c libnvdimm: Annotate struct nd_region with __counted_by 2023-09-27 10:33:47 -07:00
region.c nvdimm/region: Move cache management to the region driver 2022-12-02 23:52:32 -08:00
security.c nvdimm/region: Move cache management to the region driver 2022-12-02 23:52:32 -08:00
virtio_pmem.c nvdimm: virtio_pmem: drop owner assignment 2024-05-22 08:31:18 -04:00
virtio_pmem.h