Re: [PATCH] blkfront: add uevent for size change

From: Konrad Rzeszutek Wilk
Date: Tue Apr 11 2017 - 16:05:16 EST


On Tue, Apr 11, 2017 at 12:24:09PM -0700, Marc Olson wrote:
> When a blkfront device is resized from dom0, emit a KOBJ_CHANGE uevent to
> notify the guest about the change. This allows for custom udev rules, such
> as automatically resizing a filesystem, when an event occurs.

Looks pretty reasonable.

Could you confirm what the udevadm --monitor --kernel --udev emits when this happens?

Thanks!

>
> Signed-off-by: Marc Olson <marcolso@xxxxxxxxxx>
> ---
> drivers/block/xen-blkfront.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
> index 2fee2ee..66abf9c 100644
> --- a/drivers/block/xen-blkfront.c
> +++ b/drivers/block/xen-blkfront.c
> @@ -1996,6 +1996,7 @@ static void blkfront_connect(struct blkfront_info *info)
> unsigned long sector_size;
> unsigned int physical_sector_size;
> unsigned int binfo;
> + char *envp[] = { "RESIZE=1", NULL };
> int err;
>
> switch (info->connected) {
> @@ -2012,6 +2013,8 @@ static void blkfront_connect(struct blkfront_info *info)
> sectors);
> set_capacity(info->gd, sectors);
> revalidate_disk(info->gd);
> + kobject_uevent_env(&disk_to_dev(info->gd)->kobj,
> + KOBJ_CHANGE, envp);
>
> return;
> case BLKIF_STATE_SUSPENDED:
> --
> 2.7.4
>