汇报一下几天折腾下来的结果:
1. data-csum 错误是确实存在的。不是 btrfs 乱报。原因是我之前那台电脑的内存不太稳定,可能是内存内存数据错误了,导致写入到硬盘的数据也是错误的。
2. btrfs 碰到这些错误的数据时,会向上层报 IO 错误。
3. btrfs 有个坑,当一个分区出现这个错误时,会引发另外一个分区正在进行中的 IO 任务失败,让另一个分区的写入被中断,留下另一个新的 data-csum 错误!
这个看起来是 btrfs 的一个天坑!大家用 btrfs 要尽量用 ecc 内存啊。
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 我使用`btrfs scrub start -Bd /home/`这条命令检查我的 home 分区。这是一个使用两块硬盘组成的 RAID1 分区。运行完没有报错。
: 但是我`umount /home/`,然后执行`btrfs check --check-data-sum -p /dev/sdb1`之后,却是报一大堆的 csum 错误。这是什么原因呢?能不能修复这些错误?
: worknas1:~ # btrfs check --check-data-csum -p /dev/sdb1
: ...................
--
FROM 121.205.117.*