On 2/25/21 7:50 AM, Vladimir Sementsov-Ogievskiy wrote: > 18.02.2021 23:15, Eric Blake wrote: >> Previous commits (such as 6e280648, 75d34eb9) have mentioned that our >> NBD server still sends unaligned fragments when an active layer with >> large advertised minimum block size is backed by another layer with a >> smaller block size. Expand the test to actually cover these scenario, >> by using two different approaches: qcow2 encryption (which forces >> 512-byte alignment) with an unaligned raw backing file, and blkdebug >> with a 4k alignment. >> >> The encryption test passes with the desired results, but only because >> the client side works around the server's non-compliance; if you >> repeat the test manually with tracing turned on, you will see the >> server sending a status for 1000 bytes of data then 1048 bytes of >> hole, which is not aligned. But reverting commit 737d3f5244 shows that >> it is indeed the client working around the bug in the server. >> >> Meanwhile, the blkdebug test gives incorrect results: remember, when >> using x-dirty-bitmap with qemu-img map as a way to sniff alternative >> metadata contexts, the meanings of "data" and "zero" are determined by > > How I'm tired of this abuse:) It seems that total amount of comments > about it in code and commit messages worth creating more intuitive > interface.. Don't you have an idea in mind?
Yes: 'nbdinfo' as part of the libnbd project ;) Sadly, libnbd is not available on all our common porting targets yet, and nbdinfo is less than a year old (so even distros that have libnbd 1.0 are too old). > >> that context. Our client workaround is assuming that the fragmented >> replies can be merged according to base:allocation rules, but those >> rules do not work for other contexts (merging dirty and clean bitmap >> should produce dirty; merging allocated and unallocated should produce >> allocated; see the FIXME for more about the decoded values we expect). > > You could instead keep the test output correct (without FIXME marks) but > add the test to "disabled" group and drop it from the group when fixed. Either way, it's fixed by the end of the series. > >> >> Signed-off-by: Eric Blake <ebl...@redhat.com> > > Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> > Thanks! -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org