system/ramblock: Rename @start -> @offset in ram_block_discard_range()
Rename @start as @offset, since it express an offset within a RAMBlock. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Acked-by: Peter Xu <peterx@redhat.com> Message-Id: <20251002032812.26069-5-philmd@linaro.org>
This commit is contained in:
parent
8fe6ce4019
commit
fe11c4957b
2 changed files with 18 additions and 16 deletions
|
|
@ -103,8 +103,10 @@ struct RamBlockAttributes {
|
|||
QLIST_HEAD(, RamDiscardListener) rdl_list;
|
||||
};
|
||||
|
||||
int ram_block_discard_range(RAMBlock *rb, uint64_t start, size_t length);
|
||||
int ram_block_discard_guest_memfd_range(RAMBlock *rb, uint64_t start,
|
||||
/* @offset: the offset within the RAMBlock */
|
||||
int ram_block_discard_range(RAMBlock *rb, uint64_t offset, size_t length);
|
||||
/* @offset: the offset within the RAMBlock */
|
||||
int ram_block_discard_guest_memfd_range(RAMBlock *rb, uint64_t offset,
|
||||
size_t length);
|
||||
|
||||
RamBlockAttributes *ram_block_attributes_create(RAMBlock *ram_block);
|
||||
|
|
|
|||
|
|
@ -3795,18 +3795,18 @@ int qemu_ram_foreach_block(RAMBlockIterFunc func, void *opaque)
|
|||
}
|
||||
|
||||
/*
|
||||
* Unmap pages of memory from start to start+length such that
|
||||
* Unmap pages of memory from offset to offset+length such that
|
||||
* they a) read as 0, b) Trigger whatever fault mechanism
|
||||
* the OS provides for postcopy.
|
||||
* The pages must be unmapped by the end of the function.
|
||||
* Returns: 0 on success, none-0 on failure
|
||||
*
|
||||
*/
|
||||
int ram_block_discard_range(RAMBlock *rb, uint64_t start, size_t length)
|
||||
int ram_block_discard_range(RAMBlock *rb, uint64_t offset, size_t length)
|
||||
{
|
||||
int ret = -1;
|
||||
|
||||
uint8_t *host_startaddr = rb->host + start;
|
||||
uint8_t *host_startaddr = rb->host + offset;
|
||||
|
||||
if (!QEMU_PTR_IS_ALIGNED(host_startaddr, rb->page_size)) {
|
||||
error_report("%s: Unaligned start address: %p",
|
||||
|
|
@ -3814,7 +3814,7 @@ int ram_block_discard_range(RAMBlock *rb, uint64_t start, size_t length)
|
|||
goto err;
|
||||
}
|
||||
|
||||
if ((start + length) <= rb->max_length) {
|
||||
if ((offset + length) <= rb->max_length) {
|
||||
bool need_madvise, need_fallocate;
|
||||
if (!QEMU_IS_ALIGNED(length, rb->page_size)) {
|
||||
error_report("%s: Unaligned length: %zx", __func__, length);
|
||||
|
|
@ -3865,11 +3865,11 @@ int ram_block_discard_range(RAMBlock *rb, uint64_t start, size_t length)
|
|||
}
|
||||
|
||||
ret = fallocate(rb->fd, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE,
|
||||
start + rb->fd_offset, length);
|
||||
offset + rb->fd_offset, length);
|
||||
if (ret) {
|
||||
ret = -errno;
|
||||
error_report("%s: Failed to fallocate %s:%" PRIx64 "+%" PRIx64
|
||||
" +%zx (%d)", __func__, rb->idstr, start,
|
||||
" +%zx (%d)", __func__, rb->idstr, offset,
|
||||
rb->fd_offset, length, ret);
|
||||
goto err;
|
||||
}
|
||||
|
|
@ -3877,7 +3877,7 @@ int ram_block_discard_range(RAMBlock *rb, uint64_t start, size_t length)
|
|||
ret = -ENOSYS;
|
||||
error_report("%s: fallocate not available/file"
|
||||
"%s:%" PRIx64 "+%" PRIx64 " +%zx (%d)", __func__,
|
||||
rb->idstr, start, rb->fd_offset, length, ret);
|
||||
rb->idstr, offset, rb->fd_offset, length, ret);
|
||||
goto err;
|
||||
#endif
|
||||
}
|
||||
|
|
@ -3897,13 +3897,13 @@ int ram_block_discard_range(RAMBlock *rb, uint64_t start, size_t length)
|
|||
ret = -errno;
|
||||
error_report("%s: Failed to discard range "
|
||||
"%s:%" PRIx64 " +%zx (%d)",
|
||||
__func__, rb->idstr, start, length, ret);
|
||||
__func__, rb->idstr, offset, length, ret);
|
||||
goto err;
|
||||
}
|
||||
#else
|
||||
ret = -ENOSYS;
|
||||
error_report("%s: MADVISE not available %s:%" PRIx64 " +%zx (%d)",
|
||||
__func__, rb->idstr, start, length, ret);
|
||||
__func__, rb->idstr, offset, length, ret);
|
||||
goto err;
|
||||
#endif
|
||||
}
|
||||
|
|
@ -3911,14 +3911,14 @@ int ram_block_discard_range(RAMBlock *rb, uint64_t start, size_t length)
|
|||
need_madvise, need_fallocate, ret);
|
||||
} else {
|
||||
error_report("%s: Overrun block '%s' (%" PRIu64 "/%zx/" RAM_ADDR_FMT")",
|
||||
__func__, rb->idstr, start, length, rb->max_length);
|
||||
__func__, rb->idstr, offset, length, rb->max_length);
|
||||
}
|
||||
|
||||
err:
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ram_block_discard_guest_memfd_range(RAMBlock *rb, uint64_t start,
|
||||
int ram_block_discard_guest_memfd_range(RAMBlock *rb, uint64_t offset,
|
||||
size_t length)
|
||||
{
|
||||
int ret = -1;
|
||||
|
|
@ -3926,17 +3926,17 @@ int ram_block_discard_guest_memfd_range(RAMBlock *rb, uint64_t start,
|
|||
#ifdef CONFIG_FALLOCATE_PUNCH_HOLE
|
||||
/* ignore fd_offset with guest_memfd */
|
||||
ret = fallocate(rb->guest_memfd, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE,
|
||||
start, length);
|
||||
offset, length);
|
||||
|
||||
if (ret) {
|
||||
ret = -errno;
|
||||
error_report("%s: Failed to fallocate %s:%" PRIx64 " +%zx (%d)",
|
||||
__func__, rb->idstr, start, length, ret);
|
||||
__func__, rb->idstr, offset, length, ret);
|
||||
}
|
||||
#else
|
||||
ret = -ENOSYS;
|
||||
error_report("%s: fallocate not available %s:%" PRIx64 " +%zx (%d)",
|
||||
__func__, rb->idstr, start, length, ret);
|
||||
__func__, rb->idstr, offset, length, ret);
|
||||
#endif
|
||||
|
||||
return ret;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue