From: Guenter Roeck <linux@roeck-us.net>
To: Jan Kara <jack@suse.cz>
Cc: Theodore Ts'o <tytso@mit.edu>,
linux-ext4@vger.kernel.org,
Andreas Dilger <adilger.kernel@dilger.ca>
Subject: Re: WARNING: at fs/ext4/inode.c:230 ext4_evict_inode+0x41b/0x510
Date: Tue, 9 Jul 2013 07:22:09 -0700 [thread overview]
Message-ID: <20130709142209.GA29798@roeck-us.net> (raw)
In-Reply-To: <20130709083936.GB21060@quack.suse.cz>
On Tue, Jul 09, 2013 at 10:39:36AM +0200, Jan Kara wrote:
> On Mon 08-07-13 21:06:58, Guenter Roeck wrote:
> > On Mon, Jul 08, 2013 at 11:35:10PM -0400, Theodore Ts'o wrote:
> > > On Mon, Jul 08, 2013 at 11:38:29AM -0700, Guenter Roeck wrote:
> > > > Hi,
> > > >
> > > > seen this morning with a brand new top-of-tree kernel (as of last night) plus a
> > > > couple of patches I am working on.
> > > >
> > > > Due to my changes, there is a slight chance that the problem is not due to an
> > > > upstream bug, but I think that is quite unlikely (my changes are unrelated
> > > > to file system code).
> > > >
> > > > If there is anything I can help to track this down, please let me know.
> > > >
> > > > [13071.291013] ------------[ cut here ]------------
> > > > [13071.291021] WARNING: at fs/ext4/inode.c:230 ext4_evict_inode+0x41b/0x510()
> > >
> > > Hmm, this warning was added by commit 5dc23bdd5: ext4: remove
> > > ext4_ioend_wait().
> > >
> > > What sort of work load are you running on this machine? Do you know
> > > what might have triggered it?
> > >
> > My nightly kernel builds were running at the time. This is a sequence of git
> > clone/checkout operations followed by builds for several targets.
> >
> > I have the same kernel running on three systems, but this only happened on the
> > build machine, and I have not seen it again during the day.
> >
> > I'll let you know if it happens again tonight.
> Thanks for report. I think I see what's going on. I think we completed
> bio directly in ext4_end_bio() (as it didn't need unwritten conversion) but
> io_end is released only a bit later which can race with ext4_evict_inode()
> as:
> CPU1 CPU2
> ext4_end_bio() ext4_evict_inode()
> ext4_finish_bio()
> end_page_writeback();
> truncate_inode_pages()
> evict page
> WARN_ON(i_ioend_count > 0);
> ext4_put_io_end_defer()
> ext4_release_io_end()
> dec i_ioend_count
>
> This seems harmless. I'll see if I can easily fix this to make the warning
> still useful. If not, I'll just rip out i_ioend_count completely as it's
> there only as a sanity check until the new code settles down...
>
Good to hear that. It did not happen tonight, even though I ran builds on two
systems, so it must be quite rare.
It would be great if you can Cc: me on any patch. Also, if you have some
test software to trigger this condition, let me know and I'll give it a try.
Thanks,
Guenter
prev parent reply other threads:[~2013-07-09 14:22 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-08 18:38 WARNING: at fs/ext4/inode.c:230 ext4_evict_inode+0x41b/0x510 Guenter Roeck
2013-07-09 3:35 ` Theodore Ts'o
2013-07-09 4:06 ` Guenter Roeck
2013-07-09 8:39 ` Jan Kara
2013-07-09 14:22 ` Guenter Roeck [this message]
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=20130709142209.GA29798@roeck-us.net \
--to=linux@roeck-us.net \
--cc=adilger.kernel@dilger.ca \
--cc=jack@suse.cz \
--cc=linux-ext4@vger.kernel.org \
--cc=tytso@mit.edu \
/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.