From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57733) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZtbUl-0006KF-9t for qemu-devel@nongnu.org; Tue, 03 Nov 2015 08:19:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZtbUg-0007d6-KI for qemu-devel@nongnu.org; Tue, 03 Nov 2015 08:19:27 -0500 Received: from m199-177.yeah.net ([123.58.177.199]:60472) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZtbUg-0007cK-3b for qemu-devel@nongnu.org; Tue, 03 Nov 2015 08:19:22 -0500 References: <1446551816-15768-1-git-send-email-zhang.zhanghailiang@huawei.com> <1446551816-15768-34-git-send-email-zhang.zhanghailiang@huawei.com> From: Yang Hongyang Message-ID: <5638AB88.4000300@easystack.cn> Date: Tue, 3 Nov 2015 20:41:44 +0800 MIME-Version: 1.0 In-Reply-To: <1446551816-15768-34-git-send-email-zhang.zhanghailiang@huawei.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH COLO-Frame v10 33/38] netfilter: Introduce an API to delete the timer of all buffer-filters List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: zhanghailiang , qemu-devel@nongnu.org Cc: lizhijian@cn.fujitsu.com, quintela@redhat.com, Jason Wang , yunhong.jiang@intel.com, eddie.dong@intel.com, peter.huangpeng@huawei.com, dgilbert@redhat.com, arei.gonglei@huawei.com, stefanha@redhat.com, amit.shah@redhat.com Can you explain why this is needed? Seems that this api hasn't been used in this series. On 2015=E5=B9=B411=E6=9C=8803=E6=97=A5 19:56, zhanghailiang wrote: > Signed-off-by: zhanghailiang > Cc: Jason Wang > --- > v10: new patch > --- > include/net/filter.h | 1 + > net/filter-buffer.c | 17 +++++++++++++++++ > 2 files changed, 18 insertions(+) > > diff --git a/include/net/filter.h b/include/net/filter.h > index 5a09607..4499d60 100644 > --- a/include/net/filter.h > +++ b/include/net/filter.h > @@ -74,5 +74,6 @@ ssize_t qemu_netfilter_pass_to_next(NetClientState *s= ender, > int iovcnt, > void *opaque); > void filter_buffer_release_all(void); > +void filter_buffer_del_all_timers(void); > > #endif /* QEMU_NET_FILTER_H */ > diff --git a/net/filter-buffer.c b/net/filter-buffer.c > index b344901..5f0ea70 100644 > --- a/net/filter-buffer.c > +++ b/net/filter-buffer.c > @@ -178,6 +178,23 @@ void filter_buffer_release_all(void) > qemu_foreach_netfilter(filter_buffer_release_packets, NULL, NULL)= ; > } > > +static void filter_buffer_del_timer(NetFilterState *nf, void *opaque, > + Error **errp) > +{ > + if (!strcmp(object_get_typename(OBJECT(nf)), TYPE_FILTER_BUFFER)) = { > + FilterBufferState *s =3D FILTER_BUFFER(nf); > + > + if (s->interval) { > + timer_del(&s->release_timer); > + } > + } > +} > + > +void filter_buffer_del_all_timers(void) > +{ > + qemu_foreach_netfilter(filter_buffer_del_timer, NULL, NULL); > +} > + > static void filter_buffer_init(Object *obj) > { > object_property_add(obj, "interval", "int", > --=20 Thanks, Yang