Am 05.05.2015 um 15:07 hat Paolo Bonzini geschrieben: > > > On 05/05/2015 15:03, Kevin Wolf wrote: > > > Yes, the SCSI command WRITE SAME with UNMAP = 1 (not coincidentially :)) > > > calls discard too. Who knows what the guest used it for... > > > > > > However, write zeroes doesn't go through bdrv_co_discard, does it? > > > > Initially I expected that it does, but when I checked, it turned out > > that it uses a different path. The only thing I found that really uses > > discard is the call in qemu-img that I mentioned. But that can't be the > > cause of the corruption you're debugging. > > I'm not seeing corruption; it's a crash in drive-mirror.
Ah, yes, sorry. I was confused. > The question is how to treat discard: > > 1) mark sectors as dirty, discard on the destination as well (similar to > Fam's just-posted patches, but they do not discard on the destination) > > 2) keep marking sectors as not dirty, change util/hbitmap.c to avoid the > assertion failure. This loses the discard on the destination but no > need to change block/mirror.c > > Both are valid approaches. Which kind of suggests that it should be an option. But if I had to choose one, I think 1) is nicer because it results in an exact copy. Kevin