[lkml]   [2012]   [Feb]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Bug in disk event polling
Hello, Alan.

On Fri, Feb 10, 2012 at 04:03:51PM -0500, Alan Stern wrote:
> None of those resets above should have occurred. They are the result
> of trying to recover from the failure of a TEST UNIT READY command.

Thanks for the log. Yeah, I was just thinking about libata and
wondering why it would break that badly.

> > > I have verified that changing all occurrences of system_nrt_wq in
> > > block/genhd.c to system_freezable_wq fixes the bug. However this may
> > > not be the way you want to solve it; you may prefer to have a freezable
> > > non-reentrant work queue.
> >
> > Please feel free to send out a patch to fix the issue. :)
> Is there a real reason for using system_nrt_wq? Are you okay with just
> switching over to system_freezable_wq?

I think it should be nrt. It assumes that no one else is running it
concurrently; otherwise, multiple CPUs could jump into
disk->fops->check_events() concurrently which can be pretty ugly.



 \ /
  Last update: 2012-02-10 22:15    [W:0.032 / U:7.452 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site