On Mon, Mar 18, 2019 at 09:18:38AM -0400, Brian Foster wrote: > 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> Makes sens... oh wait, this is sync_file_range, what a trash fire! :( The arg processing changes look ok though. Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --D > --- > 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 >