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 <jdur...@redhat.com> 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 <jdur...@redhat.com >>> <mailto:jdur...@redhat.com>> 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@lists.ceph.com http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com