|
From: | Lin Ma |
Subject: | [question] Partial sector issue while discard in qcow2 image |
Date: | Tue, 2 Jun 2020 07:45:36 +0000 |
Hi all,
During woring to add GET LBA STATUS support in qemu scsi emulation layer, I encountered
an unmap issue with qcow2 image, It's likely about how to unmap partial clusters. e.g.:
With these default values:
* the default value of s->qdev.blocksize: 512
* the default value of s->cluster_size of qcow2 image: 65536
Running 'sg_unmap -l 1024 -n 32 /dev/sda' hits the condition
'if (!QEMU_IS_ALIGNED(offset | bytes, s->cluster_size))' in the function qcow2_co_pdiscard,
Then it won't perform qcow2_cluster_discard(), So the corresponding clusters won't be discard
in this situation, Correct?
Of cause, with the default blocksize and cluster_size, The below examples won't hit the condition 'if (!QEMU_IS_ALIGNED...'.
sg_unmap -l 1024 -n 128 /dev/sda
or
sg_unmap -l 256 -n 128 /dev/sda
Thanks,
Lin |
[Prev in Thread] | Current Thread | [Next in Thread] |