block: Add missing bdrv_delete() for SG_IO BlockDriver in find_image_format()
This patch adds a missing bdrv_delete() call in find_image_format() so that a SG_IO BlockDriver properly releases the temporary BlockDriverState *bs created from bdrv_file_open() Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org> Reported-by: Chris Krumme <chris.krumme@windriver.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
86fa8da837
commit
1a39685910
4
block.c
4
block.c
@ -332,8 +332,10 @@ static BlockDriver *find_image_format(const char *filename)
|
|||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
/* Return the raw BlockDriver * to scsi-generic devices */
|
/* Return the raw BlockDriver * to scsi-generic devices */
|
||||||
if (bs->sg)
|
if (bs->sg) {
|
||||||
|
bdrv_delete(bs);
|
||||||
return bdrv_find_format("raw");
|
return bdrv_find_format("raw");
|
||||||
|
}
|
||||||
|
|
||||||
ret = bdrv_pread(bs, 0, buf, sizeof(buf));
|
ret = bdrv_pread(bs, 0, buf, sizeof(buf));
|
||||||
bdrv_delete(bs);
|
bdrv_delete(bs);
|
||||||
|
Loading…
Reference in New Issue
Block a user