ssh: Support BDRV_REQ_ZERO_WRITE for truncate
Our .bdrv_has_zero_init_truncate can detect when the remote side always zero fills; we can reuse that same knowledge to implement BDRV_REQ_ZERO_WRITE by ignoring it when the server gives it to us for free. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <20200428202905.770727-7-eblake@redhat.com> Reviewed-by: Richard W.M. Jones <rjones@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
fec00559e7
commit
be9c9404db
@ -883,6 +883,10 @@ static int ssh_file_open(BlockDriverState *bs, QDict *options, int bdrv_flags,
|
||||
/* Go non-blocking. */
|
||||
ssh_set_blocking(s->session, 0);
|
||||
|
||||
if (s->attrs->type == SSH_FILEXFER_TYPE_REGULAR) {
|
||||
bs->supported_truncate_flags = BDRV_REQ_ZERO_WRITE;
|
||||
}
|
||||
|
||||
qapi_free_BlockdevOptionsSsh(opts);
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user