mirror of https://gitlab.com/qemu-project/qemu
sheepdog: Support BDRV_REQ_ZERO_WRITE for truncate
Our .bdrv_has_zero_init_truncate always returns 1 because sheepdog always 0-fills; we can use that same knowledge to implement BDRV_REQ_ZERO_WRITE by ignoring it. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <20200428202905.770727-6-eblake@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
2f98910d5b
commit
fec00559e7
|
@ -1654,6 +1654,7 @@ static int sd_open(BlockDriverState *bs, QDict *options, int flags,
|
||||||
memcpy(&s->inode, buf, sizeof(s->inode));
|
memcpy(&s->inode, buf, sizeof(s->inode));
|
||||||
|
|
||||||
bs->total_sectors = s->inode.vdi_size / BDRV_SECTOR_SIZE;
|
bs->total_sectors = s->inode.vdi_size / BDRV_SECTOR_SIZE;
|
||||||
|
bs->supported_truncate_flags = BDRV_REQ_ZERO_WRITE;
|
||||||
pstrcpy(s->name, sizeof(s->name), vdi);
|
pstrcpy(s->name, sizeof(s->name), vdi);
|
||||||
qemu_co_mutex_init(&s->lock);
|
qemu_co_mutex_init(&s->lock);
|
||||||
qemu_co_mutex_init(&s->queue_lock);
|
qemu_co_mutex_init(&s->queue_lock);
|
||||||
|
|
Loading…
Reference in New Issue