From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58927) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bMDDv-0006Du-9f for qemu-devel@nongnu.org; Sun, 10 Jul 2016 07:48:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bMDDs-0001jz-Uw for qemu-devel@nongnu.org; Sun, 10 Jul 2016 07:48:35 -0400 Received: from mail-wm0-x243.google.com ([2a00:1450:400c:c09::243]:35987) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bMDDs-0001jt-OA for qemu-devel@nongnu.org; Sun, 10 Jul 2016 07:48:32 -0400 Received: by mail-wm0-x243.google.com with SMTP id x83so11999456wma.3 for ; Sun, 10 Jul 2016 04:48:32 -0700 (PDT) From: Emil Condrea Date: Sun, 10 Jul 2016 14:47:44 +0300 Message-Id: <1468151270-12984-14-git-send-email-emilcondrea@gmail.com> In-Reply-To: <1468151270-12984-1-git-send-email-emilcondrea@gmail.com> References: <1468151270-12984-1-git-send-email-emilcondrea@gmail.com> Subject: [Qemu-devel] [PATCH 13/19] xen: Distinguish between frontend and backend devops List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: xen-devel@lists.xen.org, quan.xu@intel.com, dgdegra@tycho.nsa.gov, stefano.stabellini@eu.citrix.com, wei.liu2@citrix.com, stefanb@linux.vnet.ibm.com, eblake@redhat.com, emilcondrea@gmail.com xen_be_check_state should not be called for frontends Use DEVOPS_FLAG_FE flag to distinguish a frontend. Signed-off-by: Emil Condrea Signed-off-by: Quan Xu --- Changes in v9: * Removed not needed strstr from xenstore_update_be It was left over from first patch series when domu was included in xenstore schema: "%s/backend/%s/%d/%d" --- hw/xen/xen_backend.c | 4 +++- include/hw/xen/xen_pvdev.h | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/hw/xen/xen_backend.c b/hw/xen/xen_backend.c index d0e3f50..3931128 100644 --- a/hw/xen/xen_backend.c +++ b/hw/xen/xen_backend.c @@ -488,7 +488,9 @@ void xenstore_update_be(char *watch, char *type, int dom, } else { free(bepath); xen_be_backend_changed(xendev, path); - xen_be_check_state(xendev); + if (!(ops->flags & DEVOPS_FLAG_FE)) { + xen_be_check_state(xendev); + } } } } diff --git a/include/hw/xen/xen_pvdev.h b/include/hw/xen/xen_pvdev.h index c19e1df..c985a9d 100644 --- a/include/hw/xen/xen_pvdev.h +++ b/include/hw/xen/xen_pvdev.h @@ -14,6 +14,8 @@ struct XenDevice; #define DEVOPS_FLAG_NEED_GNTDEV 1 /* don't expect frontend doing correct state transitions (aka console quirk) */ #define DEVOPS_FLAG_IGNORE_STATE 2 +/*dev is frontend device*/ +#define DEVOPS_FLAG_FE 4 struct XenDevOps { size_t size; -- 1.9.1