[Feedback on issues] Bind Mount后,实际上在同一个分区下的文件move会先复制后删除
Tofloor
poster avatar
引栗先生
deepin
13 hours ago
Author

Bind Mount后,实际上在同一个分区下的文件move会先复制后删除。

fstab中有:

UUID=189d4720-3ae0-436c-94a0-aae7bf798282 /data ext4 rw,relatime 0 0

/data/lyl/Documents /home/lyl/Documents none bind 0 0

然后在执行把文件从/data/xxx/目录mv一个file.iso到/home/lyl/Documents,实际动作是先复制file.iso到/home/lyl/Documents目录,然后从/data/xxx目录下删除file.iso文件。file.iso文件有5.8G,耗时要好几十秒。

但是,

把文件从/data/xxx/目录mv一个file.iso到/data/lyl/Documents,实际动作就是毫秒级完成,看起来是改动了一个指向就完成了。

这是系统问题吗?

Reply Favorite View the author
All Replies
WangZhongyun
deepin
12 hours ago
#1

复制后的两个位置不在同一分区吧,是同一个硬盘吗?

Reply View the author
引栗先生
deepin
12 hours ago
#2
WangZhongyun

复制后的两个位置不在同一分区吧,是同一个硬盘吗?

同一个硬盘的同一个分区。

image.png

Reply View the author
WangZhongyun
deepin
11 hours ago
#3
引栗先生

同一个硬盘的同一个分区。

image.png

把操作顺序换一下试试

Reply View the author
引栗先生
deepin
11 hours ago
#4
WangZhongyun

把操作顺序换一下试试

这不是操作顺序问题,是只要从/home发起到/data的mv,或者反过来也是有问题的。就是把/data/下的目录bind mount为/home目录后,系统无法识别其实/home目录下的目录和文件其实本来就在/data/下的子目录!!!

只有从/data到/data的mv才是毫秒级。

Reply View the author
WangZhongyun
deepin
10 hours ago
#5
引栗先生

这不是操作顺序问题,是只要从/home发起到/data的mv,或者反过来也是有问题的。就是把/data/下的目录bind mount为/home目录后,系统无法识别其实/home目录下的目录和文件其实本来就在/data/下的子目录!!!

只有从/data到/data的mv才是毫秒级。

既然home目录就在独立分区的data目录下,我建议就直接把home目录放在那分区一级目录下即与data目录同级,看是不是会快点。

Reply View the author