[PATCH] xfs_io: allow combination of sync_file_range() flags

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The sync_file_range() functionality supports a flags argument that
allows the caller to specify any combination of initiating writeback
or waiting for write completion before and/or after the write. The
xfs_io handler supports the ability to specify combinations of flags
on the command line, but fails to OR the flags together and thus
only performs one action per invocation.

This is inconsistent with the syscall and command interpretation.
Update the sync_file_range() handler to populate the flags mask as
specified by the user.

Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx>
---
 io/sync_file_range.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/io/sync_file_range.c b/io/sync_file_range.c
index 30bbc93d..8b5345c5 100644
--- a/io/sync_file_range.c
+++ b/io/sync_file_range.c
@@ -37,13 +37,13 @@ sync_range_f(
 	while ((c = getopt(argc, argv, "abw")) != EOF) {
 		switch (c) {
 		case 'a':
-			sync_mode = SYNC_FILE_RANGE_WAIT_AFTER;
+			sync_mode |= SYNC_FILE_RANGE_WAIT_AFTER;
 			break;
 		case 'b':
-			sync_mode = SYNC_FILE_RANGE_WAIT_BEFORE;
+			sync_mode |= SYNC_FILE_RANGE_WAIT_BEFORE;
 			break;
 		case 'w':
-			sync_mode = SYNC_FILE_RANGE_WRITE;
+			sync_mode |= SYNC_FILE_RANGE_WRITE;
 			break;
 		default:
 			return command_usage(&sync_range_cmd);
-- 
2.17.2




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux