On 09/02/2014 09:30 AM, Karel Zak wrote: > On Tue, Sep 02, 2014 at 09:03:45AM +0200, Francis Moreau wrote: >> It seems that lsblk uses udev to get some block device metadata and asks >> some others to the kernel. If so, it makes the whole process racy >> because udev might not have handled the events sent by the kernel yet. >> >> I'm not sure why udev is used by default in the first place, what are > > * info from udev is accessible for non-root users > * it's better to scan devices only once on one place only > * udev is able to gather information from more sources (for example > libblkid does not provide WWN) > >> the benefits ? Using libblkid, at least by default seems the right thing >> to do. >> >> Otherwise maybe lsblk should do the equivalent of 'udevadm settle' to >> handle correctly freshly created devices ? > > That's question, now (because it's not hardcoded to lsblk) everyone is > able to control this behavior, all you need is to add 'udevadm settle' > to your use-case. The question is more why let the user do that ? If lsblk reports the partitions, shouldn't it do that only when it's sure to fully have retrieve the partition's metadata ? BTW, is the user supposed to know that lsblk relies on udev or is this implementation detail ? Thanks -- To unsubscribe from this list: send the line "unsubscribe util-linux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html