lkml.org 
[lkml]   [2015]   [Sep]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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.




\
 
 \ /
  Last update: 2015-09-26 08:41    [W:0.084 / U:0.196 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site