Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1621576 > unrolled thread
| Started by | Marc Olson <marcolso@amazon.com> |
|---|---|
| First post | 2017-04-11 21:30 +0200 |
| Last post | 2017-04-12 02:10 +0200 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH] blkfront: add uevent for size change Marc Olson <marcolso@amazon.com> - 2017-04-11 21:30 +0200
Re: [PATCH] blkfront: add uevent for size change Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> - 2017-04-11 22:10 +0200
Re: [PATCH] blkfront: add uevent for size change Marc Olson <marcolso@amazon.com> - 2017-04-12 02:10 +0200
| From | Marc Olson <marcolso@amazon.com> |
|---|---|
| Date | 2017-04-11 21:30 +0200 |
| Subject | [PATCH] blkfront: add uevent for size change |
| Message-ID | <tv9Ed-2L8-1@gated-at.bofh.it> |
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.
Signed-off-by: Marc Olson <marcolso@amazon.com>
---
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
[toc] | [next] | [standalone]
| From | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> |
|---|---|
| Date | 2017-04-11 22:10 +0200 |
| Message-ID | <tvagV-3eF-5@gated-at.bofh.it> |
| In reply to | #1621576 |
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@amazon.com>
> ---
> 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
>
[toc] | [prev] | [next] | [standalone]
| From | Marc Olson <marcolso@amazon.com> |
|---|---|
| Date | 2017-04-12 02:10 +0200 |
| Message-ID | <tve1b-5Fq-3@gated-at.bofh.it> |
| In reply to | #1621592 |
On Tue, Apr 11, 2017 at 04:04:59PM -0400, Konrad Rzeszutek Wilk wrote:
> 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?
Relevant output:
KERNEL[577.206230] change /devices/vbd-51728/block/xvdb (block)
UDEV [577.226218] change /devices/vbd-51728/block/xvdb (block)
Of course, this is missing without the patch.
/marc
>
> Thanks!
>
> >
> > Signed-off-by: Marc Olson <marcolso@amazon.com>
> > ---
> > 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
> >
>
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web