Todd Fleisher <t...@fleetstreetops.com> writes: > I get this periodically (seemingly random - but usually once it starts > happening it sticks around for a while, then disappears only to return later) > when I'm using LSI's MegaCli64 utility. When the kernel logs the error the > MegaCli64 command doesn't return any data either. > > Ex: > root@deb015.pod02:~# MegaCli64 -PDList -aALL > > > Exit Code: 0x00 > > > Which is paired with a kernel message: > Nov 20 20:29:50 deb015 kernel: [797020.797811] megasas: Failed to alloc > kernel SGL buffer for IOCTL > > Other times that same command (or other MegaCli64 commands) will succeed and > return the associated data. When this happens, there is no megasas kernel > message.
Thanks. I don't know what the MegaCli64 utility does, but I assume it use the driver specific ioctls to send passthrough commands like the smartmontools do. That is consistent with your description. But I was concluding too fast as usual. The bug I found needs to be fixed, but it cannot be the cause of this problem. If it were then you would most likely see many other effects on your system. And the same bug has been backported to 2.6.32 as well. And if if had not been, and you are in fact hit by it, then your system would have crashed instead. So that cannot be the problem. And then I don't know what could have changed between 2.6.32 and 3.2. Could be something outside this driver. It would be interesting to know something about the size of the buffers which cannot be allocated. But running with debug pacthes is maybe out of the question? Otherwise you could try running with something like this to get a better picture of why this is failing: diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c index f013432..1c0fa1d 100644 --- a/drivers/scsi/megaraid/megaraid_sas_base.c +++ b/drivers/scsi/megaraid/megaraid_sas_base.c @@ -4797,6 +4797,7 @@ megasas_mgmt_fw_ioctl(struct megasas_instance *instance, if (!kbuff_arr[i]) { printk(KERN_DEBUG "megasas: Failed to alloc " "kernel SGL buffer for IOCTL \n"); + printk(KERN_DEBUG "megasas: iov_len=%d\n", ioc->sgl[i].iov_len); error = -ENOMEM; goto out; } Bjørn -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org