最近,我曾mdev
替换udev
。与udevd
相比,mdev
确实可以节省大量内存使用量。配置如下:
/etc/mdev.conf
中,如果设备与sd[a-z][0-9]
匹配,则会在创建之后和删除设备之前同时调用脚本usbmount_wrapper
sd [a-z] [0-9] 0:0 660 * / usbmount_wrapper
在usbmount_wrapper
中,我们调用了debian的usbmount
实用程序。
此配置适用于hotplug事件(创建/dev
下的节点,并且在插入的设备上正确安装分区,卸载分区并在拔出设备的设备上删除设备节点)。
当我们尝试使用fdisk
工具格式化磁盘时发生了问题。通过转储hotplug事件,事件序列是:删除所有旧分区 - >添加所有新创建的分区。如果我们在ls /dev/sd*
之后立即执行fdisk
,我们可以看到这些新分区的新设备节点,几秒钟后,这些分区将被删除。我们可以得出结论:mdev
中存在竞争条件,首先创建设备节点然后将其删除,这与热插拔事件的顺序相反。我也尝试创建/dev/mdev.seq
,但它没有解决问题。 mdev
版本来自busybox
1.17
如果有人尝试mdev
并遇到同样的问题,请提供一些建议。感谢您的帮助和感谢。