]> git.baikalelectronics.ru Git - kernel.git/commit
nvme: fix the read-only state for zoned namespaces with unsupposed features
authorPankaj Raghav <p.raghav@samsung.com>
Tue, 22 Mar 2022 09:20:48 +0000 (10:20 +0100)
committerChristoph Hellwig <hch@lst.de>
Wed, 23 Mar 2022 08:19:17 +0000 (09:19 +0100)
commit7ccd27d554c1c3bce9e289431a9879a901f02bc7
tree6c5531969fc116be38f705fef287a52027f1d282
parent92ff84d5d9177f4170824415b14ad89f12d39cfa
nvme: fix the read-only state for zoned namespaces with unsupposed features

commit c3f71a6072cd ("nvme: export zoned namespaces without Zone Append
support read-only") marks zoned namespaces without append support
read-only.  It does iso by setting NVME_NS_FORCE_RO in ns->flags in
nvme_update_zone_info and checking for that flag later in
nvme_update_disk_info to mark the disk as read-only.

But commit d2b3e8601a3b ("nvme: cleanup zone information initialization")
rearranged nvme_update_disk_info to be called before
nvme_update_zone_info and thus not marking the disk as read-only.
The call order cannot be just reverted because nvme_update_zone_info sets
certain queue parameters such as zone_write_granularity that depend on the
prior call to nvme_update_disk_info.

Remove the call to set_disk_ro in nvme_update_disk_info. and call
set_disk_ro after nvme_update_zone_info and nvme_update_disk_info to set
the permission for ZNS drives correctly. The same applies to the
multipath disk path.

Fixes: d2b3e8601a3b ("nvme: cleanup zone information initialization")
Signed-off-by: Pankaj Raghav <p.raghav@samsung.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/core.c