mdev在创建和删除设备节点时进行竞争

时间:2011-11-29 15:17:09

标签: linux embedded-linux udev busybox

最近,我曾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并遇到同样的问题,请提供一些建议。感谢您的帮助和感谢。

0 个答案:

没有答案