于 2013/10/18 17:51, Paolo Bonzini 写道:
Il 18/10/2013 03:11, Wenchao Xia ha scritto:
All existing caller are using *cur_mon as its parameter, and *cur_mon
is an internal variable which used inside monitor.c. This patch reduce
the exposing of details in monitor.c, by introduce a new function
monitor_get_fd_cur() and make old one static.

Signed-off-by: Wenchao Xia <xiaw...@linux.vnet.ibm.com>
---
  dump.c                    |    2 +-
  include/monitor/monitor.h |    2 +-
  migration-fd.c            |    2 +-
  monitor.c                 |    7 ++++++-
  qmp.c                     |    2 +-
  stubs/get-fd.c            |    2 +-
  util/qemu-sockets.c       |    4 ++--
  7 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/dump.c b/dump.c
index 846155c..8f5b6b0 100644
--- a/dump.c
+++ b/dump.c
@@ -860,7 +860,7 @@ void qmp_dump_guest_memory(bool paging, const char *file, 
bool has_begin,
#if !defined(WIN32)
      if (strstart(file, "fd:", &p)) {
-        fd = monitor_get_fd(cur_mon, p, errp);
+        fd = monitor_get_fd_cur(p, errp);
          if (fd == -1) {
              return;
          }
diff --git a/include/monitor/monitor.h b/include/monitor/monitor.h
index 97fcee3..637f7f3 100644
--- a/include/monitor/monitor.h
+++ b/include/monitor/monitor.h
@@ -35,7 +35,7 @@ int monitor_read_block_device_key(Monitor *mon, const char 
*device,
                                    BlockDriverCompletionFunc *completion_cb,
                                    void *opaque);
-int monitor_get_fd(Monitor *mon, const char *fdname, Error **errp);
+int monitor_get_fd_cur(const char *fdname, Error **errp);
  int monitor_handle_fd_param(Monitor *mon, const char *fdname);
void monitor_vprintf(Monitor *mon, const char *fmt, va_list ap)
diff --git a/migration-fd.c b/migration-fd.c
index d2e523a..022bc50 100644
--- a/migration-fd.c
+++ b/migration-fd.c
@@ -33,7 +33,7 @@
void fd_start_outgoing_migration(MigrationState *s, const char *fdname, Error **errp)
  {
-    int fd = monitor_get_fd(cur_mon, fdname, errp);
+    int fd = monitor_get_fd_cur(fdname, errp);
      if (fd == -1) {
          return;
      }
diff --git a/monitor.c b/monitor.c
index 9377834..80a9dfd 100644
--- a/monitor.c
+++ b/monitor.c
@@ -2290,7 +2290,7 @@ static void do_loadvm(Monitor *mon, const QDict *qdict)
      }
  }
-int monitor_get_fd(Monitor *mon, const char *fdname, Error **errp)
+static int monitor_get_fd(Monitor *mon, const char *fdname, Error **errp)
  {
      mon_fd_t *monfd;
@@ -2315,6 +2315,11 @@ int monitor_get_fd(Monitor *mon, const char *fdname, Error **errp)
      return -1;
  }
+int monitor_get_fd_cur(const char *fdname, Error **errp)
+{
+    return monitor_get_fd(cur_mon, fdname, errp);
+}
+
  static void monitor_fdset_cleanup(MonFdset *mon_fdset)
  {
      MonFdsetFd *mon_fdset_fd;
diff --git a/qmp.c b/qmp.c
index 4c149b3..a02804b 100644
--- a/qmp.c
+++ b/qmp.c
@@ -493,7 +493,7 @@ void qmp_add_client(const char *protocol, const char 
*fdname,
      CharDriverState *s;
      int fd;
- fd = monitor_get_fd(cur_mon, fdname, errp);
+    fd = monitor_get_fd_cur(fdname, errp);
      if (fd < 0) {
          return;
      }
diff --git a/stubs/get-fd.c b/stubs/get-fd.c
index 9f2c65c..7d9ec3b 100644
--- a/stubs/get-fd.c
+++ b/stubs/get-fd.c
@@ -1,7 +1,7 @@
  #include "qemu-common.h"
  #include "monitor/monitor.h"
-int monitor_get_fd(Monitor *mon, const char *name, Error **errp)
+int monitor_get_fd_cur(const char *name, Error **errp)
  {
      error_setg(errp, "only QEMU supports file descriptor passing");
      return -1;
diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c
index 6b97dc1..9cd85dd 100644
--- a/util/qemu-sockets.c
+++ b/util/qemu-sockets.c
@@ -902,7 +902,7 @@ int socket_connect(SocketAddress *addr, Error **errp,
          break;
case SOCKET_ADDRESS_KIND_FD:
-        fd = monitor_get_fd(cur_mon, addr->fd->str, errp);
+        fd = monitor_get_fd_cur(addr->fd->str, errp);
          if (fd >= 0 && callback) {
              qemu_set_nonblock(fd);
              callback(fd, opaque);
@@ -934,7 +934,7 @@ int socket_listen(SocketAddress *addr, Error **errp)
          break;
case SOCKET_ADDRESS_KIND_FD:
-        fd = monitor_get_fd(cur_mon, addr->fd->str, errp);
+        fd = monitor_get_fd_cur(addr->fd->str, errp);
          break;
default:

Doesn't seem like an improvement.  It would be if you could then make
cur_mon static.

Paolo

OK, I will check all code using cur_mon and make it static.


Reply via email to