Messages in this thread | | | Date | Sat, 26 Sep 2015 15:57:03 +0930 | From | Arthur Marsh <> | Subject | Re: [RFT v3] eata: Convert eata driver as normal PCI and platform device drivers |
| |
Arthur Marsh wrote on 24/09/15 15:26: > > > Jiang Liu wrote on 24/09/15 13:58: > >> Hi James, >> Thanks for review. How about the attached patch which addresses >> the three suggestions from you? >> Thanks! >> Gerry > > I've applied the patch, rebuilt the kernel and verified that it allows > unloading of the eata module and reloading it, as well as a successful > kexec. > > Regards, > > Arthur.
After some more thorough testing I've encountered an ongoing problem trying to use kexec with filesystems mounted with the eata driver.
If I boot up and have the eata driver loaded but no filesystem check or mounting of filesystems on the disk attached to the DPT2044W controller, then attempt a kexec reboot I get the reboot pausing after the "synchronizing scsi cache" messages and getting the errors that I have included as pictures in my previous reports.
If I do a normal boot which includes eata being loaded, the disk attached to the DPT2044W controller having its filesystems checked and mounted, then attempt a kexec reboot, I get the reboot pausing after the "synchronizing SCSI cache" messages as before.
If I un-mount the filesystems on the disk attached to the DPT2044W controller after start-up and try a reboot I get the same problem.
If I do modprobe -r eata after un-mounting the filesystems on the disk attached to the DPT2044W controller after a start-up kexec *works fine*.
If I do:
start-up un-mount filesystems on disk attached to DPT2044W controller modprobe -r eata modprobe eata fsck -a of filesystems on disk attached to DPT2044W controller mount filesystems
then a kexec reboot works fine.
I did some more experimenting and found a workaround:
I was unable to blacklist the eata module but if I did:
modprobe -r eata modprobe eata
in a cron job before the fsck and mount commands then I could then perform a kexec reboot successfully.
I also verified that if I did:
modprobe -r eata
after eata was loaded on boot-up without any fsck or mounting of filesystems on the disk attached to the DPT2044W controller using the eata the kexec reboot worked fine.
In summary:
if eata is loaded kexec reboot will fail unless a modprobe -r eata is done either manually or by a cron job.
if a modprobe -r eata has been done, then even if I modprobe eata and fsck and mount filesystems, kexec reboot works.
Any suggestions for further tests or checks welcome.
Arthur.
| |