]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
xen: export device state to sysfs
authorJoe Jin <joe.jin@oracle.com>
Tue, 28 Aug 2018 14:56:08 +0000 (07:56 -0700)
committerBoris Ostrovsky <boris.ostrovsky@oracle.com>
Tue, 28 Aug 2018 21:37:40 +0000 (17:37 -0400)
Export device state to sysfs to allow for easier get device state.

Signed-off-by: Joe Jin <joe.jin@oracle.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Documentation/ABI/stable/sysfs-bus-xen-backend
drivers/xen/xenbus/xenbus_probe.c

index 3d5951c8bf5fe8b27f47b016289c910f90af97e6..e8b60bd766f7649a430a877628e73d8936d66cbb 100644 (file)
@@ -73,3 +73,12 @@ KernelVersion:       3.0
 Contact:       Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
 Description:
                 Number of sectors written by the frontend.
+
+What:          /sys/bus/xen-backend/devices/*/state
+Date:          August 2018
+KernelVersion: 4.19
+Contact:       Joe Jin <joe.jin@oracle.com>
+Description:
+                The state of the device. One of: 'Unknown',
+                'Initialising', 'Initialised', 'Connected', 'Closing',
+                'Closed', 'Reconfiguring', 'Reconfigured'.
index f2088838f690b218a4f16ee0a56bfa23a08acb73..5b471889d7237c926682392b123db99e7ab6656f 100644 (file)
@@ -402,10 +402,19 @@ static ssize_t modalias_show(struct device *dev,
 }
 static DEVICE_ATTR_RO(modalias);
 
+static ssize_t state_show(struct device *dev,
+                           struct device_attribute *attr, char *buf)
+{
+       return sprintf(buf, "%s\n",
+                       xenbus_strstate(to_xenbus_device(dev)->state));
+}
+static DEVICE_ATTR_RO(state);
+
 static struct attribute *xenbus_dev_attrs[] = {
        &dev_attr_nodename.attr,
        &dev_attr_devtype.attr,
        &dev_attr_modalias.attr,
+       &dev_attr_state.attr,
        NULL,
 };