提交 3425fbfe 编写于 作者: M Moger, Babu 提交者: James Bottomley

[SCSI] scsi_dh_rdac : decide whether to send mode select 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: NBabu Moger <babu.moger@lsi.com>
Reviewed-by: NYanling Qi <yanling.qi@lsi.com>
Reviewed-by: NSudhir Dachepalli <Sudhir.Dachepalli@lis.com>
Reviewed-by: NSomasundaram Krishnasamy <Somasundaram.Krishnasamy@lsi.com>
Reviewed-by: NBob Stankey <Robert.Stankey@lsi.com>
Reviewed-by: NVijay Chauhan <Vijay.Chauhan@lsi.com>
Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
上级 1c3afc42
......@@ -670,12 +670,27 @@ static int rdac_activate(struct scsi_device *sdev,
{
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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册