diff options
author | Max Reitz <mreitz@redhat.com> | 2017-06-13 22:20:52 +0200 |
---|---|---|
committer | Max Reitz <mreitz@redhat.com> | 2017-07-11 17:45:01 +0200 |
commit | 8243ccb7433e59a3faa3cca27fb6c40d6da2b37c (patch) | |
tree | 18ab94c4ea476c161f7c579c30e9203abb96afbc /block/crypto.c | |
parent | 32a1681adc44f52e7c8a19408cd3be8452a0897b (diff) | |
download | qemu-8243ccb7433e59a3faa3cca27fb6c40d6da2b37c.zip qemu-8243ccb7433e59a3faa3cca27fb6c40d6da2b37c.tar.gz qemu-8243ccb7433e59a3faa3cca27fb6c40d6da2b37c.tar.bz2 |
block: Add PreallocMode to BD.bdrv_truncate()
Add a PreallocMode parameter to the bdrv_truncate() function implemented
by each block driver. Currently, we always pass PREALLOC_MODE_OFF and no
driver accepts anything else.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20170613202107.10125-2-mreitz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'block/crypto.c')
-rw-r--r-- | block/crypto.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/block/crypto.c b/block/crypto.c index c561cba..33f690f 100644 --- a/block/crypto.c +++ b/block/crypto.c @@ -361,12 +361,18 @@ static int block_crypto_create_generic(QCryptoBlockFormat format, } static int block_crypto_truncate(BlockDriverState *bs, int64_t offset, - Error **errp) + PreallocMode prealloc, Error **errp) { BlockCrypto *crypto = bs->opaque; size_t payload_offset = qcrypto_block_get_payload_offset(crypto->block); + if (prealloc != PREALLOC_MODE_OFF) { + error_setg(errp, "Unsupported preallocation mode '%s'", + PreallocMode_lookup[prealloc]); + return -ENOTSUP; + } + offset += payload_offset; return bdrv_truncate(bs->file, offset, errp); |