Re: [PATCH] virtio-blk: emit udev event when device is resized

Milos Vyletel
2013-02-27T13:10:17Z

----- Original Message -----
> Milos Vyletel <milos.vyletel@sde.cz> writes:
> > On Feb 25, 2013, at 5:12 PM, Greg KH <greg@kroah.com> wrote:
> >
> >> On Fri, Feb 22, 2013 at 10:14:49AM +1030, Rusty Russell wrote:
> >>> Milos Vyletel <milos.vyletel@sde.cz> writes:
> >>>
> >>>> When virtio-blk device is resized from host (using block_resize from
> >>>> QEMU) emit
> >>>> KOBJ_CHANGE uevent to notify guest about such change. This allows user
> >>>> to have
> >>>> custom udev rules which would take whatever action if such event occurs.
> >>>> As a
> >>>> proof of concept I've created simple udev rule that automatically resize
> >>>> filesystem on virtio-blk device.
> >>>>
> >>>> ACTION=="change", KERNEL=="vd*", \
> >>>> ENV{RESIZE}=="1", \
> >>>> ENV{ID_FS_TYPE}=="ext[3-4]", \
> >>>> RUN+="/sbin/resize2fs /dev/%k"
> >>>> ACTION=="change", KERNEL=="vd*", \
> >>>> ENV{RESIZE}=="1", \
> >>>> ENV{ID_FS_TYPE}=="LVM2_member", \
> >>>> RUN+="/sbin/pvresize /dev/%k"
> >>>
> >>> This looks fine to me, but I like to check with Greg before adding udev
> >>> callouts.... Greg?
> >>
> >> Hm, I thought we were frowning apon running binaries from udev rules
> >> these days, especially ones that might have big consequences (like
> >> resizing a disk image) like this.
> >>
> >> Kay, am I right?
> >>
> >> We already emit KOBJECT_CHANGE events when block devices change, from
> >> within the block core code. Why is the patch below needed instead of
> >> using these events that are already generated? How are virtio block
> >> devices special?
> >>
> >>> BTW, if this is good, it's good for stable IMHO.
> >>
> >> What bug does it fix?
> >>
> >
> > It is not really a bug but it definitely is useful enhancement to have in
> > stable too. I
> > can imagine lots of people can benefit from this.
>
> But that applies to almost any enhancement :)
>

Good point :)

> It will go in *next* merge window, not this one.
>

Cool, thanks.

Milos