Message ID | 1390324451-14747-1-git-send-email-namei.unix@gmail.com |
---|---|
State | New |
Headers | show |
Am 21.01.2014 um 18:14 hat Liu Yuan geschrieben: > It was muted in the previous commit 4bc74be9. Let's revive it since nothing > prevents us to do it. > > With this patch, following command will work as other formats: > > $ qemu-img map sheepdog:image > > Cc: qemu-devel@nongnu.org > Cc: Kevin Wolf <kwolf@redhat.com> > Cc: Stefan Hajnoczi <stefanha@redhat.com> > Signed-off-by: Liu Yuan <namei.unix@gmail.com> Thanks, applied to the block branch. Kevin
diff --git a/block/sheepdog.c b/block/sheepdog.c index b94ab6e..61aead0 100644 --- a/block/sheepdog.c +++ b/block/sheepdog.c @@ -2442,11 +2442,12 @@ sd_co_get_block_status(BlockDriverState *bs, int64_t sector_num, int nb_sectors, { BDRVSheepdogState *s = bs->opaque; SheepdogInode *inode = &s->inode; - unsigned long start = sector_num * BDRV_SECTOR_SIZE / SD_DATA_OBJ_SIZE, + uint64_t offset = sector_num * BDRV_SECTOR_SIZE; + unsigned long start = offset / SD_DATA_OBJ_SIZE, end = DIV_ROUND_UP((sector_num + nb_sectors) * BDRV_SECTOR_SIZE, SD_DATA_OBJ_SIZE); unsigned long idx; - int64_t ret = BDRV_BLOCK_DATA; + int64_t ret = BDRV_BLOCK_DATA | BDRV_BLOCK_OFFSET_VALID | offset; for (idx = start; idx < end; idx++) { if (inode->data_vdi_id[idx] == 0) {
It was muted in the previous commit 4bc74be9. Let's revive it since nothing prevents us to do it. With this patch, following command will work as other formats: $ qemu-img map sheepdog:image Cc: qemu-devel@nongnu.org Cc: Kevin Wolf <kwolf@redhat.com> Cc: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Liu Yuan <namei.unix@gmail.com> --- block/sheepdog.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)