Re: [PATCH V2] xen: export device state to sysfs

From: Boris Ostrovsky
Date: Tue Aug 28 2018 - 12:52:42 EST


On 08/28/2018 10:56 AM, Joe Jin wrote:
> Export device state to sysfs to allow for easier get device state.
>
> Signed-off-by: Joe Jin <joe.jin@xxxxxxxxxx>
> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
> Cc: Juergen Gross <jgross@xxxxxxxx>
> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> ---
> Documentation/ABI/stable/sysfs-bus-xen-backend | 9 +++++++++
> drivers/xen/xenbus/xenbus_probe.c | 9 +++++++++
> 2 files changed, 18 insertions(+)
>
> diff --git a/Documentation/ABI/stable/sysfs-bus-xen-backend b/Documentation/ABI/stable/sysfs-bus-xen-backend
> index 3d5951c8bf5f..e8b60bd766f7 100644
> --- a/Documentation/ABI/stable/sysfs-bus-xen-backend


Won't this show up in the frontend as well?

-boris

> +++ b/Documentation/ABI/stable/sysfs-bus-xen-backend
> @@ -73,3 +73,12 @@ KernelVersion: 3.0
> Contact: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> 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@xxxxxxxxxx>
> +Description:
> + The state of the device. One of: 'Unknown',
> + 'Initialising', 'Initialised', 'Connected', 'Closing',
> + 'Closed', 'Reconfiguring', 'Reconfigured'.
> diff --git a/drivers/xen/xenbus/xenbus_probe.c b/drivers/xen/xenbus/xenbus_probe.c
> index f2088838f690..5b471889d723 100644
> --- a/drivers/xen/xenbus/xenbus_probe.c
> +++ b/drivers/xen/xenbus/xenbus_probe.c
> @@ -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,
> };
>