All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Brian Foster <bfoster@redhat.com>
Cc: xfs@oss.sgi.com
Subject: Re: [RFC PATCH] xfs: borrow indirect blocks from freed extent when available
Date: Fri, 26 Sep 2014 11:59:31 +1000	[thread overview]
Message-ID: <20140926015931.GL4945@dastard> (raw)
In-Reply-To: <20140925150703.GB47304@bfoster.bfoster>

On Thu, Sep 25, 2014 at 11:07:04AM -0400, Brian Foster wrote:
> On Thu, Sep 25, 2014 at 09:30:14AM +1000, Dave Chinner wrote:
> > I knew I'd looked at this before:
> > 
> > http://oss.sgi.com/archives/xfs/2014-03/msg00314.html
> > 
> > That got lost because I wrote it in a topic branch and not my usual
> > working branch, so when I dropped the topic branch. Guilt, however,
> > keeps all the patches from topic branches around, and so when I just
> > did a grep for da_new across .git/patch, this showed up.
> > 
> > It's basically the same "steal blocks from the deleted extent
> > reservation fix, and it was trying to address the above failure.
> > However, there are some other details in it (like changing the
> > location of delalloc accounting updates) that might be relevant.
> > 
> 
> Ah, right. I thought I had seen something like this before. In fact I
> had it in my head that we already did something like this when I
> narrowed in on the code so I was somewhat surprised, but I didn't go
> back and look through the list. That explains that. :)
> 
> This version moves the entire delalloc accounting hunk after the
> xfs_bmap_del_extent() call. I think the problem with that is the sb
> counter is the only record keeping that encompasses data blocks and
> indirect blocks, which is why I only moved that update in xfs_bunmapi().
> That's also precisely why I consider using a separate parameter rather
> than updating br_blockcount.
> 
> Let me know if you wanted to resurrect this one, otherwise I'll try to
> double check all of that when I get back to reworking mine...

It doesn't need to be resurrected if you've got a better fix. ;)

> > I'm pretty sure the test case was simply something like:
> > 
> > xfs_io -f -c "pwrite 0 1m" \
> > 	  -c "fzero 4k 8k" \
> > 	  -c "fzero 16k 8k" \
> > 	  -c "fzero 32k 8k" \
> > 	  -c "fzero 64k 8k" \
> > 	 .....
> > 
> > To basically split the delalloc extent repeatedly and hence drain
> > the reservation.
> > 
> 
> Yep, thanks. I assume you saw the test I posted:
> 
> http://oss.sgi.com/archives/xfs/2014-09/msg00371.html

Yup, I did see that later in the day....

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

      reply	other threads:[~2014-09-26  1:59 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-23 19:28 [RFC PATCH] xfs: borrow indirect blocks from freed extent when available Brian Foster
2014-09-23 21:58 ` Dave Chinner
2014-09-24 12:27   ` Brian Foster
2014-09-24 23:30     ` Dave Chinner
2014-09-25 15:07       ` Brian Foster
2014-09-26  1:59         ` Dave Chinner [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=20140926015931.GL4945@dastard \
    --to=david@fromorbit.com \
    --cc=bfoster@redhat.com \
    --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.