From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Kleikamp Subject: Re: [Jfs-discussion] Kernel oops when accessing to mounted, but unplugged JFS Date: Mon, 22 Nov 2010 10:22:23 -0600 Message-ID: <1290442943.5315.7.camel@shaggy-w500> References: <20101121122008.GE4024__36829.3162588545$1290342860$gmane$org@localhost> <87lj4mv9u1.fsf@basil.nowhere.org> Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Cc: Alexander Kolesen , linux-fsdevel@vger.kernel.org, rjw@sisk.pl, jfs-discussion@lists.sourceforge.net, viro@zeniv.linux.org.uk, Christoph Hellwig , Jens Axboe To: Andi Kleen Return-path: Received: from e7.ny.us.ibm.com ([32.97.182.137]:51107 "EHLO e7.ny.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750926Ab0KVQW1 (ORCPT ); Mon, 22 Nov 2010 11:22:27 -0500 Received: from d01relay05.pok.ibm.com (d01relay05.pok.ibm.com [9.56.227.237]) by e7.ny.us.ibm.com (8.14.4/8.13.1) with ESMTP id oAMG5P9v023865 for ; Mon, 22 Nov 2010 11:05:25 -0500 Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by d01relay05.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id oAMGMQkZ141506 for ; Mon, 22 Nov 2010 11:22:26 -0500 Received: from d01av03.pok.ibm.com (loopback [127.0.0.1]) by d01av03.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id oAMGMPaL016802 for ; Mon, 22 Nov 2010 14:22:26 -0200 In-Reply-To: <87lj4mv9u1.fsf@basil.nowhere.org> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Sun, 2010-11-21 at 18:57 +0100, Andi Kleen wrote: > Alexander Kolesen writes: > > [Rafael, a new regression] > > > Hello. > > I've built a kernel from > > git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git > > (Date: Fri Nov 19 19:46:45 2010 -0800) > > and got a kernel oops when tried to access to unplugged, > > but mounted external usb storage formatted with JFS. > > Al seems to be the last person who touched it, maybe it's > related to his changes, like this one. > > commit 152a08366671080f27b32e0c411ad620c5f88b57 > Author: Al Viro > Date: Sun Jul 25 00:46:55 2010 +0400 > > new helper: mount_bdev() > > ... and switch of the obvious get_sb_bdev() users to ->mount() > > Signed-off-by: Al Viro I haven't dug too far into this yet, but I suspect that aaead25b954879e1a708ff2f3602f494c18d20b5 is related. commit aaead25b954879e1a708ff2f3602f494c18d20b5 Author: Christoph Hellwig Date: Mon Oct 4 14:25:33 2010 +0200 writeback: always use sb->s_bdi for writeback purposes I'll have to look at what happens when a device is unplugged to see if JFS is missing something, or it's more of a generic problem. I'm open to suggestions from anybody on cc. Thanks, Shaggy > > > > > Steps to reproduce: > > mkfs.jfs /dev/sdb1 (unpluggable USB hard drive) > > mount /dev/sdb1 /mnt/drive > > cd /mnt/drive > > touch test > > sync > > ..unplug a drive > > ls > > > > > > Result: > > BUG: unable to handle kernel NULL pointer dereference at > > 0000000000000020 > > IP: __mark_inode_dirty > > > > Then I got a kernel coredump. Here is a stack trace: > > > > (gdb) bt > > #0 __mark_inode_dirty (inode=0xffff880078fc1490, flags=) at fs/fs-writeback.c:990 > > #1 0xffffffff810e4990 in mark_inode_dirty_sync (mnt=0xffff88007862fd00, dentry=) at include/linux/fs.h:1687 > > #2 touch_atime (mnt=0xffff88007862fd00, dentry=) at fs/inode.c:1505 > > #3 0xffffffff810dfeb4 in file_accessed (file=0xffff88006afed600, filler=0xffffffff810dfcf8 , buf=0xffff88007762bf38) at include/linux/fs.h:1763 > > #4 vfs_readdir (file=0xffff88006afed600, filler=0xffffffff810dfcf8 , buf=0xffff88007762bf38) at fs/readdir.c:41 > > #5 0xffffffff810e001a in sys_getdents (fd=, dirent=0x1f61468, count=32768) at fs/readdir.c:214 > > #6 0xffffffff810279ab in ?? () at arch/x86/kernel/entry_64.S:479 > > #7 0x00007f8b23d1a4c5 in ?? () > > #8 0x00000000000002bb in ?? () > > #9 0x0000000000000000 in ?? () > > > > (gdb) p bdi > > $1 = (struct backing_dev_info *) 0x0 > > > > (gdb) p inode->i_mapping->backing_dev_info > > $15 = (struct backing_dev_info *) 0xffff880078878d48 > > > > (gdb) p inode->i_sb->s_bdi > > $16 = (struct backing_dev_info *) 0x0 > > > > > > I can't do git bisect because on n'th step my system became unbootable. > > But 2.6.35 doesn't fall. -- Dave Kleikamp IBM Linux Technology Center