From: Marc Olson Date: Tue, 11 Apr 2017 19:24:09 +0000 (-0700) Subject: blkfront: add uevent for size change X-Git-Tag: v4.1.12-111.0.20170918_2215~226 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=681279a4e04f8af829d974a79dc46ef5fdc08f87;p=users%2Fjedix%2Flinux-maple.git blkfront: add uevent for size change 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. With this patch you get these udev KERNEL[577.206230] change /devices/vbd-51728/block/xvdb (block) UDEV [577.226218] change /devices/vbd-51728/block/xvdb (block) Signed-off-by: Marc Olson Signed-off-by: Konrad Rzeszutek Wilk OraBug: 26662731 (cherry picked from commit 89515d0255c918e08aa4085956c79bf17615fda5) Signed-off-by: Boris Ostrovsky Reviewed-by: Joao Martins --- diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c index 3e4576854364d..d824ef13c82d0 100644 --- a/drivers/block/xen-blkfront.c +++ b/drivers/block/xen-blkfront.c @@ -2594,6 +2594,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, i; switch (info->connected) { @@ -2610,6 +2611,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: