|
@@ -269,7 +269,7 @@ int sd_zbc_setup_reset_cmnd(struct scsi_cmnd *cmd)
|
|
|
return BLKPREP_OK;
|
|
|
}
|
|
|
|
|
|
-int sd_zbc_setup_write_cmnd(struct scsi_cmnd *cmd)
|
|
|
+int sd_zbc_write_lock_zone(struct scsi_cmnd *cmd)
|
|
|
{
|
|
|
struct request *rq = cmd->request;
|
|
|
struct scsi_disk *sdkp = scsi_disk(rq->rq_disk);
|
|
@@ -303,8 +303,9 @@ int sd_zbc_setup_write_cmnd(struct scsi_cmnd *cmd)
|
|
|
return BLKPREP_OK;
|
|
|
}
|
|
|
|
|
|
-static void sd_zbc_unlock_zone(struct request *rq)
|
|
|
+void sd_zbc_write_unlock_zone(struct scsi_cmnd *cmd)
|
|
|
{
|
|
|
+ struct request *rq = cmd->request;
|
|
|
struct scsi_disk *sdkp = scsi_disk(rq->rq_disk);
|
|
|
|
|
|
if (sdkp->zones_wlock) {
|
|
@@ -315,11 +316,6 @@ static void sd_zbc_unlock_zone(struct request *rq)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void sd_zbc_cancel_write_cmnd(struct scsi_cmnd *cmd)
|
|
|
-{
|
|
|
- sd_zbc_unlock_zone(cmd->request);
|
|
|
-}
|
|
|
-
|
|
|
void sd_zbc_complete(struct scsi_cmnd *cmd,
|
|
|
unsigned int good_bytes,
|
|
|
struct scsi_sense_hdr *sshdr)
|
|
@@ -333,7 +329,7 @@ void sd_zbc_complete(struct scsi_cmnd *cmd,
|
|
|
case REQ_OP_ZONE_RESET:
|
|
|
|
|
|
/* Unlock the zone */
|
|
|
- sd_zbc_unlock_zone(rq);
|
|
|
+ sd_zbc_write_unlock_zone(cmd);
|
|
|
|
|
|
if (!result ||
|
|
|
sshdr->sense_key != ILLEGAL_REQUEST)
|