UBI: why was UBI reboot notifier removed

Jose Nimni
2011-03-30T14:43:18Z

hi guys,

I wanted to ask you a question regarding the change you made in UBI, when you
removed the UBI reboot notifier. (commit "UBI: remove reboot notifier")

I have omap3530 processor, working with numonyx NOR flashe PF2800AP33EF (intel
command set).
I am working with linux omap kernel 2.6.34, but patched it with the newest UBI
directory (i needed the new patches for NOR PEBs).

i have seen that if i write a lot data to the NOR flash, 2 things happen:
1. UBIFS thread are flushing the data to the flash for quite some time.
2. ubi_bgt0d is working after that, cleaning up some PEBs.

if i reboot just after the write process returned, the flashed are unmounted
(after waiting for ubifs to finish flushing).
but when the sigkills are sent,  a UBI error is occuring:
UBI error: ubi_io_read: error -5 while reading 64 bytes from PEB x:y, read 0
bytes.
UBI error: nor_erase_prepare: cannot invalidate PEB X, write returned -5 read
returned -5
....
ubi_thread: ubi_bgt0d: work failed with error code -5.

after some research, i saw that you removed the UBI reboot notifier, that used
to kill ubi_bgt thread.
now, during shutdown, the cfi_cmdset_0001.c driver does not allow any
communication with the flash - but the bgt thread is still alive, so it gets a
read/write error (-EIO).

I am working with UBI that is compiled into the kernel - not as a module, so
module_exit isn't being called

who should stop the bgt threads?
am i missing anything or is this a bug?

Thanks,
Jose