btrfs 清理状态 no_csum

Pen*_*gon 7 btrfs

我用两个磁盘创建了一个 btrfs raid 1 镜像,在添加了一堆文件后,我运行了一次清理。该命令btrfs scrub status <dir>报告它以 0 个错误结束。但是,btrfs scrub status -R <dir>显示:

data_extents_scrubbed: 13887259
tree_extents_scrubbed: 61886
data_bytes_scrubbed: 906996514816
tree_bytes_scrubbed: 1013940224
read_errors: 0
csum_errors: 0
verify_errors: 0
no_csum: 54400
csum_discards: 0
super_errors: 0
malloc_errors: 0
uncorrectable_errors: 0
unverified_errors: 0
corrected_errors: 0
last_physical: 912854614016
Run Code Online (Sandbox Code Playgroud)

特别是,no_csum价值看起来有点令人担忧。如果 btrfs 需要修复任何数据,这是否会导致问题,或者这是否正常且符合预期?

小智 0

no_csum,或缺少校验和意味着无法应用校验和计算的文件数。nodatasum可以使用属性或来禁用文件、目录或分区的校验和计算nodatacow

此外,值得查看@SIGSEGV 在评论中提到的 BTRFS 邮件列表中的讨论。BTRFS 使用可用空间缓存,这是nodatacow设计使然,并且通过命令进行计数btrfs scrub