From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39261) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VY6Io-0001Zm-Ez for qemu-devel@nongnu.org; Sun, 20 Oct 2013 23:37:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VY6If-0006ZS-HD for qemu-devel@nongnu.org; Sun, 20 Oct 2013 23:37:10 -0400 Received: from e23smtp04.au.ibm.com ([202.81.31.146]:42574) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VY6Ie-0006ZN-Om for qemu-devel@nongnu.org; Sun, 20 Oct 2013 23:37:01 -0400 Received: from /spool/local by e23smtp04.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 21 Oct 2013 13:36:43 +1000 Received: from d23relay04.au.ibm.com (d23relay04.au.ibm.com [9.190.234.120]) by d23dlp03.au.ibm.com (Postfix) with ESMTP id 17D003578054 for ; Mon, 21 Oct 2013 14:36:41 +1100 (EST) Received: from d23av04.au.ibm.com (d23av04.au.ibm.com [9.190.235.139]) by d23relay04.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r9L3JUdB917838 for ; Mon, 21 Oct 2013 14:19:30 +1100 Received: from d23av04.au.ibm.com (localhost [127.0.0.1]) by d23av04.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id r9L3ad3F024116 for ; Mon, 21 Oct 2013 14:36:40 +1100 Message-ID: <5264A147.8070504@linux.vnet.ibm.com> Date: Mon, 21 Oct 2013 11:36:39 +0800 From: Wenchao Xia MIME-Version: 1.0 References: <1382058681-14957-1-git-send-email-xiawenc@linux.vnet.ibm.com> <1382058681-14957-13-git-send-email-xiawenc@linux.vnet.ibm.com> <5261049A.9000002@redhat.com> In-Reply-To: <5261049A.9000002@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH 12/13] monitor: hide *cur_mon in monitor_get_fd() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: kwolf@redhat.com, stefanha@gmail.com, qemu-devel@nongnu.org, lcapitulino@redhat.com 于 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 >> --- >> 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.