29.03.2019 7:27, Eric Blake wrote: > It is desirable for 'qemu-img map' to have the same output for a file > whether it is served over file or nbd protocols. However, ever since > we implemented block status for NBD (2.12), the NBD protocol forgot to > inform the block layer that as the final layer in the chain, the > offset is valid; without an offset, the human-readable form of > qemu-img map gives up with the unhelpful: > > $ nbdkit -U - data data="1" size=512 --run 'qemu-img map $nbd' > Offset Length Mapped to File > qemu-img: File contains external, encrypted or compressed clusters. > > The --output=json form always works, because it is reporting the > lower-level bdrv_block_status results directly rather than trying to > filter out sparse ranges for human consumption. > > With this patch, the output changes to: > > Offset Length Mapped to File > 0 0x200 0 > nbd+unix://?socket=/tmp/nbdkitOxeoLa/socket > > This change is observable to several iotests. > > Fixes: 78a33ab5 > Reported-by: Richard W.M. Jones<rjo...@redhat.com> > Signed-off-by: Eric Blake<ebl...@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> -- Best regards, Vladimir