[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GIT PULL 05/12] softmmu/physmem: Bail out early in ram_block_discard_ra
From: |
David Hildenbrand |
Subject: |
[GIT PULL 05/12] softmmu/physmem: Bail out early in ram_block_discard_range() with readonly files |
Date: |
Tue, 19 Sep 2023 12:30:22 +0200 |
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>
---
softmmu/physmem.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/softmmu/physmem.c b/softmmu/physmem.c
index 88482bd32a..c520c2ac55 100644
--- a/softmmu/physmem.c
+++ b/softmmu/physmem.c
@@ -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
--
2.41.0
- [GIT PULL 00/12] Host Memory Backends and Memory devices queue 2023-09-19, David Hildenbrand, 2023/09/19
- [GIT PULL 04/12] softmmu/physmem: Remap with proper protection in qemu_ram_remap(), David Hildenbrand, 2023/09/19
- [GIT PULL 10/12] softmmu/physmem: Hint that "readonly=on, rom=off" exists when opening file R/W for private mapping fails, David Hildenbrand, 2023/09/19
- [GIT PULL 01/12] nvdimm: Reject writing label data to ROM instead of crashing QEMU, David Hildenbrand, 2023/09/19
- [GIT PULL 08/12] docs: Don't mention "-mem-path" in multi-process.rst, David Hildenbrand, 2023/09/19
- [GIT PULL 03/12] backends/hostmem-file: Add "rom" property to support VM templating with R/O files, David Hildenbrand, 2023/09/19
- [GIT PULL 05/12] softmmu/physmem: Bail out early in ram_block_discard_range() with readonly files,
David Hildenbrand <=
- [GIT PULL 02/12] softmmu/physmem: Distinguish between file access mode and mmap protection, David Hildenbrand, 2023/09/19
- [GIT PULL 06/12] softmmu/physmem: Fail creation of new files in file_ram_open() with readonly=true, David Hildenbrand, 2023/09/19
- [GIT PULL 11/12] machine: Improve error message when using default RAM backend id, David Hildenbrand, 2023/09/19
- [GIT PULL 09/12] docs: Start documenting VM templating, David Hildenbrand, 2023/09/19
- [GIT PULL 07/12] softmmu/physmem: Never return directories from file_ram_open(), David Hildenbrand, 2023/09/19
- [GIT PULL 12/12] memory: avoid updating ioeventfds for some address_space, David Hildenbrand, 2023/09/19
- Re: [GIT PULL 00/12] Host Memory Backends and Memory devices queue 2023-09-19, Stefan Hajnoczi, 2023/09/19