On Thu, Jul 15, 2010 at 12:24:33PM -0400, Douglas Gilbert wrote:
On 10-07-15 09:29 AM, Konrad Rzeszutek Wilk wrote:
and the box still won't boot.
The reason FC6 doesn't boot is there is a userspace tool I believe in the initrd that cares about symlinks when it should not.
It is not just nash. Also multipathd would fail (as it expects the /sys/scsi_host/..<something> in certain directories), and 'lsscsi'. There might be other tools that depend on libsysfs to be affected by this as well.
lsscsi has been "CONFIG_SYSFS_DEPRECATED_V2" tolerant since version 0.21 released 20080710. The current version is 0.23 released 20091201 which will soon be displaced by 0.24 to cope with the most recent breakages.
Writing a user space tool that relies on sysfs structure and contents, stable over the whole lk 2.6 series, is impossible. For a history of my pain with lsscsi see its ChangeLog.
Yeah, I'd recommend using libudev for any new tools if you want to interact with sysfs. It's much easier than mucking around with it directly and will be future-proof as udev can handle a lot of changes to sysfs that other tools might not realize.
thanks,
greg k-h