Bug #14030
closedrbd merge-diff doesn't properly handle >2GB diffs
0%
Description
It is using lseek instead of lseek64 -- resulting in an overflow.
lseek(4, 4096, SEEK_CUR) = 2147504762 write(2, "rbd: failed to skip first diff d"..., 35rbd: failed to skip first diff data) = 35
Updated by Josh Durgin over 8 years ago
- Subject changed from rbd merge-diff doesn't properly handle >2GB images to rbd merge-diff doesn't properly handle >2GB diffs
It only seeks to skip parts of the first diff that were overwritten, so a workaround would be to pass the first diff via stdin, i.e.
cat snap1.diff | rbd merge-diff - snap2.diff combined.diff
Updated by Josh Durgin over 8 years ago
- Status changed from New to Pending Backport
https://github.com/ceph/ceph/pull/6889
commit:68125dd01349edf93cfa1af5028c2d438b5ae089
Updated by Loïc Dachary over 8 years ago
- Copied to Backport #14062: infernalis: rbd merge-diff doesn't properly handle >2GB diffs added
Updated by Loïc Dachary over 8 years ago
- Copied to Backport #14063: hammer: rbd merge-diff doesn't properly handle >2GB diffs added
Updated by Abhishek Varshney over 8 years ago
src/tools/rbd/action/MergeDiff.cc doesn't exist for hammer and infernalis. This may require backporting fa4e00f8c85603ed202bfef2f3be6086482fbbb2 and c7f71d14a5d31d14f3556a1f1f2a991b5ea0a75d too. Please confirm.
Updated by Josh Durgin over 8 years ago
No other backports are needed for this - the same change should just be applied to src/rbd.cc in infernalis and hammer. If you like Jason or I can do it. This will be a common issue with rbd backports to infernalis and hammer since there's been a lot of refactoring recently.
Updated by Abhishek Varshney over 8 years ago
Thanks Josh. I have assigned http://tracker.ceph.com/issues/14062 to you for now. I would look out for rbd backports in future.
Updated by Nathan Cutler about 8 years ago
- Status changed from Pending Backport to Resolved