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

Rusty Russell
2013-02-27T01:52:12Z

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 :)

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

Thanks,
Rusty.