From owner-cvs-src-old@FreeBSD.ORG Sat Jun 11 04:59:35 2011 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BD7891065670 for ; Sat, 11 Jun 2011 04:59:35 +0000 (UTC) (envelope-from gibbs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8F5548FC17 for ; Sat, 11 Jun 2011 04:59:35 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id p5B4xZC5050654 for ; Sat, 11 Jun 2011 04:59:35 GMT (envelope-from gibbs@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id p5B4xZJ8050653 for cvs-src-old@freebsd.org; Sat, 11 Jun 2011 04:59:35 GMT (envelope-from gibbs@repoman.freebsd.org) Message-Id: <201106110459.p5B4xZJ8050653@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to gibbs@repoman.freebsd.org using -f From: "Justin T. Gibbs" Date: Sat, 11 Jun 2011 04:59:01 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/dev/xen/blkback blkback.c src/sys/dev/xen/blkfront blkfront.c src/sys/dev/xen/control control.c src/sys/dev/xen/netfront netfront.c src/sys/xen/interface/io xenbus.h src/sys/xen/xenbus xenbus.c xenbus_if.m xenbusb.c ... X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Jun 2011 04:59:35 -0000 gibbs 2011-06-11 04:59:01 UTC FreeBSD src repository Modified files: sys/dev/xen/blkback blkback.c sys/dev/xen/blkfront blkfront.c sys/dev/xen/control control.c sys/dev/xen/netfront netfront.c sys/xen/interface/io xenbus.h sys/xen/xenbus xenbus.c xenbus_if.m xenbusb.c xenbusb.h xenbusb_back.c xenbusb_front.c xenbusb_if.m xenbusvar.h sys/xen/xenstore xenstorevar.h Log: SVN rev 222975 on 2011-06-11 04:59:01Z by gibbs Monitor and emit events for XenStore changes to XenBus trees of the devices we manage. These changes can be due to writes we make ourselves or due to changes made by the control domain. The goal of these changes is to insure that all state transitions can be detected regardless of their source and to allow common device policies (e.g. "onlined" backend devices) to be centralized in the XenBus bus code. sys/xen/xenbus/xenbusvar.h: sys/xen/xenbus/xenbus.c: sys/xen/xenbus/xenbus_if.m: Add a new method for XenBus drivers "localend_changed". This method is invoked whenever a write is detected to a device's XenBus tree. The default implementation of this method is a no-op. sys/xen/xenbus/xenbus_if.m: sys/dev/xen/netfront/netfront.c: sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/blkback/blkback.c: Change the signature of the "otherend_changed" method. This notification cannot fail, so it should return void. sys/xen/xenbus/xenbusb_back.c: Add "online" device handling to the XenBus Back Bus support code. An online backend device remains active after a front-end detaches as a reconnect is expected to occur in the near future. sys/xen/interface/io/xenbus.h: Add comment block further explaining the meaning and driver responsibilities associated with the XenBus Closed state. sys/xen/xenbus/xenbusb.c: sys/xen/xenbus/xenbusb.h: sys/xen/xenbus/xenbusb_back.c: sys/xen/xenbus/xenbusb_front.c: sys/xen/xenbus/xenbusb_if.m: o Register a XenStore watch against the local XenBus tree for all devices. o Cache the string length of the path to our local tree. o Allow the xenbus front and back drivers to hook/filter both local and otherend watch processing. o Update the device ivar version of "state" when we detect a XenStore update of that node. sys/dev/xen/control/control.c: sys/xen/xenbus/xenbus.c: sys/xen/xenbus/xenbusb.c: sys/xen/xenbus/xenbusb.h: sys/xen/xenbus/xenbusvar.h: sys/xen/xenstore/xenstorevar.h: Allow clients of the XenStore watch mechanism to attach a single uintptr_t worth of client data to the watch. This removes the need to carefully place client watch data within enclosing objects so that a cast or offsetof calculation can be used to convert from watch to enclosing object. Sponsored by: Spectra Logic Corporation MFC after: 1 week Revision Changes Path 1.8 +1 -2 src/sys/dev/xen/blkback/blkback.c 1.20 +1 -3 src/sys/dev/xen/blkfront/blkfront.c 1.3 +1 -2 src/sys/dev/xen/control/control.c 1.34 +1 -2 src/sys/dev/xen/netfront/netfront.c 1.4 +9 -0 src/sys/xen/interface/io/xenbus.h 1.2 +9 -3 src/sys/xen/xenbus/xenbus.c 1.3 +20 -2 src/sys/xen/xenbus/xenbus_if.m 1.3 +92 -21 src/sys/xen/xenbus/xenbusb.c 1.2 +36 -10 src/sys/xen/xenbus/xenbusb.h 1.2 +65 -41 src/sys/xen/xenbus/xenbusb_back.c 1.2 +1 -0 src/sys/xen/xenbus/xenbusb_front.c 1.2 +36 -3 src/sys/xen/xenbus/xenbusb_if.m 1.4 +20 -4 src/sys/xen/xenbus/xenbusvar.h 1.2 +6 -3 src/sys/xen/xenstore/xenstorevar.h