This commit enables the rescap function in the
namespace by detecting the supported reservation
function in the backend driver.
Signed-off-by: Changqi Lu <luchangqi.123@bytedance.com>
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
---
hw/nvme/ns.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/hw/nvme/ns.c b/hw/nvme/ns.c
index ea8db175db..68a18636fb 100644
--- a/hw/nvme/ns.c
+++ b/hw/nvme/ns.c
@@ -20,6 +20,7 @@
#include "qemu/bitops.h"
#include "sysemu/sysemu.h"
#include "sysemu/block-backend.h"
+#include "block/block_int.h"
#include "nvme.h"
#include "trace.h"
@@ -55,6 +56,12 @@ void nvme_ns_init_format(NvmeNamespace *ns)
}
id_ns->npda = id_ns->npdg = npdg - 1;
+
+ /* The persistent reservation capacities of block
+ * and nvme are currently defined the same.
+ * If there are subsequent changes, this part needs to be changed.
+ */
+ id_ns->rescap = blk_bs(ns->blkconf.blk)->file->bs->bl.pr_cap;
}
static int nvme_ns_init(NvmeNamespace *ns, Error **errp)
--
2.20.1