nvme-multipath: don't inherit LBA-related fields for the multipath node
authorChristoph Hellwig <hch@lst.de>
Thu, 21 Mar 2024 21:08:19 +0000 (07:08 +1000)
committerKeith Busch <kbusch@kernel.org>
Tue, 2 Apr 2024 15:06:55 +0000 (08:06 -0700)
commitac229a2d0939edfb469310c55b16d9321a858a46
tree0a2f60e14410cfd700923fe64203acc6714ae9cb
parent22d24a544b0d49bbcbd61c8c0eaf77d3c9297155
nvme-multipath: don't inherit LBA-related fields for the multipath node

Linux 6.9 made the nvme multipath nodes not properly pick up changes when
the LBA size goes smaller after an nvme format.  This is because we now
try to inherit the queue settings for the multipath node entirely from
the individual paths.  That is the right thing to do for I/O size
limitations, which make up most of the queue limits, but it is wrong for
changes to the namespace configuration, where we do want to pick up the
new format, which will eventually show up on all paths once they are
re-queried.

Fix this by not inheriting the block size and related fields and always
for updating them.

Fixes: 8f03cfa117e0 ("nvme: don't use nvme_update_disk_info for the multipath disk")
Reported-by: Nilay Shroff <nilay@linux.ibm.com>
Tested-by: Nilay Shroff <nilay@linux.ibm.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
drivers/nvme/host/core.c