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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.