diff options
| author | Nicholas Bellinger <nab@linux-iscsi.org> | 2014-12-15 14:50:26 -0500 |
|---|---|---|
| committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2014-12-15 23:38:34 -0500 |
| commit | 6c3c9baa0debeb4bcc52a78c4463a0a97518de10 (patch) | |
| tree | 73ff0c1adb684784f2e2d6ca4ca2977ccc2e5a93 /tools/perf/util/scripting-engines/trace-event-perl.c | |
| parent | d16ca7c5198fd668db10d2c7b048ed3359c12c54 (diff) | |
target: Avoid dropping AllRegistrants reservation during unregister
This patch fixes an issue with AllRegistrants reservations where
an unregister operation by the I_T nexus reservation holder would
incorrectly drop the reservation, instead of waiting until the
last active I_T nexus is unregistered as per SPC-4.
This includes updating __core_scsi3_complete_pro_release() to reset
dev->dev_pr_res_holder with another pr_reg for this special case,
as well as a new 'unreg' parameter to determine when the release
is occuring from an implicit unregister, vs. explicit RELEASE.
It also adds special handling in core_scsi3_free_pr_reg_from_nacl()
to release the left-over pr_res_holder, now that pr_reg is deleted
from pr_reg_list within __core_scsi3_complete_pro_release().
Reported-by: Ilias Tsitsimpis <i.tsitsimpis@gmail.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'tools/perf/util/scripting-engines/trace-event-perl.c')
0 files changed, 0 insertions, 0 deletions
