Project

General

Profile

Actions

Bug #6257

closed

rbd: cp on sparse image allocates objects in dest

Added by Sage Weil over 10 years ago. Updated about 10 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Target version:
-
% Done:

0%

Source:
Community (user)
Tags:
Backport:
Regression:
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

$ ./rbd create foo --size 1000  
$ ./rbd cp foo bar

allocates objects for each block of bar.
Actions #1

Updated by Ian Colle over 10 years ago

  • Assignee set to Josh Durgin
Actions #2

Updated by Oliver Daudey over 10 years ago

Same goes for "rbd flatten", which also seems to allocate every block in the resulting image, even if large parts are sparse.

Actions #3

Updated by Ian Colle about 10 years ago

  • Priority changed from High to Urgent
Actions #4

Updated by Josh Durgin about 10 years ago

  • Status changed from New to Fix Under Review

Flatten ignores empty objects since commit:bfa106694dc4db97f58c623eafc3c2d0f9a8bff1, which is in dumpling and emperor. The objects are still created (with size 0) so that there's no implicit reference to the parent while the flatten completes. You can also see that there's no I/O to the empty objects via 'rbd diff <image>'.

Copying is up for review:
https://github.com/ceph/ceph/pull/1575

Actions #5

Updated by Sage Weil about 10 years ago

  • Status changed from Fix Under Review to Resolved
Actions

Also available in: Atom PDF