From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:35880) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RmPhp-00030m-B9 for qemu-devel@nongnu.org; Sun, 15 Jan 2012 08:01:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RmPhm-00021y-Sf for qemu-devel@nongnu.org; Sun, 15 Jan 2012 08:01:05 -0500 Received: from isrv.corpit.ru ([86.62.121.231]:35866) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RmPhm-00021j-BH for qemu-devel@nongnu.org; Sun, 15 Jan 2012 08:01:02 -0500 Message-ID: <4F12CE0D.4040501@msgid.tls.msk.ru> Date: Sun, 15 Jan 2012 17:01:01 +0400 From: Michael Tokarev MIME-Version: 1.0 References: <20120114114459.493513DE@gandalf.tls.msk.ru> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] use different fd variables for device and socket, unbreak qemu-nbd -c List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel@nongnu.org On 15.01.2012 14:45, Paolo Bonzini wrote: > On 01/14/2012 12:41 PM, Michael Tokarev wrote: >> commit a61c67828dea7c64edaf226cadb45b4ffcc1d411 >> Author: Paolo Bonzini >> Date: Mon Sep 12 17:28:11 2011 +0200 >> >> qemu-nbd: use common main loop >> >> Using a single main loop for sockets will help yielding from the socket >> coroutine back to the main loop, and later reentering it. >> >> changed code to use local variable "fd" in qemu-nbd.c:main() >> in two places: for /dev/nbd device and for control socket. >> The result is that qemu-nbd -c $device does not work anymore. >> >> Use two variables - devfs and sockfd - for the two purposes, >> instead of one fd. >> >> Signed-Off-By: Michael Tokarev >> --- >> qemu-nbd.c | 26 +++++++++++++------------- >> 1 files changed, 13 insertions(+), 13 deletions(-) >> >> diff --git a/qemu-nbd.c b/qemu-nbd.c >> index eb61c33..e76c782 100644 >> --- a/qemu-nbd.c >> +++ b/qemu-nbd.c >> @@ -301,7 +301,7 @@ int main(int argc, char **argv) >> int flags = BDRV_O_RDWR; >> int partition = -1; >> int ret; >> - int fd; >> + int sockfd, devfd; >> int persistent = 0; >> pthread_t client_thread; >> >> @@ -401,13 +401,13 @@ int main(int argc, char **argv) >> } >> >> if (disconnect) { >> - fd = open(argv[optind], O_RDWR); >> - if (fd == -1) >> + sockfd = open(argv[optind], O_RDWR); >> + if (sockfd == -1) >> err(EXIT_FAILURE, "Cannot open %s", argv[optind]); >> >> - nbd_disconnect(fd); >> + nbd_disconnect(sockfd); >> >> - close(fd); >> + close(sockfd); >> >> printf("%s disconnected\n", argv[optind]); > > This should be devfd. Yes indeed. In that case make it nbdfd not devfd - there are other variables prefixed "nbd" already. [] > Otherwise looks good, I'll fix up and send for inclusion. Thanks! FWIW, it is not -stable material, since 1.0 isn't broken yet ;) /mjt