On Sat, Aug 11, 2012 at 1:14 PM, Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> wrote: > This patch converts all block layer close calls, that correspond > to qemu_open calls, to qemu_close. > > Signed-off-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> > --- > v5: > -This patch is new in v5. (kwolf@xxxxxxxxxx, eblake@xxxxxxxxxx) > > v6-v9: > -No changes > > block/raw-posix.c | 24 ++++++++++++------------ > block/raw-win32.c | 2 +- > block/vmdk.c | 4 ++-- > block/vpc.c | 2 +- > block/vvfat.c | 12 ++++++------ > osdep.c | 5 +++++ > qemu-common.h | 1 + > savevm.c | 4 ++-- > 8 files changed, 30 insertions(+), 24 deletions(-) > > diff --git a/block/raw-posix.c b/block/raw-posix.c > index 08b997e..6be20b1 100644 > --- a/block/raw-posix.c > +++ b/block/raw-posix.c > @@ -271,7 +271,7 @@ static int raw_open_common(BlockDriverState *bs, const char *filename, > out_free_buf: > qemu_vfree(s->aligned_buf); > out_close: > - close(fd); > + qemu_close(fd); > return -errno; > } > > @@ -376,7 +376,7 @@ static void raw_close(BlockDriverState *bs) > { > BDRVRawState *s = bs->opaque; > if (s->fd >= 0) { > - close(s->fd); > + qemu_close(s->fd); > s->fd = -1; > if (s->aligned_buf != NULL) > qemu_vfree(s->aligned_buf); > @@ -580,7 +580,7 @@ static int raw_create(const char *filename, QEMUOptionParameter *options) > if (ftruncate(fd, total_size * BDRV_SECTOR_SIZE) != 0) { > result = -errno; > } > - if (close(fd) != 0) { > + if (qemu_close(fd) != 0) { > result = -errno; > } > } > @@ -850,7 +850,7 @@ static int hdev_open(BlockDriverState *bs, const char *filename, int flags) > if (fd < 0) { > bsdPath[strlen(bsdPath)-1] = '1'; > } else { > - close(fd); > + qemu_close(fd); > } > filename = bsdPath; > } > @@ -889,7 +889,7 @@ static int fd_open(BlockDriverState *bs) > last_media_present = (s->fd >= 0); > if (s->fd >= 0 && > (get_clock() - s->fd_open_time) >= FD_OPEN_TIMEOUT) { > - close(s->fd); > + qemu_close(s->fd); > s->fd = -1; > #ifdef DEBUG_FLOPPY > printf("Floppy closed\n"); > @@ -988,7 +988,7 @@ static int hdev_create(const char *filename, QEMUOptionParameter *options) > else if (lseek(fd, 0, SEEK_END) < total_size * BDRV_SECTOR_SIZE) > ret = -ENOSPC; > > - close(fd); > + qemu_close(fd); > return ret; > } > > @@ -1038,7 +1038,7 @@ static int floppy_open(BlockDriverState *bs, const char *filename, int flags) > return ret; > > /* close fd so that we can reopen it as needed */ > - close(s->fd); > + qemu_close(s->fd); > s->fd = -1; > s->fd_media_changed = 1; > > @@ -1072,7 +1072,7 @@ static int floppy_probe_device(const char *filename) > prio = 100; > > outc: > - close(fd); > + qemu_close(fd); > out: > return prio; > } > @@ -1107,14 +1107,14 @@ static void floppy_eject(BlockDriverState *bs, bool eject_flag) > int fd; > > if (s->fd >= 0) { > - close(s->fd); > + qemu_close(s->fd); > s->fd = -1; > } > fd = qemu_open(bs->filename, s->open_flags | O_NONBLOCK); > if (fd >= 0) { > if (ioctl(fd, FDEJECT, 0) < 0) > perror("FDEJECT"); > - close(fd); > + qemu_close(fd); > } > } > > @@ -1175,7 +1175,7 @@ static int cdrom_probe_device(const char *filename) > prio = 100; > > outc: > - close(fd); > + qemu_close(fd); > out: > return prio; > } > @@ -1283,7 +1283,7 @@ static int cdrom_reopen(BlockDriverState *bs) > * FreeBSD seems to not notice sometimes... > */ > if (s->fd >= 0) > - close(s->fd); > + qemu_close(s->fd); > fd = qemu_open(bs->filename, s->open_flags, 0644); > if (fd < 0) { > s->fd = -1; > diff --git a/block/raw-win32.c b/block/raw-win32.c > index 8d7838d..c56bf83 100644 > --- a/block/raw-win32.c > +++ b/block/raw-win32.c > @@ -261,7 +261,7 @@ static int raw_create(const char *filename, QEMUOptionParameter *options) > return -EIO; > set_sparse(fd); > ftruncate(fd, total_size * 512); > - close(fd); > + qemu_close(fd); > return 0; > } > > diff --git a/block/vmdk.c b/block/vmdk.c > index 557dc1b..daee426 100644 > --- a/block/vmdk.c > +++ b/block/vmdk.c > @@ -1258,7 +1258,7 @@ static int vmdk_create_extent(const char *filename, int64_t filesize, > > ret = 0; > exit: > - close(fd); > + qemu_close(fd); > return ret; > } > > @@ -1506,7 +1506,7 @@ static int vmdk_create(const char *filename, QEMUOptionParameter *options) > } > ret = 0; > exit: > - close(fd); > + qemu_close(fd); > return ret; > } > > diff --git a/block/vpc.c b/block/vpc.c > index 60ebf5a..c0b82c4 100644 > --- a/block/vpc.c > +++ b/block/vpc.c > @@ -744,7 +744,7 @@ static int vpc_create(const char *filename, QEMUOptionParameter *options) > } > > fail: > - close(fd); > + qemu_close(fd); > return ret; > } > > diff --git a/block/vvfat.c b/block/vvfat.c > index 22b586a..59d3c5b 100644 > --- a/block/vvfat.c > +++ b/block/vvfat.c > @@ -1105,7 +1105,7 @@ static inline void vvfat_close_current_file(BDRVVVFATState *s) > if(s->current_mapping) { > s->current_mapping = NULL; > if (s->current_fd) { > - close(s->current_fd); > + qemu_close(s->current_fd); > s->current_fd = 0; > } > } > @@ -2230,7 +2230,7 @@ static int commit_one_file(BDRVVVFATState* s, > } > if (offset > 0) { > if (lseek(fd, offset, SEEK_SET) != offset) { > - close(fd); > + qemu_close(fd); > g_free(cluster); > return -3; > } > @@ -2251,13 +2251,13 @@ static int commit_one_file(BDRVVVFATState* s, > (uint8_t*)cluster, (rest_size + 0x1ff) / 0x200); > > if (ret < 0) { > - close(fd); > + qemu_close(fd); > g_free(cluster); > return ret; > } > > if (write(fd, cluster, rest_size) < 0) { > - close(fd); > + qemu_close(fd); > g_free(cluster); > return -2; > } > @@ -2268,11 +2268,11 @@ static int commit_one_file(BDRVVVFATState* s, > > if (ftruncate(fd, size)) { > perror("ftruncate()"); > - close(fd); > + qemu_close(fd); > g_free(cluster); > return -4; > } > - close(fd); > + qemu_close(fd); > g_free(cluster); > > return commit_mappings(s, first_cluster, dir_index); > diff --git a/osdep.c b/osdep.c > index c07faf5..7f876ae 100644 > --- a/osdep.c > +++ b/osdep.c > @@ -107,6 +107,11 @@ int qemu_open(const char *name, int flags, ...) > return ret; > } > > +int qemu_close(int fd) > +{ > + return close(fd); > +} > + > /* > * A variant of write(2) which handles partial write. > * > diff --git a/qemu-common.h b/qemu-common.h > index f16079f..e53126d 100644 > --- a/qemu-common.h > +++ b/qemu-common.h > @@ -207,6 +207,7 @@ const char *path(const char *pathname); > void *qemu_oom_check(void *ptr); > > int qemu_open(const char *name, int flags, ...); > +int qemu_close(int fd); > ssize_t qemu_write_full(int fd, const void *buf, size_t count) > QEMU_WARN_UNUSED_RESULT; > ssize_t qemu_send_full(int fd, const void *buf, size_t count, int flags) > diff --git a/savevm.c b/savevm.c > index 6e82b2d..8ecd5d2 100644 > --- a/savevm.c > +++ b/savevm.c > @@ -513,7 +513,7 @@ static void qemu_fill_buffer(QEMUFile *f) > * > * Returns f->close() return value, or 0 if close function is not set. > */ > -static int qemu_close(QEMUFile *f) > +static int _qemu_fclose(QEMUFile *f) Please don't introduce an identifier with a leading underscore. > { > int ret = 0; > if (f->close) { > @@ -535,7 +535,7 @@ int qemu_fclose(QEMUFile *f) > { > int ret; > qemu_fflush(f); > - ret = qemu_close(f); > + ret = _qemu_fclose(f); > /* If any error was spotted before closing, we should report it > * instead of the close() return value. > */ > -- > 1.7.10.4 > > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list