aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Levitsky <mlevitsk@redhat.com>2020-11-11 17:39:12 +0200
committerKevin Wolf <kwolf@redhat.com>2020-11-17 12:26:48 +0100
commitece4fa9152ea37c7ebd158af330e3b20e33cf385 (patch)
tree50456f1bf98d6281a3f166f188d61fec84b97ca2
parent5aaabf9161c501142558f1837f6f90c94ee15081 (diff)
downloadqemu-ece4fa9152ea37c7ebd158af330e3b20e33cf385.zip
qemu-ece4fa9152ea37c7ebd158af330e3b20e33cf385.tar.gz
qemu-ece4fa9152ea37c7ebd158af330e3b20e33cf385.tar.bz2
file-posix: allow -EBUSY errors during write zeros on raw block devices
On Linux, fallocate(fd, FALLOC_FL_PUNCH_HOLE) when it is used on a block device, without O_DIRECT can return -EBUSY if it races with another write to the same page. Since this is rare and discard is not a critical operation, ignore this error Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com> Message-Id: <20201111153913.41840-2-mlevitsk@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
-rw-r--r--block/file-posix.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/block/file-posix.c b/block/file-posix.c
index c63926d..d5fd1db 100644
--- a/block/file-posix.c
+++ b/block/file-posix.c
@@ -1698,6 +1698,7 @@ static int handle_aiocb_write_zeroes_unmap(void *opaque)
switch (ret) {
case -ENOTSUP:
case -EINVAL:
+ case -EBUSY:
break;
default:
return ret;