Я хотел прочитать содержимое с .qcow2
использование изображения bdrv_pread(...)
функции в QEMU.
Скажем, полный путь моего изображения /path/to/myimage.qcow2
Я хочу иметь возможность считывать n байтов данных этого изображения с определенным смещением. Теперь bdrv_pread
функции принимает эти аргументыBlockDriverState *bs, int64_t offset, void *buf, int count1
‘, как именно я инициализирую BlockDriverState
(устройство?) от пути изображения. Все остальные параметры, кроме BlockDriverState
мне понятны.
Благодарю.
Если ваша цель — получить доступ к файлу qcow2 из вашей собственной программы, я бы порекомендовал не пытаться использовать функции QEMU. У них будет много состояний, связанных с QEMU, в которых нет необходимости, если все, что вы хотите сделать, это прочитать содержимое файла qcow2. Вместо этого вы можете посмотреть на спецификация qcow2 или если вы хотите работать на более высоком уровне абстракции, вы можете посмотреть на libguestfs библиотека, которая утверждает, что у нее есть API для доступа к поддерживаемым форматам дисков виртуальной машины (хотя я никогда не использовал ее сам). Вот пример кода Вот это может помочь вам начать.