mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-27 13:30:52 +00:00
qemu-io: delete bs instead of leaking it
Using bdrv_close() is not enough to free a BlockDriverState. Since we explicitly create it with bdrv_new(), use bdrv_delete() to close and delete it. Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
c95de7e2c4
commit
b46578555c
@ -1582,7 +1582,7 @@ static const cmdinfo_t map_cmd = {
|
||||
|
||||
static int close_f(int argc, char **argv)
|
||||
{
|
||||
bdrv_close(bs);
|
||||
bdrv_delete(bs);
|
||||
bs = NULL;
|
||||
return 0;
|
||||
}
|
||||
@ -1611,6 +1611,7 @@ static int openfile(char *name, int flags, int growable)
|
||||
|
||||
if (bdrv_open(bs, name, flags, NULL) < 0) {
|
||||
fprintf(stderr, "%s: can't open device %s\n", progname, name);
|
||||
bdrv_delete(bs);
|
||||
bs = NULL;
|
||||
return 1;
|
||||
}
|
||||
@ -1834,7 +1835,7 @@ int main(int argc, char **argv)
|
||||
qemu_aio_flush();
|
||||
|
||||
if (bs) {
|
||||
bdrv_close(bs);
|
||||
bdrv_delete(bs);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user