Fam Zheng
2016-Jun-29 01:24 UTC
[PATCH] virtio-blk: Generate uevent after attribute available
On Tue, 06/28 04:45, Christoph Hellwig wrote:> On Tue, Jun 28, 2016 at 10:39:15AM +0800, Fam Zheng wrote: > > 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! Fam
Michael S. Tsirkin
2016-Sep-02 22:56 UTC
[PATCH] virtio-blk: Generate uevent after attribute available
On Wed, Jun 29, 2016 at 09:24:15AM +0800, Fam Zheng wrote:> On Tue, 06/28 04:45, Christoph Hellwig wrote: > > On Tue, Jun 28, 2016 at 10:39:15AM +0800, Fam Zheng wrote: > > > 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? -- MST
Fam Zheng
2016-Sep-03 07:08 UTC
[PATCH] virtio-blk: Generate uevent after attribute available
On Sat, 09/03 01:56, Michael S. Tsirkin wrote:> On Wed, Jun 29, 2016 at 09:24:15AM +0800, Fam Zheng wrote: > > On Tue, 06/28 04:45, Christoph Hellwig wrote: > > > On Tue, Jun 28, 2016 at 10:39:15AM +0800, Fam Zheng wrote: > > > > 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! > > > > Fam > > Was this fixed in the generic code?A proposed fix is: https://lkml.org/lkml/2016/8/17/81 Fam
Maybe Matching Threads
- [PATCH] virtio-blk: Generate uevent after attribute available
- [PATCH] virtio-blk: Generate uevent after attribute available
- [PATCH] virtio-blk: Generate uevent after attribute available
- [PATCH] virtio-blk: Generate uevent after attribute available
- [PATCH] virtio-blk: Generate uevent after attribute available