lkml.org 
[lkml]   [2008]   [Dec]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: Changes to Linux/SCSI target mode infrastructure for v2.6.28
From
Date
On Mon, 2008-12-01 at 22:40 -0800, Mike Anderson wrote:
> Nicholas A. Bellinger <nab@linux-iscsi.org> wrote:
> > On Tue, 2008-12-02 at 13:18 +0900, Tejun Heo wrote:
> > >
> > > >>> The other one is a BUG_ON in blk/blk-timeout.c:177 in blk_add_timeout()
> > > >>> that happens after a few hundred MB of READ_10 traffic, which also
> > > >>> appears to pass through elv_dequeue_request() at some point:
> > > >>>
> > > >>> http://linux-iscsi.org/builds/user/nab/2.6.28-rc6-oops-2.png
> > > >>> http://linux-iscsi.org/builds/user/nab/2.6.28-rc6-oops-4.png
> > >
> > > Hmmm... this means blk_add_timer() is being called after the request
> > > is already completed.
>
> or is it possible since elv_dequeue_request BUG_ON check of queuelist did
> not trigger a request is on the queuelist with a timeout_list not empty.
>
> It would be interesting for a debug run to change the
> "BUG_ON(!list_empty(&req->timeout_list))" in blk_add_timer to print out
> the cmd_flags plus req->atomic_flags and also add a
> "BUG_ON(!list_empty(&rq->timeout_list))" to elv_insert to ensure a request
> is never added to the queuelist with a timeout_list not empty.
>

Ok, so blk_dump_rq_flags() is now being called in
block/blk-timeout.c:blk_add_timer() for the case
BUG_ON(list_empty(&req->timeout_list)) case:

http://linux-iscsi.org/builds/user/nab/2.6.28-rc6-oops-6.png

Hmm, the outputted "sector " range is definately is bogus, as the only
READ_10 that have been sent are at LBA offset 0 for 8 * 512 byte sectors
for the partition table during Open/iSCSI LUN scanning.

--nab




\
 
 \ /
  Last update: 2008-12-02 09:33    [W:2.012 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site