From 1efaaedcce0c880464583f133a9f91f8d126f14a Mon Sep 17 00:00:00 2001 From: 13914885250 <shanyongheng3@huawei.com> Date: Tue, 20 Aug 2024 17:33:10 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=84=E7=95=99=E7=B1=BB=E5=9E=8B=E7=94=B16?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=B8=BA5=EF=BC=88=E5=8F=AA=E9=99=90?= =?UTF-8?q?=E5=88=B6=E5=86=99=EF=BC=8C=E4=B8=8D=E9=99=90=E5=88=B6=E8=AF=BB?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/dss_io_fence.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/common/dss_io_fence.c b/src/common/dss_io_fence.c index ab0ae07..b503fea 100644 --- a/src/common/dss_io_fence.c +++ b/src/common/dss_io_fence.c @@ -78,6 +78,7 @@ status_t dss_iof_kick_one_volume(char *dev, int64 rk, int64 rk_kick, ptlist_t *r reg_info.rk = rk; reg_info.rk_kick = rk_kick; reg_info.dev = dev; + reg_info,type = RESERV_TYPE_REGISTER_WRITE; is_reg = dss_iof_is_register(dev, rk, regs); if (!is_reg) { @@ -97,10 +98,14 @@ status_t dss_iof_kick_one_volume(char *dev, int64 rk, int64 rk_kick, ptlist_t *r status = cm_iof_kick(®_info); if (status != CM_SUCCESS) { - LOG_DEBUG_ERR( - "[FENCE][KICK] kick dev failed, org rk %lld, org sark %lld, dev %s.", reg_info.rk, reg_info.rk_kick, - reg_info.dev); - return status; + // To be compatible with the earlier version, use type 6 to try again. + reg_info,type = RESERV_TYPE_REGISTER_ACCESS; + status = cm_iof_kick(®_info); + if (status != CM_SUCCESS) { + LOG_DEBUG_ERR("[FENCE][KICK] kick dev failed, org rk %lld, org sark %lld, dev %s.", reg_info.rk, + reg_info.rk_kick, reg_info.dev); + return status; + } } #endif return CM_SUCCESS; @@ -236,6 +241,8 @@ status_t dss_iof_register_single(int64 rk, char *dev) iof_reg_out_t reg_info; reg_info.rk = rk; reg_info.dev = dev; + reg_info,type = RESERV_TYPE_REGISTER_WRITE; + status_t ret = cm_iof_register(®_info); if (ret != CM_SUCCESS) { if (ret != CM_IOF_ERR_DUP_OP) { -- Gitee