> > > Both values correspond to L2 entries with bit 0 set. However, > QCOW2_CLUSTER_ZERO_ALLOC is an entry that has a non-zero value in bits 9-55 > (the cluster has an allocated host location, we guarantee that things read > as zero regardless of whether the host data actually contains zeroes at > that offset, and writes go directly to that offset with no further > allocation required); while QCOW2_CLUSTER_ZERO_PLAIN is an entry with all > zeros in bits 9-55 (we guarantee things read as zero, but writes have to > allocate a new cluster because we have not reserved any space in the host > yet). >
If I let one entry called l2_addr of l2 table is 1(also the QCOW2_CLUSTER_ZERO_PLAIN) to make it as discard. After I run qemu-img commit image, and the l2_addr also commit to its backing file. But I saw the same entry l2_addr of l2 table in backing file doesn't show 1, and write corresponding cluster with zero. Is that normal?