scsi: fix error break when checking SCSI reservation

We should return for the registrant case when the reservation holder
exists.

Change-Id: Ie3cf31554eafdad03294aef2eeb6eaef1536b8c3
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/460305
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Liang Yan <liang.z.yan@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
This commit is contained in:
Changpeng Liu 2019-07-03 04:15:11 -04:00 committed by Darek Stojaczyk
parent c47d6541e0
commit bdb90726ee

View File

@ -789,7 +789,7 @@ spdk_scsi_pr_check(struct spdk_scsi_task *task)
"is not registered, cdb 0x%x\n", cdb[0]);
goto conflict;
}
break;
return 0;
case SPDK_SPC_PERSISTENT_RESERVE_OUT:
action = cdb[1] & 0x1f;
SPDK_DEBUGLOG(SPDK_LOG_SCSI, "CHECK: PR OUT action %u\n", action);
@ -802,7 +802,7 @@ spdk_scsi_pr_check(struct spdk_scsi_task *task)
SPDK_ERRLOG("CHECK: PR OUT action %u\n", action);
goto conflict;
}
break;
return 0;
case SPDK_SCSI_PR_OUT_REGISTER:
case SPDK_SCSI_PR_OUT_REG_AND_IGNORE_KEY:
return 0;