diff mbox series

fsx: fix bug where zero range operations never use the keep size flag

Message ID 20200306123517.16729-1-fdmanana@kernel.org (mailing list archive)
State New, archived
Headers show
Series fsx: fix bug where zero range operations never use the keep size flag | expand

Commit Message

Filipe Manana March 6, 2020, 12:35 p.m. UTC
From: Filipe Manana <fdmanana@suse.com>

We are never using the FALLOC_FL_KEEP_SIZE flag for zero range operations
even when we intend to use it. So fix it by setting that flag for the
call to fallocate(2) if the 'keep_size' parameter is true.

Signed-off-by: Filipe Manana <fdmanana@suse.com>
---
 ltp/fsx.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Josef Bacik March 6, 2020, 2:53 p.m. UTC | #1
On 3/6/20 7:35 AM, fdmanana@kernel.org wrote:
> From: Filipe Manana <fdmanana@suse.com>
> 
> We are never using the FALLOC_FL_KEEP_SIZE flag for zero range operations
> even when we intend to use it. So fix it by setting that flag for the
> call to fallocate(2) if the 'keep_size' parameter is true.
> 
> Signed-off-by: Filipe Manana <fdmanana@suse.com>

Reviewed-by: Josef Bacik <josef@toxicpanda.com>

Thanks,

Josef
diff mbox series

Patch

diff --git a/ltp/fsx.c b/ltp/fsx.c
index 06d08e4e..7f7b7a87 100644
--- a/ltp/fsx.c
+++ b/ltp/fsx.c
@@ -1199,6 +1199,9 @@  do_zero_range(unsigned offset, unsigned length, int keep_size)
 	unsigned end_offset;
 	int mode = FALLOC_FL_ZERO_RANGE;
 
+	if (keep_size)
+		mode |= FALLOC_FL_KEEP_SIZE;
+
 	if (length == 0) {
 		if (!quiet && testcalls > simulatedopcount)
 			prt("skipping zero length zero range\n");