Re: [PATCH] virtio-blk: Generate uevent after attribute available
From: Fam Zheng <hidden>
Date: 2016-09-03 07:15:58
Also in:
lkml
From: Fam Zheng <hidden>
Date: 2016-09-03 07:15:58
Also in:
lkml
On Sat, 09/03 01:56, Michael S. Tsirkin wrote:
On Wed, Jun 29, 2016 at 09:24:15AM +0800, Fam Zheng wrote:quoted
On Tue, 06/28 04:45, Christoph Hellwig wrote:quoted
On Tue, Jun 28, 2016 at 10:39:15AM +0800, Fam Zheng wrote:quoted
Userspace listens to the KOBJ_ADD uevent generated in add_disk. At that point we haven't created the serial attribute file, therefore depending on how fast udev reacts, the /dev/disk/by-id/ entry doesn't always get created. This race condition can be easily reproduced by hot plugging a number of virtio-blk disks. Also in systemd, there used to be a related workaround in udev rules called 'WAIT_FOR="serial"', but it is removed in later versions. Now let's generate a KOBJ_CHANGE event after the attributes are ready.The same race is present in other drivers as well, e.g. nvme. Please find a way to make this work properly without needing to hack every driver to send events manually.OK, I'll take a look today! FamWas this fixed in the generic code?
A proposed fix is: https://lkml.org/lkml/2016/8/17/81 Fam