linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Liu Bo <bo.li.liu@oracle.com>
To: Josef Bacik <jbacik@fusionio.com>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: [PATCH] Btrfs: limit delalloc pages outside of find_delalloc_range
Date: Wed, 9 Oct 2013 21:07:13 +0800	[thread overview]
Message-ID: <20131009130711.GB13983@localhost.localdomain> (raw)
In-Reply-To: <20131009125712.GE16461@localhost.localdomain>

On Wed, Oct 09, 2013 at 08:57:12AM -0400, Josef Bacik wrote:
> On Wed, Oct 09, 2013 at 06:07:20PM +0800, Liu Bo wrote:
> > On Tue, Oct 08, 2013 at 01:31:57PM -0400, Josef Bacik wrote:
> > > Liu fixed part of this problem and unfortunately I steered him in slightly the
> > > wrong direction and so didn't completely fix the problem.  The problem is we
> > > limit the size of the delalloc range we are looking for to max bytes and then we
> > > try to lock that range.  If we fail to lock the pages in that range we will
> > > shrink the max bytes to a single page and re loop.  However if our first page is
> > > inside of the delalloc range then we will end up limiting the end of the range
> > > to a period before our first page.  This is illustrated below
> > > 
> > > [0 -------- delalloc range --------- 256mb]
> > >                                   [page]
> > > 
> > > So find_delalloc_range will return with delalloc_start as 0 and end as 128mb,
> > > and then we will notice that delalloc_start < *start and adjust it up, but not
> > > adjust delalloc_end up, so things go sideways.  To fix this we need to not limit
> > 
> > This makes me more confused...
> > so do you mean that 'delalloc_end < delalloc_start' leads to the not locked pages?
> > 
> 
> No, it leads to an infinite loop, I still have no idea how that guy was seeing
> unlocked pages with you patch :(.  Thanks,

Oh infinite loop yah, that makes sense :)

-liubo

      reply	other threads:[~2013-10-09 13:07 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-08 17:31 [PATCH] Btrfs: limit delalloc pages outside of find_delalloc_range Josef Bacik
2013-10-09 10:07 ` Liu Bo
2013-10-09 12:57   ` Josef Bacik
2013-10-09 13:07     ` Liu Bo [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=20131009130711.GB13983@localhost.localdomain \
    --to=bo.li.liu@oracle.com \
    --cc=jbacik@fusionio.com \
    --cc=linux-btrfs@vger.kernel.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).