From: Joe Thornber <thornber@redhat.com>
To: Teng-Feng Yang <shinrairis@gmail.com>
Cc: dm-devel@redhat.com, ejt@redhat.com
Subject: Re: thin_dump cannot dump the correct data mapping of thin pools
Date: Fri, 4 Oct 2013 15:56:30 +0100 [thread overview]
Message-ID: <20131004145630.GA25523@debian> (raw)
In-Reply-To: <CAKTMprPZ01+JaT0YJhYjPd90gdhfcX-Qa1+wUcv85GffXh74aw@mail.gmail.com>
Hi,
Yes, this is a bug, thanks for looking into this. O_DIRECT was
dropped because it was slow, causing some dump/restores to take minutes.
There should be no problem putting it back in.
Whether O_DIRECT is used or normal buffered IO shouldn't make a
difference with normal offline dumping.
However, you're dumping metadata snapshots from a live system, and
somehow we're getting out of sync with the buffered io, and what's
really on disk. I'd hoped we'd avoid this, the kernel is *not*
changing the metadata snapshot after all. But I guess blocks are
being held in the page cache longer than I expected.
For now I'll change it so it uses O_DIRECT if the metadata_snap flag
is given. Longer term I need to improve my user land cache a bit so
it preemptively flushes dirty data when we get low on space. This
will make O_DIRECT perform well.
Thanks again,
- Joe
On Fri, Oct 04, 2013 at 03:01:14PM +0800, Teng-Feng Yang wrote:
> Hi folks,
>
> I have been working on an incremental backup tools of thin volumes
> created by dm-thin for a couple of months.
> This tool relies on the data mappings dumped by thin_dump from the
> thin-provisioing-tools.
> As I update thin_dump from version 0.1.5 to 0.2.7, it cannot work
> correctly as the earlier 0.1.5 version.
>
> The following things have been observed:
> 1. thin_dump-0.2.7 cannot take user-specified "metadata_snap" as
> v0.1.5. It will always return "bad checksum in superblock".
> 2. If "metadata_snap" is not given by users, thin_dump-0.2.7 only
> dumps the out-dated data mappings which can be recognized by observing
> the wrong "transaction id".
>
> Since it looked like thin_dump failed to get the most up-to-date
> metadata blocks in version 0.2.7, I dig a little deeper into the
> source code and find something that might cause the problem.
> The open flag used on metadata device has been changed from "O_DIRECT
> | O_SYNC" to "0" in commit 4deb1751a650010ce9c15910a064be1348dec8ba .
> After I changed this back to "O_DIRECT | O_SYNC" in version 0.2.7, it
> works as expected once again.
>
> So here is my question.
> Can I change this flag back to "O_DIRECT | O_SYNC" in any newer version?
> I am worry about that I might accidentally mess something up by
> changing this flag.
> Also, what's the purpose to get rid of the "O_DIRECT" and "O_SYNC"
> flags when we migrate to version 0.2.x?
>
> Any help would be highly appreciated.
>
> Best Regards,
> Dennis
prev parent reply other threads:[~2013-10-04 14:56 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-04 7:01 thin_dump cannot dump the correct data mapping of thin pools Teng-Feng Yang
2013-10-04 14:07 ` Mike Snitzer
2013-10-04 14:56 ` Joe Thornber [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=20131004145630.GA25523@debian \
--to=thornber@redhat.com \
--cc=dm-devel@redhat.com \
--cc=ejt@redhat.com \
--cc=shinrairis@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox