linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Liu Bo <bo.li.liu@oracle.com>
To: Torbjørn <lists@skagestad.org>
Cc: linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: Re: BTRFS hang with 3.16-rc5 (and also with 3.16-rc4)
Date: Mon, 28 Jul 2014 18:00:59 +0800	[thread overview]
Message-ID: <20140728100059.GB29285@localhost.localdomain> (raw)
In-Reply-To: <53D24166.7030208@skagestad.org>

On Fri, Jul 25, 2014 at 01:37:10PM +0200, Torbjørn wrote:
> On 25. juli 2014 13:09, Torbjørn wrote:
> >On 25. juli 2014 12:22, Torbjørn wrote:
> >>On 25. juli 2014 11:28, Liu Bo wrote:
> >>>Hi Torbjørn,
> >>>
> >>>On Fri, Jul 25, 2014 at 06:51:44AM +0200, Torbjørn wrote:
> >>>>On 07/24/2014 04:58 PM, Chris Mason wrote:
> >>>>><snip>
> >>>>>Liu Bo has a promising patch:
> >>>>>
> >>>>>https://patchwork.kernel.org/patch/4618421/
> >>>>>
> >>>>>Please give it a shot.  There's a second deadlock reading
> >>>>>the free space
> >>>>>cache, I'm still working on that one too.
> >>>>>
> >>>>>-chris
> >>>>I (as expected, my hang was with free space cache) still get hangs
> >>>>with this applied on top of 3.16-rc6.
> >>>>Looking forward to the free space cache patch.
> >>>>
> >>>>I have not been able to trigger the same hang as I had with 3.15 on
> >>>>any of the 3.16-rc6 kernels so far.
> >>>Seems that you can run into the hang quite stably, I have a
> >>>stupid debugging
> >>>patch here with adding a WARN_ON() to
> >>>__load_free_space_inode(), would you
> >>>please give it a shot and show us the output of dmesg?
> >>>
> >>>(This may make 'dmesg' a mess, but it will show who the hell
> >>>holds the free
> >>>space inode's page just at the time before hang)
> >>>
> >>>thanks,
> >>>-liubo
> >>>
> >>>
> >>>diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c
> >>>index 2b0a627..e364888 100644
> >>>--- a/fs/btrfs/free-space-cache.c
> >>>+++ b/fs/btrfs/free-space-cache.c
> >>>@@ -350,6 +350,8 @@ static int io_ctl_prepare_pages(struct
> >>>io_ctl *io_ctl,
> >>>struct inode *inode,
> >>>      gfp_t mask = btrfs_alloc_write_mask(inode->i_mapping);
> >>>      int i;
> >>>  +    WARN_ON(1);
> >>>+
> >>>      for (i = 0; i < io_ctl->num_pages; i++) {
> >>>          page = find_or_create_page(inode->i_mapping, i, mask);
> >>>          if (!page) {
> >>
> >>That patch did not apply cleanly on top of current linus master.
> >>Not sure what branch you are at, so I added that WARN_ON(1);
> >>manually in free-space-cache.c.
> >>I reverted all the other patches before manually applying this one.
> >>If you need me to test from some other branch or with some other
> >>patch included, please let me know.
> >>
> >>I'm doing a build now. Will run my rsync job and report back.
> >>
> >>Thanks.
> >>-- 
> >>Torbjørn
> >Back with results.
> >That's output from dmesg. If you need more, I can send netconsole
> >log as well.
> >
> Seems like the list did not accept the huge email.
> dmesg is available from:
> https://gist.github.com/anonymous/dba1f53211a1d482c3e0

This seems to be incomplete(Looks like dmesg has reached its buffer size limit),
does /var/log/message have the whole stack info?

thanks,
-liubo

> 
> --
> Torbjørn

  parent reply	other threads:[~2014-07-28 10:01 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-14 15:04 BTRFS hang with 3.16-rc5 Martin Steigerwald
2014-07-14 15:10 ` Martin Steigerwald
2014-07-14 17:51   ` Duncan
2014-07-14 22:03     ` Martin Steigerwald
2014-07-15  2:45       ` Duncan
2014-07-14 20:12   ` Chris Mason
2014-07-14 21:58     ` Martin Steigerwald
2014-07-15 13:21       ` Chris Mason
2014-07-15 15:08         ` Martin Steigerwald
2014-07-23 22:47           ` BTRFS hang with 3.16-rc5 (and also with 3.16-rc4) Martin Steigerwald
2014-07-24 14:58             ` Chris Mason
2014-07-24 16:24               ` Martin Steigerwald
2014-07-24 18:49               ` Martin Steigerwald
2014-07-24 20:04                 ` Chris Mason
2014-07-28 22:57                   ` Martin Steigerwald
2014-07-25  2:32                 ` Duncan
2014-07-25  3:06                   ` Nick Krause
     [not found]                     ` <20140725080244.GA31950@carfax.org.uk>
2014-07-25  9:13                       ` Hugo Mills
2014-07-28 13:20                         ` David Sterba
2014-07-25 10:07                   ` Martin Steigerwald
2014-07-25  4:51               ` Torbjørn
     [not found]                 ` <20140725092800.GC25859@localhost.localdomain>
2014-07-25 10:22                   ` Torbjørn
     [not found]                     ` <53D23AF1.9010704@skagestad.org>
2014-07-25 11:37                       ` Torbjørn
2014-07-25 16:14                         ` Torbjørn
2014-07-28 10:00                         ` Liu Bo [this message]
2014-07-28 11:11                           ` Torbjørn
2014-07-29 10:18                             ` Liu Bo
2014-07-29 15:07                               ` Torbjørn
2014-07-30  5:09                                 ` Liu Bo
2014-07-18  7:51         ` BTRFS hang with 3.16-rc5 Martin Steigerwald
2014-07-18 13:36           ` Chris Mason
2014-07-19 17:59             ` Martin Steigerwald
2014-07-19 18:39               ` Chris Mason
2014-07-19 19:00                 ` Martin Steigerwald

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=20140728100059.GB29285@localhost.localdomain \
    --to=bo.li.liu@oracle.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=lists@skagestad.org \
    /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).