]> git.baikalelectronics.ru Git - kernel.git/commit
scsi: Revert "target/core: Inline transport_lun_remove_cmd()"
authorBart Van Assche <bvanassche@acm.org>
Mon, 10 Feb 2020 05:12:02 +0000 (21:12 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 12 Feb 2020 23:49:39 +0000 (18:49 -0500)
commitc234a0c633b7969150d1a0664a881402fadaaaaa
tree51906595ade709e41efb4778e18ffb8300befd0b
parent900abd43b6d837ba70928a9ee9599ba3be1d2fb6
scsi: Revert "target/core: Inline transport_lun_remove_cmd()"

Commit 34aca3042c0a postponed the percpu_ref_put(&se_cmd->se_lun->lun_ref)
call from command completion to the time when the final command reference
is dropped. That approach is not compatible with the iSCSI target driver
because the iSCSI target driver keeps the command with the highest stat_sn
after it has completed until the next command is received (see also
iscsit_ack_from_expstatsn()). Fix this regression by reverting commit
34aca3042c0a.

Fixes: 34aca3042c0a ("scsi: target/core: Inline transport_lun_remove_cmd()")
Cc: Pavel Zakharov <pavel.zakharov@delphix.com>
Cc: Mike Christie <mchristi@redhat.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20200210051202.12934-1-bvanassche@acm.org
Reported-by: Pavel Zakharov <pavel.zakharov@delphix.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/target/target_core_transport.c