Intereting Posts
Как я могу * автоматически * создавать резервные копии моих контактов в Google Contacts / Gmail? Почему вывод «столбца» смещен с помощью цветного ввода ANSI? Сценарий для замены всех символических ссылок на цель для указания на другую цель (в том же каталоге) Проблемы с установкой DEbian 8.2 (Jessie) на компьютере msi (во время сетевой установки) Ссылка на использование интерактивной команды: обычно ли вы используете Unix? Linux ssh запускает графическое приложение и оставляет его запущенным? Является ли использование исходного файла, уже полученного в родительском скрипте, необязательным? grep верхнего вывода дает смешные символы при перенаправлении в файл альтернатива крупномасштабной трекеру для серверных файловых систем разрешение на пользователя, добавленного локально Разница между cat и '>', чтобы обнулить файл Как установить аппаратные зависимости в .deb-пакеты? В linux, как удалить все файлы ЗА ИСКЛЮЧЕНИЕМ шаблона * .txt? Просмотрите изменения в .tex-файлах Как «find -exec» передает имена файлов с пробелами?

fdisk зависает на «Синхронизация диска» при изменении размера исходного изображения QEMU

Я использую fdisk для изменения размеров разделов на необработанном изображении QEMU. Когда я пишу новую таблицу разделов, она зависает на «Синхронизирующие диски».

Обратите внимание, что я запускаю fdisk как non-root, так как мне не нужен root для редактирования файла изображения.

Что может привести к тому, что «Синхронизирующие диски» будут висеть так?

После печати сообщения «Синхронизирующий диск» fdisk вызывает синхронизацию (2) syscall, что заставляет все буферизованные модификации метаданных файлов и данных записываться в базовые файловые системы. Ожидается, что эта операция может занять некоторое время, но она не должна вечно вешать. Если это так, вы можете увидеть, в какой функции в ядре он зависает в / proc / FDISK_PID / stack.

Вопрос в том, почему fdisk вызывает sync () во время работы с файлом изображения (а не с реальным устройством). Это не нужно ИМХО.

Возможное обходное решение:
У меня была та же проблема, и вокруг нее было использовать sfdisk вместо fdisk . Вы обнаружите, что можете делать все, что может сделать sfdisk fdisk.

Например, вместо того, чтобы делать:

  fdisk $image <<FDISK p d $partition n p $partition $start p w FDISK 

Я сделал:

 echo ",+," | sfdisk -N2 $image 

Внезапно нет проблем с синхронизацией.