From: Eric Blake Date: Tue, 28 Apr 2020 20:28:59 +0000 (-0500) Subject: nfs: Support BDRV_REQ_ZERO_WRITE for truncate X-Git-Tag: v5.1.0-rc0~133^2~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8f23aaf5d6a5458e251c5d5d0555d9e515355e35;p=thirdparty%2Fqemu.git nfs: Support BDRV_REQ_ZERO_WRITE for truncate Our .bdrv_has_zero_init_truncate returns 1 if we detect that the OS always 0-fills; we can use that same knowledge to implement BDRV_REQ_ZERO_WRITE by ignoring it when the OS gives it to us for free. Signed-off-by: Eric Blake Message-Id: <20200428202905.770727-4-eblake@redhat.com> Signed-off-by: Kevin Wolf --- diff --git a/block/nfs.c b/block/nfs.c index 385d756e1d4..76daa7c9f60 100644 --- a/block/nfs.c +++ b/block/nfs.c @@ -620,6 +620,9 @@ static int nfs_file_open(BlockDriverState *bs, QDict *options, int flags, } bs->total_sectors = ret; + if (client->has_zero_init) { + bs->supported_truncate_flags = BDRV_REQ_ZERO_WRITE; + } return 0; }