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)
committerNicholas Bellinger <nab@linux-iscsi.org>
Tue, 16 Dec 2014 04:38:33 +0000 (20:38 -0800)
commitd16ca7c5198fd668db10d2c7b048ed3359c12c54
tree84f8eafe8c51c3489634ec1d34cea209c74cda7f
parentee8e3ad96e04749aa043c7fcb7fe6a562f8b9c48
target: Fix R_HOLDER bit usage for AllRegistrants

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>
drivers/target/target_core_pr.c