相关疑难解决方法(0)

如何验证文件副本是 reflink/CoW?

我在玩 btrfs,它允许cp --reflink写时复制。其他程序,例如lxc-clone,也可能使用此功能。我的问题是,如何判断一个文件是否是另一个文件的 CoW?就像硬链接一样,我可以从 inode 编号看出。

file-copy btrfs

10
推荐指数
3
解决办法
3353
查看次数

如何确定 btrfs 上的文件是否为写时复制?

我知道,cp有一个--reflink选项来控制完整副本与副本上写的“副本”。

在 btrfs 上,我可以使用ls(或其他一些命令)来确定文件是否与另一个文件共享(在写时复制的意义上)某些存储?

编辑:@StéphaneChazelas 将我指向filefrag,但这对我来说失败了:

root@void:/tmp/mount# mount | tail -1
/tmp/back on /tmp/mount type btrfs (rw,relatime,space_cache)
root@void:/tmp/mount# df -h | tail -1
/dev/loop0       32M   13M   20M  38% /tmp/mount
root@void:/tmp/mount# ls -lh
total 8.0M
-rw-r--r-- 1 root root 8.0M Jan 19 08:43 one
root@void:/tmp/mount# cp --reflink=always one two
root@void:/tmp/mount# sync
root@void:/tmp/mount# ls -lh
total 16M
-rw-r--r-- 1 root root 8.0M Jan 19 08:43 one
-rw-r--r-- 1 root root 8.0M Jan 19 08:45 …
Run Code Online (Sandbox Code Playgroud)

linux coreutils btrfs

8
推荐指数
1
解决办法
3049
查看次数

是否有文件系统允许我在 O(1) 中的文件中间插入一些块?

假设

  • 我们有巨大的文件F
  • 我们喜欢把“围绕”寻求小号在O的新空(用零填充)块(1)时间(即无需重写所有布雷部分)
  • “around”意味着我们可以将s舍入到最近的文件系统块大小,并且要插入的块也可以是文件系统块大小

是否有允许这样的系统调用/文件系统?

如果没有,使用btrfs_clone此处提到)以及如何模仿这种行为是个好主意吗?

filesystems system-programming

8
推荐指数
1
解决办法
653
查看次数

列出指向 btrfs 上文件的引用链接文件名

给定 btrfs 文件系统上的路径/文件名,您如何查看同一文件的其他引用路径/文件名?

btrfs

5
推荐指数
0
解决办法
144
查看次数