Re: rbd merge-diff error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Great, thanks Josh!  Using stdin/stdout merge-diff is working.  Thank you for looking into this.

--
Alex Gorbachev
Storcium

On Wed, Dec 9, 2015 at 2:25 PM, Josh Durgin <jdurgin@xxxxxxxxxx> wrote:
This is the problem:

http://tracker.ceph.com/issues/14030

As a workaround, you can pass the first diff in via stdin, e.g.:

cat snap1.diff | rbd merge-diff - snap2.diff combined.diff

Josh


On 12/08/2015 11:11 PM, Josh Durgin wrote:
On 12/08/2015 10:44 PM, Alex Gorbachev wrote:
Hi Josh,

On Mon, Dec 7, 2015 at 6:50 PM, Josh Durgin <jdurgin@xxxxxxxxxx
<mailto:jdurgin@xxxxxxxxxx>> wrote:

    On 12/07/2015 03:29 PM, Alex Gorbachev wrote:

        When trying to merge two results of rbd export-diff, the
        following error
        occurs:

        iss@lab2-b1:~$ rbd export-diff --from-snap autosnap120720151500
        spin1/scrun1@autosnap120720151502
        /data/volume1/scrun1-120720151502.bck

        iss@lab2-b1:~$ rbd export-diff --from-snap autosnap120720151504
        spin1/scrun1@autosnap120720151504
        /data/volume1/scrun1-120720151504.bck

        iss@lab2-b1:~$ rbd merge-diff
/data/volume1/scrun1-120720151502.bck
        /data/volume1/scrun1-120720151504.bck
        /data/volume1/mrg-scrun1-0204.bck
              Merging image diff: 11% complete...failed.
        rbd: merge-diff error

        That's all the output and I have found this link
        http://tracker.ceph.com/issues/12911 but not sure if the patch
        should
        have already been in hammer or how to get it?


    That patch fixed a bug that was only present after hammer, due to
    parallelizing export-diff. You're likely seeing a different (possibly
    new) issue.

    Unfortunately there's not much output we can enable for
export-diff in
    hammer. Could you try running the command via gdb to figure out where
    and why it's failing? Make sure you have librbd-dbg installed, then
    send the output from gdb doing:

    gdb --args rbd merge-diff /data/volume1/scrun1-120720151502.bck \
    /data/volume1/scrun1-120720151504.bck
/data/volume1/mrg-scrun1-0204.bck
    break rbd.cc:1931
    break rbd.cc:1935
    break rbd.cc:1967
    break rbd.cc:1985
    break rbd.cc:1999
    break rbd.cc:2008
    break rbd.cc:2021
    break rbd.cc:2053
    break rbd.cc:2098
    run
    # (it will run now, stopping when it hits the error)
    info locals


Will do - how does one load librbd-dbg?  I have the following on the
system:

librbd-dev - RADOS block device client library (development files)
librbd1-dbg - debugging symbols for librbd1

is librbd1-dbg sufficient?

Yes, I just forgot the 1 in the package name.

Also a question - the merge-diff really stitches the to diff files
together, not really merges, correct? For example, in the following
workflow:

export-diff from full image - 10GB
export-diff from snap1 - 2 GB
export-diff from snap2 - 1 GB

My resulting merge export file would be 13GB, correct?

It does merge overlapping sections, i.e. part of snap1 that was
overwritten in snap2, so the merged diff may be smaller than the
original two.

Josh


_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux