[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 5/9] softmmu/physmem: Bail out early in ram_block_discard_rang
From: |
David Hildenbrand |
Subject: |
[PATCH v2 5/9] softmmu/physmem: Bail out early in ram_block_discard_range() with readonly files |
Date: |
Tue, 22 Aug 2023 13:44:53 +0200 |
fallocate() will fail, let's print a nicer error message.
Suggested-by: Peter Xu <peterx@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
---
softmmu/physmem.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/softmmu/physmem.c b/softmmu/physmem.c
index 2ed83fcefe..817a7811ee 100644
--- a/softmmu/physmem.c
+++ b/softmmu/physmem.c
@@ -3457,6 +3457,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
--
2.41.0
- Re:[PATCH v2 2/9] softmmu/physmem: Distinguish between file access mode and mmap protection, (continued)
[PATCH v2 5/9] softmmu/physmem: Bail out early in ram_block_discard_range() with readonly files,
David Hildenbrand <=
[PATCH v2 6/9] softmmu/physmem: Fail creation of new files in file_ram_open() with readonly=true, David Hildenbrand, 2023/08/22
[PATCH v2 8/9] docs: Don't mention "-mem-path" in multi-process.rst, David Hildenbrand, 2023/08/22
[PATCH v2 7/9] softmmu/physmem: Never return directories from file_ram_open(), David Hildenbrand, 2023/08/22
[PATCH v2 9/9] docs: Start documenting VM templating, David Hildenbrand, 2023/08/22