BTRFS 清理是否检查子卷或子卷所在的设备?

BTRFS 清理是否检查子卷或子卷所在的设备?

Btrfsscrub将挂载点作为其目标。我们可以通过以下方式识别可能的 btrfs 目标:

while read d m t x
do
  [[ $t != "btrfs" ]] && continue
  echo "To be scrubbed: $m"
done < /proc/mounts

但是,我们可以像普通设备一样挂载 btrfs 子卷。由于我们可以在同一设备上拥有许多子卷,因此使用 btrfs 文件系统类型清理所有挂载点可能会导致许多重复检查。

如果btrfs scrub在给定安装点时检查底层设备,我们可以/proc/mounts按设备路径过滤唯一的输出:

<(cat /proc/mounts | sort -u -k1,1)

清理是针对每个设备还是每个子卷运行?

答案1

正如所指出的文档,scrap 命令在整个文件系统上运行。这是指使用 mkfs 创建的整个文件系统。虽然子卷可以单独挂载,它们仍然是主文件系统的一部分,一些选项和操作(例如清理)仅对整个文件系统有效,而不仅仅是特定的子卷:

子卷属于单个文件系统,并且现在实现的所有子卷都共享相同的特定安装选项

相关内容