[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v6 06/10] file-posix: Support BDRV_REQ_ZERO_WRITE for truncate
From: |
Kevin Wolf |
Subject: |
[PATCH v6 06/10] file-posix: Support BDRV_REQ_ZERO_WRITE for truncate |
Date: |
Thu, 23 Apr 2020 17:01:23 +0200 |
For regular files, we always get BDRV_REQ_ZERO_WRITE behaviour from the
OS, so we can advertise the flag and just ignore it.
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
---
block/file-posix.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/block/file-posix.c b/block/file-posix.c
index 53f475ed61..1dca220a81 100644
--- a/block/file-posix.c
+++ b/block/file-posix.c
@@ -702,6 +702,10 @@ static int raw_open_common(BlockDriverState *bs, QDict
*options,
#endif
bs->supported_zero_flags = BDRV_REQ_MAY_UNMAP | BDRV_REQ_NO_FALLBACK;
+ if (S_ISREG(st.st_mode)) {
+ /* When extending regular files, we get zeros from the OS */
+ bs->supported_truncate_flags = BDRV_REQ_ZERO_WRITE;
+ }
ret = 0;
fail:
if (filename && (bdrv_flags & BDRV_O_TEMPORARY)) {
--
2.25.3
- [PATCH v6 04/10] qcow2: Support BDRV_REQ_ZERO_WRITE for truncate, (continued)
- [PATCH v6 05/10] raw-format: Support BDRV_REQ_ZERO_WRITE for truncate, Kevin Wolf, 2020/04/23
- [PATCH v6 03/10] block-backend: Add flags to blk_truncate(), Kevin Wolf, 2020/04/23
- [PATCH v6 06/10] file-posix: Support BDRV_REQ_ZERO_WRITE for truncate,
Kevin Wolf <=
- [PATCH v6 07/10] block: truncate: Don't make backing file data visible, Kevin Wolf, 2020/04/23
- [PATCH v6 08/10] iotests: Filter testfiles out in filter_img_info(), Kevin Wolf, 2020/04/23
- [PATCH v6 10/10] qcow2: Forward ZERO_WRITE flag for full preallocation, Kevin Wolf, 2020/04/23