[dm-devel] info on enabling only one path with rdac and DS4700
Gianluca Cecchi
gianluca.cecchi at gmail.com
Mon Nov 28 20:13:55 UTC 2011
On Mon, Nov 28, 2011 at 7:05 PM, Moger, Babu wrote:
>>
>>
>> the kernel is latest from RH EL 5.7 + updates:
>> 2.6.18-274.7.1.el5
>>
>> I'm going to check with its kernel-source to see it the patch is
>> applied or not...
>
> RHEL 5.7 has the patch already as I know. You can check to be sure. Can you also add "scsi_mod.scsi_logging_level=5056" in kernel line to get more information on what else is going on.
Ok, I have verified that the patch should be applied.
Downloaded kernel-2.6.18-274.7.1.el5.src.rpm
and in spec file I can find referral to
kernel-2.6.18-redhat.patch
that contains this inside section
--- linux-2.6.18.4/drivers/scsi/device_handler/scsi_dh_rdac.c
+++ linux-2.6.18-redhat/drivers/scsi/device_handler/scsi_dh_rdac.c
...
+static int check_ownership(struct scsi_device *sdev, struct rdac_dh_data *h)
+{
+ int err;
+ struct c9_inquiry *inqp;
+
+ h->lun_state = RDAC_LUN_UNOWNED;
+ h->state = RDAC_STATE_ACTIVE;
+ err = submit_inquiry(sdev, 0xC9, sizeof(struct c9_inquiry), h);
+ if (err == SCSI_DH_OK) {
+ inqp = &h->inq.c9;
+ if ((inqp->avte_cvp >> 7) == 0x1) {
+ /* LUN in AVT mode */
+ sdev_printk(KERN_NOTICE, sdev,
+ "%s: AVT mode detected\n",
+ RDAC_NAME);
+ h->lun_state = RDAC_LUN_AVT;
+ } else if ((inqp->avte_cvp & 0x1) != 0) {
+ /* LUN was owned by the controller */
+ h->lun_state = RDAC_LUN_OWNED;
+ }
+ }
+
+ if (h->lun_state == RDAC_LUN_UNOWNED)
+ h->state = RDAC_STATE_PASSIVE;
+ return err;
+}
+
So I'm going to add the scsi logging parameter you suggested and see.
More information about the dm-devel
mailing list