mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
block: Prepare for NULL BDS
blk_bs() will not necessarily return a non-NULL value any more (unless blk_is_available() is true or it can be assumed to otherwise, e.g. because it is called immediately after a successful blk_new_with_bs() or blk_new_open()). Signed-off-by: Max Reitz <mreitz@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
0c3c36d651
commit
5433c24f0f
6 changed files with 154 additions and 72 deletions
|
@ -931,9 +931,11 @@ static int blk_connect(struct XenDevice *xendev)
|
|||
blk_attach_dev_nofail(blkdev->blk, blkdev);
|
||||
blkdev->file_size = blk_getlength(blkdev->blk);
|
||||
if (blkdev->file_size < 0) {
|
||||
BlockDriverState *bs = blk_bs(blkdev->blk);
|
||||
const char *drv_name = bs ? bdrv_get_format_name(bs) : NULL;
|
||||
xen_be_printf(&blkdev->xendev, 1, "blk_getlength: %d (%s) | drv %s\n",
|
||||
(int)blkdev->file_size, strerror(-blkdev->file_size),
|
||||
bdrv_get_format_name(blk_bs(blkdev->blk)) ?: "-");
|
||||
drv_name ?: "-");
|
||||
blkdev->file_size = 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue