![“GEOM_MIRROR:由于 ada0 取消未映射”](https://linux22.com/image/802590/%E2%80%9CGEOM_MIRROR%EF%BC%9A%E7%94%B1%E4%BA%8E%20ada0%20%E5%8F%96%E6%B6%88%E6%9C%AA%E6%98%A0%E5%B0%84%E2%80%9D.png)
最近将我的 FreeBSD 安装从 9-stable 分支升级到 FreeBSD 9.1-stable。我有两个 SATA 硬盘驱动器(/dev/ada0、/dev/ada1),它们位于 geom 镜像中,中间没有任何内容 : [/dev/ada0, /dev/ada1] --> /dev/mirror/gm0
,然后我为 root 等进行了分区。
从 9.0-stable 升级到 9.1-stable 后,我在控制台上发现了这些消息:
GEOM_MIRROR: cancelling unmapped because of ada0
GEOM_MIRROR: cancelling unmapped because of ada1
GEOM_MIRROR: Device mirror/gm0 launched (2/2).
一切似乎仍正常运转,镜子看起来很健康,机器运转良好,性能良好。
答案1
根据FreeBSD 10 的新功能,'未映射的 vmio' 缓冲区即将出现在 FreeBSD 中,作为一种性能优势,而且似乎 9-stable 中的 geom 代码已经获得了对它的一些支持。
根据提交r252010,geom 镜像提供程序正在尝试使用未映射的 vmio,但不能,因为我的 SATA 磁盘的 ada 提供程序尚未提供对它的支持:
/* A provider underneath us doesn't support unmapped */
if ((dp->flags & G_PF_ACCEPT_UNMAPPED) == 0) {
G_MIRROR_DEBUG(0, "cancelling unmapped "
"because of %s\n", dp->name);
pp->flags &= ~G_PF_ACCEPT_UNMAPPED;
}
因此,似乎可以安全地忽略此错误,并且一旦通用未映射的 vmio 缓冲区支持集成到 FreeBSD 中,该错误可能就会消失