On Sun, 2012-05-13 at 23:39 +0200, Bernhard Kohl wrote: > The reservation must not be released if it is hold by a different ISID. > > Signed-off-by: Bernhard Kohl <bernhard.kohl@xxxxxxx> > --- > drivers/target/target_core_pr.c | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/drivers/target/target_core_pr.c b/drivers/target/target_core_pr.c > index eb48b15..5fd4dd3 100644 > --- a/drivers/target/target_core_pr.c > +++ b/drivers/target/target_core_pr.c > @@ -214,6 +214,9 @@ int target_scsi2_reservation_release(struct se_cmd *cmd) > if (dev->dev_reserved_node_acl != sess->se_node_acl) > goto out_unlock; > > + if (dev->dev_res_bin_isid != sess->sess_bin_isid) > + goto out_unlock; > + > dev->dev_reserved_node_acl = NULL; > dev->dev_flags &= ~DF_SPC2_RESERVATIONS; > if (dev->dev_flags & DF_SPC2_RESERVATIONS_WITH_ISID) { Hi Bernhard, I'm not sure if the iSCSI ISID check here really makes any difference with legacy SPC-2 reservations, because ISIDs from different sessions to the same iSCSI target endpoint are still going to be using the same sess->se_node_acl pointer for different ISIDs to same InitiatorName.. Do you have a use-case where this patch is really required..? --nab -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html