OSDN Git Service

block/io.c: fix for the allocation failure
authorAndrey Shinkevich <andrey.shinkevich@virtuozzo.com>
Fri, 5 Apr 2019 14:24:04 +0000 (17:24 +0300)
committerStefan Hajnoczi <stefanha@redhat.com>
Fri, 10 May 2019 09:53:21 +0000 (10:53 +0100)
commit118f99442d3a8ce47836978cddd9206ac2d2b001
treeaefb09d2f47cd533a1a4efd2bd6871c5e5b3a378
parent66a5bdf3096cf8bc8c41eb7adcc9d10edef07a9d
block/io.c: fix for the allocation failure

On a file system used by the customer, fallocate() returns an error
if the block is not properly aligned. So, bdrv_co_pwrite_zeroes()
fails. We can handle that case the same way as it is done for the
unsupported cases, namely, call to bdrv_driver_pwritev() that writes
zeroes to an image for the unaligned chunk of the block.

Suggested-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Message-id: 1554474244-553661-1-git-send-email-andrey.shinkevich@virtuozzo.com
Message-Id: <1554474244-553661-1-git-send-email-andrey.shinkevich@virtuozzo.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
block/io.c