losetup 并行/并发查找

losetup 并行/并发查找

losetup -f我正在编写一个 makefile,在某个时候构建图像文件。我在文件中使用它来在构建每个图像时查找可用的循环设备。由于图像彼此独立,我希望能够make -j并行执行。不幸的是,当我这样做时,losetup -f会将相同的设备返回给所有图像,因为该命令几乎同时对每个图像执行。有人知道我可以解决这个问题的方法吗?

答案1

我遇到了与您相同的问题,并在 chromium 错误跟踪器中发现以下错误报告,其中还描述了如何修复它:https://code.google.com/p/chromium/issues/detail?id=201150

基本上,不仅打印下一个可用设备就足够了,还可以使用它并打印名称,以便之后可以删除它。

losetup(8)

-f, --find
    find the first  unused  loop  device.  If  a  file  argument  is present,
    use this device. Otherwise, print its name

--show
    print device name if the -f  option  and  a  file  argument  are present.

例如,这意味着losetup -f --show /foo/bar将打印/dev/loop1,并且还将循环设备与文件关联起来/foo/bar

相关内容