diff options
| author | Eric Blake | 2020-04-28 22:29:01 +0200 |
|---|---|---|
| committer | Kevin Wolf | 2020-05-08 13:26:35 +0200 |
| commit | fec00559e71c94749deac176f6c4bebf81fbe7b8 (patch) | |
| tree | 4fdc555d7dc44da42b85553038ae11ca220cdb91 /block | |
| parent | rbd: Support BDRV_REQ_ZERO_WRITE for truncate (diff) | |
| download | qemu-fec00559e71c94749deac176f6c4bebf81fbe7b8.tar.gz qemu-fec00559e71c94749deac176f6c4bebf81fbe7b8.tar.xz qemu-fec00559e71c94749deac176f6c4bebf81fbe7b8.zip | |
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>
Diffstat (limited to 'block')
| -rw-r--r-- | block/sheepdog.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/block/sheepdog.c b/block/sheepdog.c index 2eb61938ff..739e6dee30 100644 --- a/block/sheepdog.c +++ b/block/sheepdog.c @@ -1654,6 +1654,7 @@ static int sd_open(BlockDriverState *bs, QDict *options, int flags, memcpy(&s->inode, buf, sizeof(s->inode)); 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); qemu_co_mutex_init(&s->lock); qemu_co_mutex_init(&s->queue_lock); |
