qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [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

* [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 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 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

* 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

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).