On Thu, Oct 06 2016, Francesco Dolcini wrote: > On Thu, Oct 06, 2016 at 04:42:52PM +1100, NeilBrown wrote: > cc >> Maybe there is a race, but that seems unlikely. > > Consider that just hot removal while writing is not enough to > reproduce systematically the bug. > > while true; do [ ! -f /media/usb/.not_mounted ] \ > && dd if=/dev/zero of=/media/usb/aaa bs=1k \ > count=1 2>/dev/null && echo -n '*' ; done > > with lazy umount by mdev on USB flash drive removal > > reproduce the problem pretty always > >> The vfat issue is different, and is only a warning. > Why you say is only a warning? Here the Oops with vfat on ARM/i.MX6: I looked at: x86 Oops information (with vfat): in the bugzilla and didn't realized there was another one further down. That first vfat on is just a warning. > >> > Regression is on commit 6cd18e7 ("block: destroy bdi before blockdev is unregistered.") >> > >> > Commit: bdfe0cbd746a ("Revert "ext4: remove block_device_ejected") is already present on 4.1 stable I am currently working on (2a6f417 on 4.1 branch) >> > >> > I wonder if commit b02176f ("block: don't release bdi while request_queue has live references") is the correct fix for this also in kernel 4.1. >> >> Maybe. It is worth a try. >> >> Below is a a backport to 4.1.33. It compiles, but I haven't tested. >> If it works for you, I can recommend it for -stable. > > I confirm that it works! Thanks. NeilBrown
Attachment:
signature.asc
Description: PGP signature