Re: 2.6.23-git3 jfs/bio bug

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 2007-10-13 at 10:25 -0700, Randy Dunlap wrote:
> [ 9158.155844] JFS: nTxBlock = 8192, nTxLock = 65536
> [ 9159.199567] BUG at fs/jfs/jfs_logmgr.c:2333 assert(bp->l_flag & lbmRELEASE)
> [ 9159.206566] ------------[ cut here ]------------
> [ 9159.211189] kernel BUG at fs/jfs/jfs_logmgr.c:2333!
> [ 9159.216066] invalid opcode: 0000 [1] SMP 
> [ 9159.220108] CPU 2 
> [ 9159.222144] Modules linked in: jfs loop
> [ 9159.226034] Pid: 0, comm: swapper Not tainted 2.6.23-git3 #1
> [ 9159.231688] RIP: 0010:[<ffffffff8801e39c>]  [<ffffffff8801e39c>] :jfs:lbmIODone+0x317/0x367
> [ 9159.240063] RSP: 0018:ffff81011fcefc90  EFLAGS: 00010286
> [ 9159.245372] RAX: 0000000000000052 RBX: ffff81011fcfe800 RCX: 0000000000000000
> [ 9159.252499] RDX: 0000000100000000 RSI: 0000000000000082 RDI: 0000000100000000
> [ 9159.259626] RBP: ffff81011fcefcc0 R08: ffffffff806e43b8 R09: 0000000000000086
> [ 9159.266754] R10: 0000000000000082 R11: ffffffff8073d000 R12: 0000000000000282
> [ 9159.273881] R13: ffff81011d451740 R14: 0000000000000000 R15: 0000000000001000
> [ 9159.281009] FS:  0000000000000000(0000) GS:ffff81011fc75840(0000) knlGS:0000000000000000
> [ 9159.289089] CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
> [ 9159.294830] CR2: 00002adf5b051180 CR3: 000000010416b000 CR4: 00000000000006e0
> [ 9159.301959] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> [ 9159.309087] DR3: 0000000000000000 DR6: 00000000ffff4ff0 DR7: 0000000000000400
> [ 9159.316215] Process swapper (pid: 0, threadinfo ffff81011fce8000, task ffff81011fca3820)
> [ 9159.324293] Stack:  ffff81011fcefca0 ffff81010f51e800 0000000000000000 ffff8101061b7728
> [ 9159.332374]  0000000000000000 0000000000001000 ffff81011fcefcd0 ffffffff802ac695
> [ 9159.339830]  ffff81011fcefcf0 ffffffff803404a6 0000000000001000 ffff81010f51e800
> [ 9159.347096] Call Trace:
> [ 9159.349738]  <IRQ>  [<ffffffff802ac695>] bio_endio+0x28/0x2a
> [ 9159.355423]  [<ffffffff803404a6>] req_bio_endio+0x79/0x93
> [ 9159.360817]  [<ffffffff803405c1>] __end_that_request_first+0x101/0x2cb
> [ 9159.367339]  [<ffffffff80340794>] end_that_request_chunk+0x9/0xb
> [ 9159.373341]  [<ffffffff8043af50>] scsi_end_request+0x30/0xd5
> [ 9159.378995]  [<ffffffff8043b1b1>] scsi_io_completion+0x15a/0x390
> [ 9159.384998]  [<ffffffff8048b154>] sd_rw_intr+0x2d1/0x305
> [ 9159.390307]  [<ffffffff80436078>] scsi_finish_command+0x98/0xa1
> [ 9159.396220]  [<ffffffff8043bab1>] scsi_softirq_done+0xf1/0xfa
> [ 9159.401963]  [<ffffffff8034323c>] blk_done_softirq+0x63/0x72
> [ 9159.407619]  [<ffffffff8023e06f>] __do_softirq+0x57/0xc7
> [ 9159.412927]  [<ffffffff8020c67c>] call_softirq+0x1c/0x28
> [ 9159.418235]  [<ffffffff8020d9a4>] do_softirq+0x34/0x87
> [ 9159.423370]  [<ffffffff8023e016>] irq_exit+0x3f/0x41
> [ 9159.428333]  [<ffffffff8020db3b>] do_IRQ+0x144/0x169
> [ 9159.433296]  [<ffffffff8020a7f2>] mwait_idle+0x0/0x4e
> [ 9159.438344]  [<ffffffff8020ba01>] ret_from_intr+0x0/0xa
> [ 9159.443566]  <EOI>  [<ffffffff8020a838>] mwait_idle+0x46/0x4e
> [ 9159.449335]  [<ffffffff8020a0b0>] enter_idle+0x22/0x24
> [ 9159.454470]  [<ffffffff8020a785>] cpu_idle+0x93/0xb6
> [ 9159.459434]  [<ffffffff8021bca0>] start_secondary+0x2b7/0x2c6
> [ 9159.465173] 
> [ 9159.466670] 
> [ 9159.466671] Code: 0f 0b eb fe a8 10 75 25 48 c7 c1 6e 6b 02 88 ba 1e 09 00 00 
> [ 9159.475739] RIP  [<ffffffff8801e39c>] :jfs:lbmIODone+0x317/0x367
> [ 9159.481775]  RSP <ffff81011fcefc90>
> [ 9159.485552] Kernel panic - not syncing: Fatal exception
> [ 9159.490780] Rebooting in 30 seconds..

I don't have time to test this now, but the bio_endio patches ended up
removing some return statements that need to stay.  I think this should
fix it.

JFS: Bio cleanup: Replace missing return statements

commit 6712ecf8f648118c3363c142196418f89a510b90 removed some "return 0;"
statements, rather than changing them to null returns.

Signed-off-by: Dave Kleikamp <[email protected]>

diff --git a/fs/jfs/jfs_logmgr.c b/fs/jfs/jfs_logmgr.c
index ccfd029..15a3974 100644
--- a/fs/jfs/jfs_logmgr.c
+++ b/fs/jfs/jfs_logmgr.c
@@ -2234,6 +2234,8 @@ static void lbmIODone(struct bio *bio, int error)
 
 		/* wakeup I/O initiator */
 		LCACHE_WAKEUP(&bp->l_ioevent);
+
+		return;
 	}
 
 	/*
@@ -2258,6 +2260,7 @@ static void lbmIODone(struct bio *bio, int error)
 	if (bp->l_flag & lbmDIRECT) {
 		LCACHE_WAKEUP(&bp->l_ioevent);
 		LCACHE_UNLOCK(flags);
+		return;
 	}
 
 	tail = log->wqueue;

-- 
David Kleikamp
IBM Linux Technology Center

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux