block: qcow: Refactor BackingFile for ownership based decomposition

Replace the clone based BackingFileOps trait with a BackingKind enum
so backing files can be decomposed into their concrete owned types.

BackingFile::new() for QCOW2 backings now calls parse_qcow() directly
instead of building a full QcowFile. Remove Clone for BackingFile and
QcowFile.

Prerequisite for the qcow_sync rewrite which decomposes a BackingFile
into a raw fd or QcowMetadata for lock free I/O.

Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
This commit is contained in:
Anatol Belski
2026-02-21 16:52:20 +01:00
committed by Rob Bradford
parent a4a5b19f64
commit 57e89b04f6
3 changed files with 813 additions and 364 deletions
+685 -314
View File
File diff suppressed because it is too large Load Diff