30.03.2019 19:53, Eric Blake wrote: > Just as we recently added a trace for a server sending block status > that doesn't match the server's advertised minimum block alignment, > let's do the same for read chunks. But since qemu 3.1 is such a > server (because it advertised 512-byte alignment, but when serving a > file that ends in data but is not sector-aligned, NBD_CMD_READ would > detect a mid-sector change between data and hole at EOF and the > resulting read chunks are unaligned), we don't want to change our > behavior of otherwise tolerating unaligned reads. > > Note that even though we fixed the server for 4.0 to advertise an > actual block alignment (which gets rid of the unaligned reads at EOF > for posix files), we can still trigger it via other means: > > $ qemu-nbd --image-opts > driver=blkdebug,align=512,image.driver=file,image.filename=/path/to/non-aligned-file > > Arguably, that is a bug in the blkdebug block status function, for > leaking a block status that is not aligned. It may also be possible to > observe issues with a backing layer with smaller alignment than the > active layer, although so far I have been unable to write a reliable > iotest for that scenario. > > Signed-off-by: Eric Blake <ebl...@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> -- Best regards, Vladimir