为什么 udisksctl 循环设置如此慢?

为什么 udisksctl 循环设置如此慢?

乌迪斯克斯克特尔

$ time udisksctl loop-setup -f Windows.iso                                       
Mapped file Windows.iso as /dev/loop0.

real    3m0.784s
user    0m0.015s
sys     0m0.010s

丢失设置

# time losetup -f Windows.iso

real    0m0.009s
user    0m0.001s
sys     0m0.004s

我需要使用它,udisksctl因为它不需要root。然而,我对它的抱怨是,与losetup它相比,它非常慢。但我确实想指出,udisksctl很少有人像现在这样立即安装它losetup;但我不知道为什么。mount带有选项的命令也-o loop非常快,例如losetup.

我做了一个straceudisksctl它似乎花费了几乎所有的时间进行投票,正如我根据测量所猜测的那样time

poll([{fd=8, events=POLLIN}], 1, -1)    = 1 ([{fd=8, revents=POLLIN}])
read(8, "\1\0\0\0\0\0\0\0", 16)         = 8
poll([{fd=8, events=POLLIN}], 1, -1

无论如何,我可以加快速度,或者至少可以使用其他一些非 root 工具吗?另外,其他人是否也经历过类似的结果?

相关内容