target: Fix R_HOLDER bit usage for AllRegistrants
authorNicholas Bellinger <nab@linux-iscsi.org>
Sun, 14 Dec 2014 09:47:19 +0000 (01:47 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 26 Mar 2015 14:01:02 +0000 (15:01 +0100)
commitdba66c1550f751179776b8d2a86fa06203e54e7d
tree2027f5cef65ed9a3b3aa8862a25aa6364716f986
parent3bb09afbcef61767194ef3792755e38265915cd9
target: Fix R_HOLDER bit usage for AllRegistrants

commit d16ca7c5198fd668db10d2c7b048ed3359c12c54 upstream.

This patch fixes the usage of R_HOLDER bit for an All Registrants
reservation in READ_FULL_STATUS, where only the registration who
issued RESERVE was being reported as having an active reservation.

It changes core_scsi3_pri_read_full_status() to check ahead of the
list walk of active registrations to see if All Registrants is active,
and if so set R_HOLDER bit and scope/type fields for all active
registrations.

Reported-by: Ilias Tsitsimpis <i.tsitsimpis@gmail.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/target/target_core_pr.c