From: Liu Bo <bo.li.liu@oracle.com>
To: Chris Mason <chris.mason@fusionio.com>,
Mitch Harder <mitch.harder@sabayonlinux.org>
Cc: "linux-btrfs@vger.kernel.org" <linux-btrfs@vger.kernel.org>,
"dave@jikos.cz" <dave@jikos.cz>
Subject: Re: [PATCH 2/2 v3] Btrfs: snapshot-aware defrag
Date: Mon, 08 Oct 2012 20:18:26 +0800 [thread overview]
Message-ID: <5072C492.8040205@oracle.com> (raw)
In-Reply-To: <20121003140259.GA4458@shiny>
On 10/03/2012 10:02 PM, Chris Mason wrote:
> On Tue, Sep 25, 2012 at 07:07:53PM -0600, Liu Bo wrote:
>> On 09/26/2012 01:39 AM, Mitch Harder wrote:
>>> On Mon, Sep 17, 2012 at 4:58 AM, Liu Bo <bo.li.liu@oracle.com> wrote:
>>>> This comes from one of btrfs's project ideas,
>>>> As we defragment files, we break any sharing from other snapshots.
>>>> The balancing code will preserve the sharing, and defrag needs to grow this
>>>> as well.
>>>>
>>>> Now we're able to fill the blank with this patch, in which we make full use of
>>>> backref walking stuff.
>>>>
>>>> Here is the basic idea,
>>>> o set the writeback ranges started by defragment with flag EXTENT_DEFRAG
>>>> o at endio, after we finish updating fs tree, we use backref walking to find
>>>> all parents of the ranges and re-link them with the new COWed file layout by
>>>> adding corresponding backrefs.
>>>>
>>>> Originally patch by Li Zefan <lizf@cn.fujitsu.com>
>>>> Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
>>>
>>> I'm hitting the WARN_ON in record_extent_backrefs() indicating a
>>> problem with the return value from iterate_inodes_from_logical().
>
> Me too. It triggers reliably with mount -o autodefrag, and then crashes
> a in the next function ;)
>
> -chris
>
Hi Chris, Mitch,
I'm afraid that I may need a little more time to fix all bugs in it because there seems to be
some backref walking bugs mixed in, and at least 4 different crashes make it harder to address bugs.
I use an 1G random write fio job running in background, following by creating 20 snapshots in background,
and mount -o autodefrag.
So if your crash is quite stable in one place, please let me know the steps.
thanks,
liubo
next prev parent reply other threads:[~2012-10-08 12:18 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-17 9:58 [PATCH 1/2 v3] Btrfs: use flag EXTENT_DEFRAG for snapshot-aware defrag Liu Bo
2012-09-17 9:58 ` [PATCH 2/2 v3] Btrfs: " Liu Bo
2012-09-17 10:04 ` Liu Bo
2012-09-17 17:15 ` Josef Bacik
2012-09-18 0:23 ` Liu Bo
2012-09-18 13:10 ` Josef Bacik
2012-09-25 17:39 ` Mitch Harder
2012-09-26 1:07 ` Liu Bo
2012-10-03 14:02 ` Chris Mason
2012-10-04 14:22 ` Liu Bo
2012-10-04 19:40 ` Mitch Harder
2012-10-08 12:18 ` Liu Bo [this message]
2012-10-08 13:19 ` Chris Mason
2012-10-08 15:06 ` Mitch Harder
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=5072C492.8040205@oracle.com \
--to=bo.li.liu@oracle.com \
--cc=chris.mason@fusionio.com \
--cc=dave@jikos.cz \
--cc=linux-btrfs@vger.kernel.org \
--cc=mitch.harder@sabayonlinux.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 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.