Jul 1 22:17:14 nosgoth kernel: [1382019.484038] megaraid_sas 0000:01:00.0: MR_DCMD_PD_LIST_QUERY failed/not supported by firmware
Jul 1 22:17:15 nosgoth kernel: [1382019.516031] megaraid_sas 0000:01:00.0: MR_DCMD_PD_LIST_QUERY failed/not supported by firmware
Jul 1 22:17:15 nosgoth kernel: [1382019.548076] megaraid_sas 0000:01:00.0: MR_DCMD_PD_LIST_QUERY failed/not supported by firmware
Jul 1 22:17:15 nosgoth kernel: [1382019.580026] megaraid_sas 0000:01:00.0: MR_DCMD_PD_LIST_QUERY failed/not supported by firmware
Jul 1 22:17:15 nosgoth kernel: [1382019.612047] megaraid_sas 0000:01:00.0: MR_DCMD_PD_LIST_QUERY failed/not supported by firmware
Jul 1 22:17:15 nosgoth kernel: [1382019.644054] megaraid_sas 0000:01:00.0: MR_DCMD_PD_LIST_QUERY failed/not supported by firmware
Jul 1 22:17:15 nosgoth kernel: [1382019.676055] megaraid_sas 0000:01:00.0: MR_DCMD_PD_LIST_QUERY failed/not supported by firmware
Jul 1 22:17:15 nosgoth kernel: [1382019.708081] megaraid_sas 0000:01:00.0: MR_DCMD_PD_LIST_QUERY failed/not supported by firmware
Jul 1 22:17:15 nosgoth kernel: [1382019.740061] megaraid_sas 0000:01:00.0: MR_DCMD_PD_LIST_QUERY failed/not supported by firmware
Jul 1 22:17:15 nosgoth kernel: [1382019.772074] megaraid_sas 0000:01:00.0: MR_DCMD_PD_LIST_QUERY failed/not supported by firmware
如您所见,它每秒发送数十次垃圾邮件,大概 20 或 30 次,而且似乎只有重新启动才能解决问题。重新启动有点昂贵,因为它是 dom0。当我运行 archlinux 内核时这不是问题,但似乎对于 ubuntu 使用的任何内核都是一个问题。
有没有什么解决办法?我在网上搜索时,除了驱动程序源代码外,什么也找不到。
Megaraid SAS 设备:
01:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 1078 (rev 04)
我不确定还有什么有用的东西,它是一台 Dell Poweredge 2900 服务器,连接有 SATA 驱动器。
服务器运行良好,只是内核向日志中发送了过多的垃圾信息。
编辑:“语言”,美国队长说。
答案1
这仍在进行中,并且最近为与 2 个 CVE 相关的 RedHat 进行了修补:(清晰度):此问题与 CVE 无关,相反,该补丁针对的是 2 个 CVE + 这个和几个错误修复。
https://rhn.redhat.com/errata/RHSA-2016-2006.html
(编辑)这似乎指向了这一点:https://lkml.org/lkml/2016/8/18/553
(编辑)我正在重新编译+测试内核,我会用补丁来托管它。
Oct 31 21:38:36 ohlookadell kernel: [943983.390883] megaraid_sas 0000:03:00.0: MR_DCMD_PD_LIST_QUERY failed/not supported by firmware
Oct 31 21:38:36 ohlookadell kernel: [943983.414877] megaraid_sas 0000:03:00.0: MR_DCMD_PD_LIST_QUERY failed/not supported by firmware
Oct 31 21:38:36 ohlookadell kernel: [943983.438801] megaraid_sas 0000:03:00.0: MR_DCMD_PD_LIST_QUERY failed/not supported by firmware
Oct 31 21:38:36 ohlookadell kernel: [943983.462982] megaraid_sas 0000:03:00.0: MR_DCMD_PD_LIST_QUERY failed/not supported by firmware
Oct 31 21:38:36 ohlookadell kernel: [943983.486832] megaraid_sas 0000:03:00.0: MR_DCMD_PD_LIST_QUERY failed/not supported by firmware
答案2
这是由驱动程序中的 megasas_get_pd_list() 函数发出的,请参阅 drivers/scsi/megaraid/megaraid_sas_base.c
if (instance->ctrl_context && !instance->mask_interrupts)
ret = megasas_issue_blocked_cmd(instance, cmd,
MFI_IO_TIMEOUT_SECS);
else
ret = megasas_issue_polled(instance, cmd);
switch (ret) {
case DCMD_FAILED:
dev_info(&instance->pdev->dev, "MR_DCMD_PD_LIST_QUERY "
"failed/not supported by firmware\n");
if (instance->ctrl_context)
megaraid_sas_kill_hba(instance);
else
instance->pd_list_not_supported = 1;
break;
....
我想知道将驱动程序内核参数 msix_disable 更改为 1 是否会改变行为。