社区导航

 

搜索
查看: 1239|回复: 1

[求助] mdev截获不到热插拔

[复制链接]

279

TA的帖子

2

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2018-7-7 13:10 来自手机 | 显示全部楼层 |阅读模式
产品里采用mdev动态在mnt目录下创建/mdev/sdaX,/mnt/mmcblk0p0
创建与删除与否均通过热插拔U盘或sd卡。

大多数情况工作得很好,偶尔发现设备拔出后依旧看到目录的存在。
即使输入mount也能看到挂载点,但dev下已经没有设备了。

复现方法,只要在使用设备时拔出存储器,mdev就无法得到通知,也就没卸载挂载点。

复现代码
fopen /mdev/sda1
fprint xxxx
sleep 10  延时10秒,此时拔出存储器
fclose


还没有尝试udev,不知道是否有同样问题 毕竟两个机制略有不同,一个是uevent_helper,一个是netlink

回复

使用道具 举报

279

TA的帖子

2

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

 楼主| 发表于 2018-7-9 09:33 | 显示全部楼层
修正一下,mdev实际上是截获到存储器拔出事件,只是在umount时

umount: can't umount /mnt/sda1: Device or resource busy

设备正忙,所以失败,现在要做的是在设备busy时,采用什么机制再次umount

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/4 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-6-4 09:15 , Processed in 0.112755 second(s), 23 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表