• Pankaj Raghav's avatar
    nvme: fix the read-only state for zoned namespaces with unsupposed features · 726be2c7
    Pankaj Raghav authored
    commit 2f4c9ba2 ("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 73d90386 ("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: 73d90386 ("nvme: cleanup zone information initialization")
    Signed-off-by: default avatarPankaj Raghav <p.raghav@samsung.com>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    726be2c7
core.c 128 KB