From: Nicholas Bellinger Date: Mon, 15 Dec 2014 19:50:26 +0000 (-0800) Subject: target: Avoid dropping AllRegistrants reservation during unregister X-Git-Tag: omap-for-v3.19/fixes-rc1~19^2~4 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6c3c9baa0debeb4bcc52a78c4463a0a97518de10;p=pandora-kernel.git 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 Cc: James Bottomley Signed-off-by: Nicholas Bellinger --- Reading git-diff-tree failed