Skip to content

Commit

Permalink
softmmu/physmem: Bail out early in ram_block_discard_range() with rea…
Browse files Browse the repository at this point in the history
…donly files

fallocate() will fail, let's print a nicer error message.

Message-ID: <20230906120503.359863-6-david@redhat.com>
Suggested-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
  • Loading branch information
davidhildenbrand committed Sep 19, 2023
1 parent 9e6b9f3 commit b2cccb5
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions softmmu/physmem.c
Original file line number Diff line number Diff line change
Expand Up @@ -3481,6 +3481,16 @@ int ram_block_discard_range(RAMBlock *rb, uint64_t start, size_t length)
* so a userfault will trigger.
*/
#ifdef CONFIG_FALLOCATE_PUNCH_HOLE
/*
* fallocate() will fail with readonly files. Let's print a
* proper error message.
*/
if (rb->flags & RAM_READONLY_FD) {
error_report("ram_block_discard_range: Discarding RAM"
" with readonly files is not supported");
goto err;

}
/*
* We'll discard data from the actual file, even though we only
* have a MAP_PRIVATE mapping, possibly messing with other
Expand Down

0 comments on commit b2cccb5

Please sign in to comment.