From: Alexander Kolesen <kolesen.a@gmail.com>
To: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
Cc: linux-fsdevel@vger.kernel.org, rjw@sisk.pl,
jfs-discussion@lists.sourceforge.net, viro@zeniv.linux.org.uk,
Christoph Hellwig <hch@lst.de>, Jens Axboe <jaxboe@fusionio.com>
Subject: Re: [Jfs-discussion] Kernel oops when accessing to mounted, but unplugged JFS
Date: Mon, 22 Nov 2010 23:20:45 +0200 [thread overview]
Message-ID: <20101122212044.GA2436@localhost> (raw)
In-Reply-To: <1290442943.5315.7.camel@shaggy-w500>
> On Sun, 2010-11-21 at 18:57 +0100, Andi Kleen wrote:
> > Alexander Kolesen <kolesen.a@gmail.com> 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 <viro@zeniv.linux.org.uk>
> > 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 <viro@zeniv.linux.org.uk>
>
> I haven't dug too far into this yet, but I suspect that
> aaead25b954879e1a708ff2f3602f494c18d20b5 is related.
>
> commit aaead25b954879e1a708ff2f3602f494c18d20b5
> Author: Christoph Hellwig <hch@lst.de>
> 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
>
I've tested kernel before and after this commit. Yes, it reproduced after,
and didn't reproduced before.
> >
> > >
> > > 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=<value optimized out>) at fs/fs-writeback.c:990
> > > #1 0xffffffff810e4990 in mark_inode_dirty_sync (mnt=0xffff88007862fd00, dentry=<value optimized out>) at include/linux/fs.h:1687
> > > #2 touch_atime (mnt=0xffff88007862fd00, dentry=<value optimized out>) at fs/inode.c:1505
> > > #3 0xffffffff810dfeb4 in file_accessed (file=0xffff88006afed600, filler=0xffffffff810dfcf8 <filldir>, buf=0xffff88007762bf38) at include/linux/fs.h:1763
> > > #4 vfs_readdir (file=0xffff88006afed600, filler=0xffffffff810dfcf8 <filldir>, buf=0xffff88007762bf38) at fs/readdir.c:41
> > > #5 0xffffffff810e001a in sys_getdents (fd=<value optimized out>, 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
>
next prev parent reply other threads:[~2010-11-22 21:34 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20101121122008.GE4024__36829.3162588545$1290342860$gmane$org@localhost>
2010-11-21 17:57 ` Kernel oops when accessing to mounted, but unplugged JFS Andi Kleen
2010-11-22 16:22 ` [Jfs-discussion] " Dave Kleikamp
2010-11-22 21:20 ` Alexander Kolesen [this message]
2010-11-23 3:41 ` Dave Kleikamp
2010-11-23 8:37 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101122212044.GA2436@localhost \
--to=kolesen.a@gmail.com \
--cc=hch@lst.de \
--cc=jaxboe@fusionio.com \
--cc=jfs-discussion@lists.sourceforge.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=rjw@sisk.pl \
--cc=shaggy@linux.vnet.ibm.com \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).