diff options
author | Kevin Wolf <kwolf@redhat.com> | 2014-04-11 19:16:36 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2014-04-30 11:05:00 +0200 |
commit | 8bfea15ddac3a0ae832f181653c36e020f24f007 (patch) | |
tree | a099d37af1dd602f2a8a41a4866f4e6f6ce02043 /block/raw-win32.c | |
parent | 5669b44de5b3b607a3a4749e0c8c5ddfd723e76b (diff) |
block: Unlink temporary files in raw-posix/win32
Instead of having unlink() calls in the generic block layer, where we
aren't even guarateed to have a file name, move them to those block
drivers that are actually used and that always have a filename. Gets us
rid of some #ifdefs as well.
The patch also converts bs->is_temporary to a new BDRV_O_TEMPORARY open
flag so that it is inherited in the protocol layer and the raw-posix and
raw-win32 drivers can unlink the file.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'block/raw-win32.c')
-rw-r--r-- | block/raw-win32.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/block/raw-win32.c b/block/raw-win32.c index 48cb2c2258..064ea3123c 100644 --- a/block/raw-win32.c +++ b/block/raw-win32.c @@ -390,6 +390,9 @@ static void raw_close(BlockDriverState *bs) { BDRVRawState *s = bs->opaque; CloseHandle(s->hfile); + if (bs->open_flags & BDRV_O_TEMPORARY) { + unlink(bs->filename); + } } static int raw_truncate(BlockDriverState *bs, int64_t offset) |