>> + if (argc != 5) >> + return command_usage(&utimes_cmd); > > Because you set argsmin & argsmax to 4, it should be impossible > to get here with anything other than argc=5 - it's caught > elsewhere: Yes, you are right. This was something I was using to debug. I will remove this. Thanks. >> + /* Get the timestamps */ >> + result = timespec_from_string(argv[1], argv[2], &t[0]); >> + if (result) { >> + fprintf(stderr, "Bad value for atime\n"); >> + return 1; >> + } >> + result = timespec_from_string(argv[3], argv[4], &t[1]); >> + if (result) { >> + fprintf(stderr, "Bad value for mtime\n"); >> + return 1; >> + } >> + >> + /* Call futimens to update time. */ >> + if (futimens(file->fd, t)) { >> + perror("futimens"); >> + return 1; >> + } > > Most xfs_io functions return 0 even on errors, possibly after > setting exit_code = 1 to change the ultimate exit code; > returning 1 will cause all processing to stop, and/or kick you > out of the interactive shell: > > $ xfs_io file > xfs_io> utimes a b c d > Bad value for atime > $ > > This needs some attention across all of xfs_io, but you might want > to return 0 for now for consistency with other commands. Will change to return 0 always. Thanks. >> /* >> + * Convert from a pair of arbitrary user strings into a timespec. >> + */ >> + >> +int >> +timespec_from_string( >> + const char * secs, >> + const char * nsecs, >> + struct timespec * ts) >> +{ >> + char* p; >> + if (!secs || !nsecs || !ts) >> + return -1; >> + ts->tv_sec = strtoull(secs, &p, 0); >> + if (*p) >> + return -1; >> + ts->tv_nsec = strtoull(nsecs, &p, 0); >> + if (*p) >> + return -1; >> + return 0; > > I'd return 1/0 not -1/0 - not that big a deal, but the reason > the i.e. prid_from_string() functions return -1 on error > is because they actually return an ID, which is >= 0, so > it detects "== -1" as an error, and can't simply test > 1/0. Ok. Will change this to return 1/0. >> diff --git a/man/man8/xfs_io.8 b/man/man8/xfs_io.8 >> index 2c56f09..3ffe439 100644 >> --- a/man/man8/xfs_io.8 >> +++ b/man/man8/xfs_io.8 >> @@ -589,6 +589,17 @@ Copy data into the open file beginning at >> Copy up to >> .I length >> bytes of data. >> +.RE >> +.PD >> +.TP >> +.TP > > don't need two .TPs, a patch to remove the others is pending. Ok, will remove it. I will wait for a couple of days to see if there are any more comments before submitting a v2. -Deepa -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html