Hi Lee, Apologies for the delayed response, just catching up from the holidays. Comments below. On Mon, 2015-01-05 at 10:49 -0800, Lee Duncan wrote: > From: Lee Duncan <lduncan@xxxxxxxx> > > For PGR reservation type Exclusive Access, allow all > registrants to read from the device. > > Signed-off-by: Lee Duncan <lduncan@xxxxxxxx> > Cc: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> > --- > drivers/target/target_core_pr.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/target/target_core_pr.c b/drivers/target/target_core_pr.c > index 85564998500a..cb762b174c08 100644 > --- a/drivers/target/target_core_pr.c > +++ b/drivers/target/target_core_pr.c > @@ -551,6 +551,18 @@ static int core_scsi3_pr_seq_non_holder( > > return 0; > } > + } else if (we && registered_nexus) { > + /* > + * Reads are allowed for Write Exclusive locks > + * from all registrants. > + */ > + if (cmd->data_direction == DMA_FROM_DEVICE) { > + pr_debug("Allowing READ CDB: 0x%02x for %s" > + " reservation\n", cdb[0], > + core_scsi3_pr_dump_type(pr_reg_type)); > + > + return 0; > + } > } > pr_debug("%s Conflict for %sregistered nexus %s CDB: 0x%2x" > " for %s reservation\n", transport_dump_cmd_direction(cmd), I'm confused as to why this is necessary.. Doesn't the conditional check directly above this one ensure that all_reg=true && registered_nexus=true implicitly allow READ CDBs to be processed..? How is this new check for PR_TYPE_WRITE_EXCLUSIVE_ALLREG reservation any different..? --nab -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html