什么是“请求缓存数据失败”警告?

什么是“请求缓存数据失败”警告?

我正在戴尔笔记本电脑上安装 Ubuntu 服务器 12.04,并且经常收到如下消息:

3256.362200] sd 5:0:0:0: [sdb] Asking for cache data failed
[3256.362200] sd 5:0:0:0: [sdb] Assuming drive cache : write through

此消息是什么意思以及如何删除它?

答案1

什么是请求缓存数据失败假设驱动器缓存:直写消息的意思是什么?

  • 硬盘具有少量 RAM 缓存,用于加速写入操作。系统可以将一大块数据写入磁盘缓存,而无需真正等待它写入​​磁盘。这有时称为“写回”模式。

    • 如果磁盘上没有缓存,则数据将以“直写”模式直接写入磁盘。
  • 请求缓存数据失败此警告通常发生在 USB 闪存驱动器、USB 读卡器等设备上,这些设备在系统中显示为 SCSI 设备 ( sdX),但没有缓存。

    • 系统询问设备:“您有缓存吗?”,但没有得到响应。因此,系统假设没有缓存,并将其置于“直写”模式。

答案2

漏洞规避

该漏洞似乎与许多计算机所配备的闪存卡读卡器有关。如果您有这样的读卡器但又不使用它,那么您可以使用 Neal McBurnett 提供的规避方法这里,来自 Matthew Kaulfers 在他的回答中贴心地附上的错误报告。

sudo rmmod ums_realtek

这种规避方法对我的笔记本电脑有效。

答案3

这是一个已报告的错误,你需要去这里找到它。

答案4

在 5 月份早些时候的 Ask Ubuntu 问题中也曾提出并回答过这个问题: dmesg 中的错误 - 测试 WP 失败,假设已启用写入

如果最初卸载驱动程序然后在每次需要阅读器时重新加载它不是一个合适的解决方案,我建议为ss_en=0驱动程序指定选项,就像我最初在这个答案

总结一下这个答案:

  • 执行完以下操作后,可以手动加载模块rmmodsudo modprobe ums_realtek ss_en=0
  • /etc/modules或者在with中指定它ums_realtek ss_en=0 以使此更改永久生效。

相关内容