From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38940) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ysjv8-0003WK-1I for qemu-devel@nongnu.org; Wed, 13 May 2015 23:34:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ysjv7-0006SR-7l for qemu-devel@nongnu.org; Wed, 13 May 2015 23:34:49 -0400 Received: from mx1.redhat.com ([209.132.183.28]:52125) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ysjv6-0006S4-UZ for qemu-devel@nongnu.org; Wed, 13 May 2015 23:34:49 -0400 From: Fam Zheng Date: Thu, 14 May 2015 11:34:19 +0800 Message-Id: <1431574469-9605-4-git-send-email-famz@redhat.com> In-Reply-To: <1431574469-9605-1-git-send-email-famz@redhat.com> References: <1431574469-9605-1-git-send-email-famz@redhat.com> Subject: [Qemu-devel] [RFC PATCH v2 03/13] l2tpv3: Drop l2tpv3_can_send List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , Jason Wang , Vincenzo Maffione , Stefan Hajnoczi , Paolo Bonzini , Giuseppe Lettieri , Luigi Rizzo This callback is called by main loop before polling s->fd, if it returns false, the fd will not be polled in this iteration. This is redundant with checks inside read callback. After this patch, the data will be copied from s->fd to s->msgvec when it arrives. If the device can't receive, it will be queued to incoming_queue, and when the device status changes, this queue will be flushed. Signed-off-by: Fam Zheng --- net/l2tpv3.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/net/l2tpv3.c b/net/l2tpv3.c index 8c598b0..8eed06b 100644 --- a/net/l2tpv3.c +++ b/net/l2tpv3.c @@ -133,14 +133,12 @@ typedef struct NetL2TPV3State { } NetL2TPV3State; -static int l2tpv3_can_send(void *opaque); static void net_l2tpv3_send(void *opaque); static void l2tpv3_writable(void *opaque); static void l2tpv3_update_fd_handler(NetL2TPV3State *s) { - qemu_set_fd_handler2(s->fd, - s->read_poll ? l2tpv3_can_send : NULL, + qemu_set_fd_handler2(s->fd, NULL, s->read_poll ? net_l2tpv3_send : NULL, s->write_poll ? l2tpv3_writable : NULL, s); @@ -169,13 +167,6 @@ static void l2tpv3_writable(void *opaque) qemu_flush_queued_packets(&s->nc); } -static int l2tpv3_can_send(void *opaque) -{ - NetL2TPV3State *s = opaque; - - return qemu_can_send_packet(&s->nc); -} - static void l2tpv3_send_completed(NetClientState *nc, ssize_t len) { NetL2TPV3State *s = DO_UPCAST(NetL2TPV3State, nc, nc); -- 2.4.0