* [Qemu-devel] [PATCH 0/2] block: Add qemu_dup in osdep.c and use it @ 2016-06-22 8:02 Fam Zheng 2016-06-22 8:02 ` [Qemu-devel] [PATCH 1/2] osdep: Introduce qemu_dup Fam Zheng 2016-06-22 8:02 ` [Qemu-devel] [PATCH 2/2] raw-posix: Use qemu_dup Fam Zheng 0 siblings, 2 replies; 7+ messages in thread From: Fam Zheng @ 2016-06-22 8:02 UTC (permalink / raw) To: qemu-devel; +Cc: Kevin Wolf, Max Reitz, qemu-block This is an independent tiny change extracted from the image locking series, which can be processed separately. Improved according to Kevin's suggestion in v6 image locking series. Fam Fam Zheng (2): osdep: Introduce qemu_dup raw-posix: Use qemu_dup block/raw-posix.c | 10 +--------- include/qemu/osdep.h | 3 +++ util/osdep.c | 23 +++++++++++++++-------- 3 files changed, 19 insertions(+), 17 deletions(-) -- 2.9.0 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Qemu-devel] [PATCH 1/2] osdep: Introduce qemu_dup 2016-06-22 8:02 [Qemu-devel] [PATCH 0/2] block: Add qemu_dup in osdep.c and use it Fam Zheng @ 2016-06-22 8:02 ` Fam Zheng 2016-06-22 12:27 ` Kevin Wolf 2016-06-22 15:18 ` Eric Blake 2016-06-22 8:02 ` [Qemu-devel] [PATCH 2/2] raw-posix: Use qemu_dup Fam Zheng 1 sibling, 2 replies; 7+ messages in thread From: Fam Zheng @ 2016-06-22 8:02 UTC (permalink / raw) To: qemu-devel; +Cc: Kevin Wolf, Max Reitz, qemu-block And use it in qemu_dup_flags. Signed-off-by: Fam Zheng <famz@redhat.com> --- include/qemu/osdep.h | 3 +++ util/osdep.c | 23 +++++++++++++++-------- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h index e63da28..7361006 100644 --- a/include/qemu/osdep.h +++ b/include/qemu/osdep.h @@ -278,6 +278,9 @@ int qemu_madvise(void *addr, size_t len, int advice); int qemu_open(const char *name, int flags, ...); int qemu_close(int fd); +#ifndef _WIN32 +int qemu_dup(int fd); +#endif #if defined(__HAIKU__) && defined(__i386__) #define FMT_pid "%ld" diff --git a/util/osdep.c b/util/osdep.c index ff004e8..c746e9f 100644 --- a/util/osdep.c +++ b/util/osdep.c @@ -83,14 +83,7 @@ static int qemu_dup_flags(int fd, int flags) int serrno; int dup_flags; -#ifdef F_DUPFD_CLOEXEC - ret = fcntl(fd, F_DUPFD_CLOEXEC, 0); -#else - ret = dup(fd); - if (ret != -1) { - qemu_set_cloexec(ret); - } -#endif + ret = qemu_dup(fd); if (ret == -1) { goto fail; } @@ -129,6 +122,20 @@ fail: return -1; } +int qemu_dup(int fd) +{ + int r; +#ifdef F_DUPFD_CLOEXEC + r = fcntl(fd, F_DUPFD_CLOEXEC, 0); +#else + r = dup(fd); + if (r != -1) { + qemu_set_cloexec(raw_s->fd); + } +#endif + return r; +} + static int qemu_parse_fdset(const char *param) { return qemu_parse_fd(param); -- 2.9.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] osdep: Introduce qemu_dup 2016-06-22 8:02 ` [Qemu-devel] [PATCH 1/2] osdep: Introduce qemu_dup Fam Zheng @ 2016-06-22 12:27 ` Kevin Wolf 2016-06-22 12:38 ` Fam Zheng 2016-06-22 15:18 ` Eric Blake 1 sibling, 1 reply; 7+ messages in thread From: Kevin Wolf @ 2016-06-22 12:27 UTC (permalink / raw) To: Fam Zheng; +Cc: qemu-devel, Max Reitz, qemu-block Am 22.06.2016 um 10:02 hat Fam Zheng geschrieben: > And use it in qemu_dup_flags. > > Signed-off-by: Fam Zheng <famz@redhat.com> > --- > include/qemu/osdep.h | 3 +++ > util/osdep.c | 23 +++++++++++++++-------- > 2 files changed, 18 insertions(+), 8 deletions(-) > > diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h > index e63da28..7361006 100644 > --- a/include/qemu/osdep.h > +++ b/include/qemu/osdep.h > @@ -278,6 +278,9 @@ int qemu_madvise(void *addr, size_t len, int advice); > > int qemu_open(const char *name, int flags, ...); > int qemu_close(int fd); > +#ifndef _WIN32 > +int qemu_dup(int fd); > +#endif > > #if defined(__HAIKU__) && defined(__i386__) > #define FMT_pid "%ld" > diff --git a/util/osdep.c b/util/osdep.c > index ff004e8..c746e9f 100644 > --- a/util/osdep.c > +++ b/util/osdep.c > @@ -83,14 +83,7 @@ static int qemu_dup_flags(int fd, int flags) > int serrno; > int dup_flags; > > -#ifdef F_DUPFD_CLOEXEC > - ret = fcntl(fd, F_DUPFD_CLOEXEC, 0); > -#else > - ret = dup(fd); > - if (ret != -1) { > - qemu_set_cloexec(ret); > - } > -#endif > + ret = qemu_dup(fd); > if (ret == -1) { > goto fail; > } > @@ -129,6 +122,20 @@ fail: > return -1; > } > > +int qemu_dup(int fd) > +{ > + int r; Why the rename? (Not necessarily objecting, just curious.) > +#ifdef F_DUPFD_CLOEXEC > + r = fcntl(fd, F_DUPFD_CLOEXEC, 0); > +#else > + r = dup(fd); > + if (r != -1) { > + qemu_set_cloexec(raw_s->fd); This won't compile. Kevin ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] osdep: Introduce qemu_dup 2016-06-22 12:27 ` Kevin Wolf @ 2016-06-22 12:38 ` Fam Zheng 0 siblings, 0 replies; 7+ messages in thread From: Fam Zheng @ 2016-06-22 12:38 UTC (permalink / raw) To: Kevin Wolf; +Cc: qemu-devel, Max Reitz, qemu-block On Wed, 06/22 14:27, Kevin Wolf wrote: > > diff --git a/util/osdep.c b/util/osdep.c > > index ff004e8..c746e9f 100644 > > --- a/util/osdep.c > > +++ b/util/osdep.c > > @@ -83,14 +83,7 @@ static int qemu_dup_flags(int fd, int flags) > > int serrno; > > int dup_flags; > > > > -#ifdef F_DUPFD_CLOEXEC > > - ret = fcntl(fd, F_DUPFD_CLOEXEC, 0); > > -#else > > - ret = dup(fd); > > - if (ret != -1) { > > - qemu_set_cloexec(ret); > > - } > > -#endif > > + ret = qemu_dup(fd); > > if (ret == -1) { > > goto fail; > > } > > @@ -129,6 +122,20 @@ fail: > > return -1; > > } > > > > +int qemu_dup(int fd) > > +{ > > + int r; > > Why the rename? (Not necessarily objecting, just curious.) Obviously I should have copied from qemu_dup_flags instead of raw_reopen_prepare. :( > > > +#ifdef F_DUPFD_CLOEXEC > > + r = fcntl(fd, F_DUPFD_CLOEXEC, 0); > > +#else > > + r = dup(fd); > > + if (r != -1) { > > + qemu_set_cloexec(raw_s->fd); > > This won't compile. Will fix. Fam ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] osdep: Introduce qemu_dup 2016-06-22 8:02 ` [Qemu-devel] [PATCH 1/2] osdep: Introduce qemu_dup Fam Zheng 2016-06-22 12:27 ` Kevin Wolf @ 2016-06-22 15:18 ` Eric Blake 1 sibling, 0 replies; 7+ messages in thread From: Eric Blake @ 2016-06-22 15:18 UTC (permalink / raw) To: Fam Zheng, qemu-devel; +Cc: Kevin Wolf, qemu-block, Max Reitz [-- Attachment #1: Type: text/plain, Size: 788 bytes --] On 06/22/2016 02:02 AM, Fam Zheng wrote: > And use it in qemu_dup_flags. > > Signed-off-by: Fam Zheng <famz@redhat.com> > --- > include/qemu/osdep.h | 3 +++ > util/osdep.c | 23 +++++++++++++++-------- > 2 files changed, 18 insertions(+), 8 deletions(-) > +int qemu_dup(int fd) > +{ > + int r; > +#ifdef F_DUPFD_CLOEXEC > + r = fcntl(fd, F_DUPFD_CLOEXEC, 0); > +#else > + r = dup(fd); > + if (r != -1) { > + qemu_set_cloexec(raw_s->fd); Uhh, don't you mean s/raw_s->fd/r/ ? > + } > +#endif > + return r; > +} > + > static int qemu_parse_fdset(const char *param) > { > return qemu_parse_fd(param); > -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 604 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Qemu-devel] [PATCH 2/2] raw-posix: Use qemu_dup 2016-06-22 8:02 [Qemu-devel] [PATCH 0/2] block: Add qemu_dup in osdep.c and use it Fam Zheng 2016-06-22 8:02 ` [Qemu-devel] [PATCH 1/2] osdep: Introduce qemu_dup Fam Zheng @ 2016-06-22 8:02 ` Fam Zheng 2016-06-22 12:28 ` Kevin Wolf 1 sibling, 1 reply; 7+ messages in thread From: Fam Zheng @ 2016-06-22 8:02 UTC (permalink / raw) To: qemu-devel; +Cc: Kevin Wolf, Max Reitz, qemu-block Signed-off-by: Fam Zheng <famz@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> --- block/raw-posix.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/block/raw-posix.c b/block/raw-posix.c index bef7a67..c8ef64b 100644 --- a/block/raw-posix.c +++ b/block/raw-posix.c @@ -639,15 +639,7 @@ static int raw_reopen_prepare(BDRVReopenState *state, if ((raw_s->open_flags & ~fcntl_flags) == (s->open_flags & ~fcntl_flags)) { /* dup the original fd */ - /* TODO: use qemu fcntl wrapper */ -#ifdef F_DUPFD_CLOEXEC - raw_s->fd = fcntl(s->fd, F_DUPFD_CLOEXEC, 0); -#else - raw_s->fd = dup(s->fd); - if (raw_s->fd != -1) { - qemu_set_cloexec(raw_s->fd); - } -#endif + raw_s->fd = qemu_dup(s->fd); if (raw_s->fd >= 0) { ret = fcntl_setfl(raw_s->fd, raw_s->open_flags); if (ret) { -- 2.9.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] raw-posix: Use qemu_dup 2016-06-22 8:02 ` [Qemu-devel] [PATCH 2/2] raw-posix: Use qemu_dup Fam Zheng @ 2016-06-22 12:28 ` Kevin Wolf 0 siblings, 0 replies; 7+ messages in thread From: Kevin Wolf @ 2016-06-22 12:28 UTC (permalink / raw) To: Fam Zheng; +Cc: qemu-devel, Max Reitz, qemu-block Am 22.06.2016 um 10:02 hat Fam Zheng geschrieben: > Signed-off-by: Fam Zheng <famz@redhat.com> > Reviewed-by: Max Reitz <mreitz@redhat.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-06-22 15:18 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-06-22 8:02 [Qemu-devel] [PATCH 0/2] block: Add qemu_dup in osdep.c and use it Fam Zheng 2016-06-22 8:02 ` [Qemu-devel] [PATCH 1/2] osdep: Introduce qemu_dup Fam Zheng 2016-06-22 12:27 ` Kevin Wolf 2016-06-22 12:38 ` Fam Zheng 2016-06-22 15:18 ` Eric Blake 2016-06-22 8:02 ` [Qemu-devel] [PATCH 2/2] raw-posix: Use qemu_dup Fam Zheng 2016-06-22 12:28 ` Kevin Wolf
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).