qcow2: Make qcow2_cache_table_release() work only in Linux
authorAlberto Garcia <berto@igalia.com>
Fri, 25 Nov 2016 11:27:43 +0000 (13:27 +0200)
committerKevin Wolf <kwolf@redhat.com>
Fri, 25 Nov 2016 12:51:30 +0000 (13:51 +0100)
commit2f2c8d6b371cfc6689affb0b7e463fa2160c9e5b
tree2d49c8f653f2cfb0a11d1e8f21a92eaac79f0996
parent00227fefd2059464cd2f59aed29944874c630e2f
qcow2: Make qcow2_cache_table_release() work only in Linux

We are using QEMU_MADV_DONTNEED to discard the memory of individual L2
cache tables. The problem with this is that those semantics are
specific to the Linux madvise() system call. Other implementations of
madvise() (including the very Linux implementation of posix_madvise())
don't do that, so we cannot use them for the same purpose.

This patch makes the code Linux-specific and uses madvise() directly
since there's no point in going through qemu_madvise() for this.

Signed-off-by: Alberto Garcia <berto@igalia.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/qcow2-cache.c