From: Dave Chinner <david@fromorbit.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: xfs@oss.sgi.com
Subject: Re: [regression] stack overflow in xfs_buf_iodone_callbacks
Date: Sat, 23 Jun 2012 09:39:55 +1000 [thread overview]
Message-ID: <20120622233955.GY19223@dastard> (raw)
In-Reply-To: <20120622164147.GA20617@infradead.org>
On Fri, Jun 22, 2012 at 12:41:47PM -0400, Christoph Hellwig wrote:
> On Fri, Jun 22, 2012 at 09:24:14AM +1000, Dave Chinner wrote:
> > It may have been - I didn't catch the initial cause of the problem
> > in my log because it hard-hung the VM and it wasn't in the
> > scrollback buffer on the console. All I saw was a corruption error,
> > a shutdown and the stack blowing up.
> >
> > Still, I think there is a real problem here - any persistent device
> > error on IO submission can cause this problem to occur....
>
> Yes, I was just trying to ask what actually happened as your original
> explanation didn't seem to be possible.
> I think the patch below should be enough as a minimal fix to avoid the
>
> stack overflow for 3.5. We'll need a much bigger overhaul of the buffer
> error handling after that, though.
>
>
> Index: xfs/fs/xfs/xfs_buf.c
> ===================================================================
> --- xfs.orig/fs/xfs/xfs_buf.c 2012-06-22 14:20:46.696568355 +0200
> +++ xfs/fs/xfs/xfs_buf.c 2012-06-22 14:21:37.733234717 +0200
> @@ -1255,7 +1255,7 @@ xfs_buf_iorequest(
> */
> atomic_set(&bp->b_io_remaining, 1);
> _xfs_buf_ioapply(bp);
> - _xfs_buf_ioend(bp, 0);
> + _xfs_buf_ioend(bp, 1);
Hmmmm. How often do we get real io completion occurring before we
call _xfs_buf_ioend() here? I can't see that it is common, so this
is probably fine, but perhaps a few numbers might help here? If it
is rare as we think it is, then yeah, that would work....
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2012-06-22 23:39 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-21 9:18 [regression] stack overflow in xfs_buf_iodone_callbacks Dave Chinner
2012-06-21 9:21 ` Christoph Hellwig
2012-06-21 9:29 ` Dave Chinner
2012-06-21 10:06 ` Stan Hoeppner
2012-06-21 16:34 ` Christoph Hellwig
2012-06-21 23:24 ` Dave Chinner
2012-06-22 16:41 ` Christoph Hellwig
2012-06-22 23:39 ` Dave Chinner [this message]
2012-06-25 9:06 ` Christoph Hellwig
2012-06-26 2:20 ` Dave Chinner
2012-06-26 7:51 ` 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=20120622233955.GY19223@dastard \
--to=david@fromorbit.com \
--cc=hch@infradead.org \
--cc=xfs@oss.sgi.com \
/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.