dorimanx / exfat-nofuse

Android ARM Linux non-fuse read/write kernel driver for exFat and VFat Android file systems
GNU General Public License v2.0
710 stars 326 forks source link

pulling drive, then umount will freak out driver #80

Open dannydulai opened 8 years ago

dannydulai commented 8 years ago

here is the pull from USB: [ 52.987205] usb 2-1: USB disconnect, device number 2

here is mdev trying to umount the mountpoint because the drive disappeared:

[ 53.001854] [EXFAT] trying to unmount... [ 53.003880] ------------[ cut here ]------------ [ 53.005149] WARNING: CPU: 3 PID: 344 at fs/exfat/exfat_blkdev.c:124 bdev_read+0xc9/0xd0() [ 53.006425] [EXFAT] No bh, device seems wrong or to be ejected. [ 53.007680] Modules linked in: [ 53.008961] CPU: 3 PID: 344 Comm: umount Not tainted 4.3.3 #13 [ 53.010213] Hardware name: /D54250WYK, BIOS WYLPT10H.86A.0041.2015.0720.1108 07/20/2015 [ 53.011505] ffffffff81cf9a94 ffff880214defc60 ffffffff8131d7cf ffff880214defca8 [ 53.012782] ffff880214defc98 ffffffff81051b5d ffff8800d4f34000 ffff880214d90000 [ 53.014088] ffff880214d90050 0000000000000000 0000000000000001 ffff880214defcf8 [ 53.015359] Call Trace: [ 53.016636] [] dump_stack+0x44/0x55 [ 53.017922] [] warn_slowpath_common+0x7d/0xb0 [ 53.019213] [] warn_slowpath_fmt+0x47/0x50 [ 53.020475] [] bdev_read+0xc9/0xd0 [ 53.021765] [] sector_read+0x45/0x80 [ 53.023043] [] fs_set_vol_flags+0x8d/0xa0 [ 53.024325] [] ffsUmountVol+0x27/0x90 [ 53.025571] [] FsUmountVol+0x36/0x60 [ 53.026861] [] exfat_put_super+0x25/0x90 [ 53.028105] [] generic_shutdown_super+0x65/0xe0 [ 53.029372] [] kill_block_super+0x22/0x70 [ 53.030616] [] exfat_debug_kill_sb+0x3b/0x40 [ 53.031906] [] deactivate_locked_super+0x39/0x70 [ 53.033156] [] deactivate_super+0x57/0x60 [ 53.034432] [] cleanup_mnt+0x3a/0x80 [ 53.035679] [] __cleanup_mnt+0xd/0x10 [ 53.036953] [] task_work_run+0x6e/0x90 [ 53.038180] [] prepare_exit_to_usermode+0x9e/0xc0 [ 53.039427] [] syscall_return_slowpath+0x3c/0x100 [ 53.040643] [] int_ret_from_sys_call+0x25/0x8f [ 53.041892] ---[ end trace 30b0ae48bb81ab5d ]---

ghost commented 8 years ago

Same problem here!

dorimanx commented 7 years ago

Need to see if there is a correct unmount support, as it's never was made for pulling before unmount. Checks has to be added to auto unmount when device is removed. I am sure there are devs that can think of something, especially adding support for main line kernel 4.x

ehem commented 7 years ago

Pulling media before umount happens. This is never a Good Thing(tm), but filesystems must be able to handle this situation without panics. exfat-nofuse also needs to be able to deal with failing media (which can result in similar situations).

RankHuang commented 6 years ago

same problem! any update?