vhost-user-blk: fix blkcfg->num_queues endianness
commit535255b43898d2e96744057eb86f8497d4d7a461
authorStefan Hajnoczi <stefanha@redhat.com>
Tue, 23 Feb 2021 14:46:42 +0000 (23 14:46 +0000)
committerKevin Wolf <kwolf@redhat.com>
Mon, 8 Mar 2021 13:55:19 +0000 (8 14:55 +0100)
tree2355bda304118f907a8d00768b7b386bc43bd2e2
parente246bf3ddc4d61d03227373fecfdcd4fec3508db
vhost-user-blk: fix blkcfg->num_queues endianness

Treat the num_queues field as virtio-endian. On big-endian hosts the
vhost-user-blk num_queues field was in the wrong endianness.

Move the blkcfg.num_queues store operation from realize to
vhost_user_blk_update_config() so feature negotiation has finished and
we know the endianness of the device. VIRTIO 1.0 devices are
little-endian, but in case someone wants to use legacy VIRTIO we support
all endianness cases.

Cc: qemu-stable@nongnu.org
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <20210223144653.811468-2-stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
hw/block/vhost-user-blk.c