Bug 1069557 (RHEV_clone_disk_with_xcopy) - [RFE] disk clone: use xcopy if available (depends on platform BZ for qemu-img to support xcopy - bug 1482537)
Summary: [RFE] disk clone: use xcopy if available (depends on platform BZ for qemu-img...
Keywords:
Status: CLOSED DEFERRED
Alias: RHEV_clone_disk_with_xcopy
Product: vdsm
Classification: oVirt
Component: RFEs
Version: ---
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: ---
Assignee: Dan Kenigsberg
QA Contact: Avihai
URL:
Whiteboard:
Depends On: 1482537 1594820
Blocks: 1314382
TreeView+ depends on / blocked
 
Reported: 2014-02-25 09:44 UTC by Federico Simoncelli
Modified: 2020-04-01 14:52 UTC (History)
10 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
oVirt Team: Storage
Embargoed:
ylavi: ovirt-4.3?
ylavi: planning_ack+
rule-engine: devel_ack?
rule-engine: testing_ack?


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1200428 0 high CLOSED [RFE] disk clone: if xcopy (RFE bug 1069557) is not available, use sg_dd (better performance than 'dd') 2022-06-22 13:40:18 UTC
Red Hat Bugzilla 1539837 0 high CLOSED [RFE][tracker][Cinder] - Improve integration and support with storage using cinderlib 2022-04-24 19:47:51 UTC

Internal Links: 1200428 1539837

Description Federico Simoncelli 2014-02-25 09:44:47 UTC
Description of problem:
Currently vdsm uses dd to zero out and copy volumes. Both operations could be carried out more efficiently using advanced storage capabilities like write-same and extended-copy. For reference the zerofill support was added to gluster in bug 1028673.

It would be best to have a tool with write-same and extended-copy support (when available) to be use transparently on file domains (nfs, glusterfs) and block domains (iscsi, fcp). For block domains we'll probably need the support in dm/lvm.

Comment 1 Zach Brown 2014-02-25 18:00:12 UTC
Some quick thoughts:

The way this is done now is with storage target specific knowledge.  For example, today you could use the btrfs clone ioctl to share regions of files or ocfs2 reflink ioctl to clone entire files.  So in the immediate future you could certainly continue down that path.

In the long term we're working on a system call that lets you copy byte ranges between open files.  It's gone through a few iterations.  I'll have another iteration sent to -fsdevel soon, I hope.  It'll probably take a while for the interface to be negotiated and merged so I'm not sure when this would be realistically available.

Comment 7 Nir Soffer 2017-11-26 17:06:52 UTC
I want to use single tool for image copying, and the tool is qemu-img. If the copy
can be faster by using low level SCSI commands, it should be implemented in
qemu-img.

Kevin, what do you think?

Comment 8 Kevin Wolf 2017-11-27 10:20:47 UTC
Makes sense in theory, though I've never played with xcopy, so I can't say what it looks like in practice.

Are there kernel interfaces, and preferably generic ones, for efficient copying? If not, do we need a kernel BZ? I can't imagine qemu directly sending SCSI commands to a device that is in use by Linux.

Comment 10 Sandro Bonazzola 2019-01-28 09:44:31 UTC
This bug has not been marked as blocker for oVirt 4.3.0.
Since we are releasing it tomorrow, January 29th, this bug has been re-targeted to 4.3.1.

Comment 11 Michal Skrivanek 2020-03-18 15:50:20 UTC
This bug didn't get any attention for a while, we didn't have the capacity to make any progress. If you deeply care about it or want to work on it please assign/target accordingly

Comment 12 Michal Skrivanek 2020-03-18 15:52:55 UTC
This bug didn't get any attention for a while, we didn't have the capacity to make any progress. If you deeply care about it or want to work on it please assign/target accordingly

Comment 13 Michal Skrivanek 2020-04-01 14:49:03 UTC
ok, closing. Please reopen if still relevant/you want to work on it.

Comment 14 Michal Skrivanek 2020-04-01 14:52:00 UTC
ok, closing. Please reopen if still relevant/you want to work on it.


Note You need to log in before you can comment on or make changes to this bug.