Я пишу make-файл, который в какой-то момент создает файлы изображений. Я использую losetup -f в файле, чтобы найти устройство свободного цикла при построении каждого изображения. Поскольку изображения не зависят друг от друга, я бы хотел иметь возможность make -j параллельно. К сожалению, когда я это делаю, losetup -f возвращает одно и то же устройство всем изображениям, поскольку команда выполняется почти в одно и то же время для каждого изображения. Кто-нибудь знает, как я могу обойти это?

1 ответ1

0

Я столкнулся с той же проблемой, что и вы, и обнаружил следующий отчет об ошибках в трекере ошибок хрома, в котором также описано, как его исправить: 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 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .