Hello -
This is an issue I've encountered while trying to detect disk resizing
with utilities listening to udev. Let me know if there's a better place
for me to post this.
Summary: scsi sd driver is not emitting a CHANGE uevent for online disk
resizes using VMware’s vsphere.
Configuration: I’m using Ubuntu 17.10 on VM based on a VMWare ESXi host,
version 5.5.0. I identified the driver by checking dmesg.
Steps to reproduce:
Run udevadm monitor
Connect to the appropriate ESX host using vSphere
Add a new device by selecting ‘edit settings’ -> ‘add’ -> ‘hard disk’->
‘create a new virtual disk’ -> ‘finish’
Observe that the expected ADD uevents are tracked by udevadm
Increase the size of the device using vSphere
Observe that no CHANGE (or other) uevents appear in udevadm
Verify that the resize did occur, detected by triggering a rescan with
sys/block/<dev>/device/rescan and logged in dmesg: sdc: detected
capacity change from 8589934592 to 10737418240
I also used the eBPF trace script to verify that no calls to
kobject_uevent occur when I did the resize (though they did appear when
the device was first added).
I’d be happy to look into making a patch myself, though I’m pretty new
to drivers and I’d need some guidance. For example, from reading the
source, I’m not yet sure if ADD uevents for resize are expected to be
working or just haven't been implemented yet (i.e. is this a bug or a
feature). I’m also unsure about which level of the driver is the
appropriate place to emit these events.
Let me know if there’s any other information I can provide and thank you
for your time!
Sara