mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 05:02:12 +00:00
nvmet-fc: abort command when there is no binding
When the target port has not active port binding, there is no point in trying to process the command as it has to fail anyway. Instead adding checks to all commands abort the command early. Reviewed-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Daniel Wagner <dwagner@suse.de> Signed-off-by: Keith Busch <kbusch@kernel.org>
This commit is contained in:
parent
1c110588dd
commit
3146345c2e
@ -1099,6 +1099,9 @@ nvmet_fc_alloc_target_assoc(struct nvmet_fc_tgtport *tgtport, void *hosthandle)
|
||||
int idx;
|
||||
bool needrandom = true;
|
||||
|
||||
if (!tgtport->pe)
|
||||
return NULL;
|
||||
|
||||
assoc = kzalloc(sizeof(*assoc), GFP_KERNEL);
|
||||
if (!assoc)
|
||||
return NULL;
|
||||
@ -2514,8 +2517,9 @@ nvmet_fc_handle_fcp_rqst(struct nvmet_fc_tgtport *tgtport,
|
||||
|
||||
fod->req.cmd = &fod->cmdiubuf.sqe;
|
||||
fod->req.cqe = &fod->rspiubuf.cqe;
|
||||
if (tgtport->pe)
|
||||
fod->req.port = tgtport->pe->port;
|
||||
if (!tgtport->pe)
|
||||
goto transport_error;
|
||||
fod->req.port = tgtport->pe->port;
|
||||
|
||||
/* clear any response payload */
|
||||
memset(&fod->rspiubuf, 0, sizeof(fod->rspiubuf));
|
||||
|
Loading…
Reference in New Issue
Block a user