> -----Original Message----- > From: linux-scsi-owner@xxxxxxxxxxxxxxx [mailto:linux-scsi- > owner@xxxxxxxxxxxxxxx] On Behalf Of Moger, Babu > Sent: Friday, April 08, 2011 12:40 PM > To: linux-scsi@xxxxxxxxxxxxxxx; device-mapper development > Cc: Dachepalli, Sudhir; Qi, Yanling; Chauhan, Vijay; Stankey, Robert; > Arumugam, Anburaja; Krishnasamy, Somasundaram > Subject: [PATCH 3/3] scsi_dh_rdac : decide on whether to send mode > select or not based on operating mode > > Based on the operating modes, handler decides whether to send mode > select or not. Purpose here is to reduce > io-shipping as much as possible whenever there is an option. > > Signed-off-by: Babu Moger <babu.moger@xxxxxxx> > Reviewed-by: Yanling Qi <yanling.qi@xxxxxxx> > Reviewed-by: Sudhir Dachepalli <Sudhir.Dachepalli@xxxxxxx> > Reviewed-by: Somasundaram Krishnasamy <Somasundaram.Krishnasamy@xxxxxxx> > Reviewed-by: Bob Stankey <Robert.Stankey@xxxxxxx> > Reviewed-by: Vijay Chauhan <Vijay.Chauhan@xxxxxxx> Tested-by: Charles Cummins <Charles.cummins@xxxxxxx> > > --- > --- linux-2.6.38/drivers/scsi/device_handler/scsi_dh_rdac.c.orig 2011- > 03-17 16:57:51.000000000 -0500 > +++ linux-2.6.38/drivers/scsi/device_handler/scsi_dh_rdac.c 2011-03-17 > 16:59:11.000000000 -0500 > @@ -670,12 +670,27 @@ static int rdac_activate(struct scsi_dev > { > struct rdac_dh_data *h = get_rdac_data(sdev); > int err = SCSI_DH_OK; > + int act = 0; > > err = check_ownership(sdev, h); > if (err != SCSI_DH_OK) > goto done; > > - if (h->lun_state == RDAC_LUN_UNOWNED) { > + switch (h->mode) { > + case RDAC_MODE: > + if (h->lun_state == RDAC_LUN_UNOWNED) > + act = 1; > + break; > + case RDAC_MODE_IOSHIP: > + if ((h->lun_state == RDAC_LUN_UNOWNED) && > + (h->preferred == RDAC_PREFERRED)) > + act = 1; > + break; > + default: > + break; > + } > + > + if (act) { > err = queue_mode_select(sdev, fn, data); > if (err == SCSI_DH_OK) > return 0; > > > -- > 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 -- 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