Commit 89515d02 authored by Marc Olson's avatar Marc Olson Committed by Konrad Rzeszutek Wilk

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: default avatarMarc Olson <marcolso@amazon.com>
Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
parent a2c97909
...@@ -2345,6 +2345,7 @@ static void blkfront_connect(struct blkfront_info *info) ...@@ -2345,6 +2345,7 @@ static void blkfront_connect(struct blkfront_info *info)
unsigned long sector_size; unsigned long sector_size;
unsigned int physical_sector_size; unsigned int physical_sector_size;
unsigned int binfo; unsigned int binfo;
char *envp[] = { "RESIZE=1", NULL };
int err, i; int err, i;
switch (info->connected) { switch (info->connected) {
...@@ -2361,6 +2362,8 @@ static void blkfront_connect(struct blkfront_info *info) ...@@ -2361,6 +2362,8 @@ static void blkfront_connect(struct blkfront_info *info)
sectors); sectors);
set_capacity(info->gd, sectors); set_capacity(info->gd, sectors);
revalidate_disk(info->gd); revalidate_disk(info->gd);
kobject_uevent_env(&disk_to_dev(info->gd)->kobj,
KOBJ_CHANGE, envp);
return; return;
case BLKIF_STATE_SUSPENDED: case BLKIF_STATE_SUSPENDED:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment