All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Mason <clm@fb.com>
To: "muthu.lkml@gmail.com" <muthu.lkml@gmail.com>
Cc: "kmo@daterainc.com" <kmo@daterainc.com>,
	"linux-btrfs@vger.kernel.org" <linux-btrfs@vger.kernel.org>,
	"fengguang.wu@intel.com" <fengguang.wu@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"lkp@linux.intel.com" <lkp@linux.intel.com>,
	"axboe@kernel.dk" <axboe@kernel.dk>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>
Subject: Re: [block:for-3.14/core] kernel BUG at fs/bio.c:1748
Date: Wed, 8 Jan 2014 21:13:47 +0000	[thread overview]
Message-ID: <1389215654.23310.39.camel@ret.masoncoding.com> (raw)
In-Reply-To: <CAFR8ueeC_fqpN+M5YOr8AT_o3BDgr+o1ELQQJQSW7s8uDm2y5Q@mail.gmail.com>

On Tue, 2014-01-07 at 12:15 -0800, Muthu Kumar wrote:
> Thanks Fengguang. Final patch with added comment. BTW, fengguang
> mentioned that git-am has trouble with the inline patch and "quilt
> import" worked fine for him...
> 
> ------------
> In btrfs_end_bio(), we increment bi_remaining if is_orig_bio. If not,
> we restore the orig_bio but failed to increment bi_remaining for
> orig_bio, which triggers a BUG_ON later when bio_endio is called. Fix
> is to increment bi_remaining when we restore the orig bio as well.
> 
> Reported-and-Tested-by: Fengguang wu <fengguang.wu@intel.com>
> CC: Kent Overstreet <kmo@daterainc.com>
> CC: Jens Axboe <axboe@kernel.dk>
> CC: Chris Mason <clm@fb.com>
> Signed-off-by: Muthukumar Ratty <muthur@gmail.com>
> 

Reviewed-by: Chris Mason <clm@fb.com>

Jens, please pull this one in.

> -----------
>  fs/btrfs/volumes.c |    8 ++++++--
>  1 files changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
> index 37972d5..34aba2b 100644
> --- a/fs/btrfs/volumes.c
> +++ b/fs/btrfs/volumes.c
> @@ -5297,9 +5297,13 @@ static void btrfs_end_bio(struct bio *bio, int err)
>                 if (!is_orig_bio) {
>                         bio_put(bio);
>                         bio = bbio->orig_bio;
> -               } else {
> -                       atomic_inc(&bio->bi_remaining);
>                 }
> +                /*
> +                 * We have original bio now. So increment bi_remaining to
> +                 * account for it in endio
> +                 */
> +               atomic_inc(&bio->bi_remaining);
> +
>                 bio->bi_private = bbio->private;
>                 bio->bi_end_io = bbio->end_io;
>                 btrfs_io_bio(bio)->mirror_num = bbio->mirror_num;
> 
> -------------------------------------



  parent reply	other threads:[~2014-01-08 21:13 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-02  5:31 [block:for-3.14/core] kernel BUG at fs/bio.c:1748 fengguang.wu
2014-01-02  5:31 ` fengguang.wu
2014-01-03 19:51 ` Muthu Kumar
2014-01-05  9:46   ` Fengguang Wu
2014-01-05 16:28     ` Muthu Kumar
2014-01-06  2:21       ` Fengguang Wu
2014-01-06 22:10   ` Kent Overstreet
2014-01-07  0:47     ` Muthu Kumar
2014-01-07  2:52       ` Kent Overstreet
2014-01-07  5:53       ` Fengguang Wu
2014-01-07 20:15         ` Muthu Kumar
2014-01-07 20:29           ` Chris Mason
2014-01-07 21:23             ` Muthu Kumar
2014-01-08 19:41               ` Chris Mason
2014-01-08 19:54                 ` Muthu Kumar
2014-01-08 20:16                   ` Chris Mason
2014-01-08 20:40                     ` Muthu Kumar
2014-01-08 20:51                       ` Chris Mason
2014-01-08 21:01                         ` Muthu Kumar
2014-01-08 21:11                           ` Chris Mason
2014-01-08 21:14                             ` Kent Overstreet
2014-01-08 21:18                               ` Muthu Kumar
2014-01-08 21:24                                 ` Kent Overstreet
2014-01-08 21:13           ` Chris Mason [this message]
2014-01-08 21:21             ` Jens Axboe

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=1389215654.23310.39.camel@ret.masoncoding.com \
    --to=clm@fb.com \
    --cc=axboe@kernel.dk \
    --cc=fengguang.wu@intel.com \
    --cc=kmo@daterainc.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@linux.intel.com \
    --cc=muthu.lkml@gmail.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.