On 12/17/16 8:40 PM, Eric Sandeen wrote: > This needs some attention across all of xfs_io, but you might want > to return 0 for now for consistency with other commands. > > -Eric sorry, signed off too early, there were more comments below :) >> + >> + return 0; >> +} >> + >> +void >> +utimes_init(void) >> +{ >> + utimes_cmd.name = "utimes"; >> + utimes_cmd.cfunc = utimes_f; >> + utimes_cmd.argmin = 4; >> + utimes_cmd.argmax = 4; >> + utimes_cmd.flags = CMD_NOMAP_OK | CMD_FOREIGN_OK; >> + utimes_cmd.args = _("atime_sec atime_nsec mtime_sec mtime_nsec"); >> + utimes_cmd.oneline = _("Update file times of the current file"); >> + utimes_cmd.help = utimes_help; >> + >> + add_command(&utimes_cmd); >> +} >> diff --git a/libxcmd/input.c b/libxcmd/input.c >> index 5a7dce3..2fdb3e8 100644 >> --- a/libxcmd/input.c >> +++ b/libxcmd/input.c >> @@ -327,6 +327,28 @@ timestr( >> } >> >> /* >> + * 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. > > >> +} >> + >> +/* >> * Convert from arbitrary user strings into a numeric ID. >> * If it's all numeric, we convert that inplace, else we do >> * the name lookup, and return the found identifier. >> 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. > > thanks, > -Eric > >> +.BI utimes " atime_sec atime_nsec mtime_sec mtime_nsec" >> +The utimes command changes the atime and mtime of the current file. >> +sec uses UNIX timestamp notation and is the seconds elapsed since >> +1970-01-01 00:00:00 UTC. >> +nsec is the nanoseconds since the sec. This value needs to be in >> +the range 0-999999999 with UTIME_NOW and UTIME_OMIT being exceptions. >> +Each (sec, nsec) pair constitutes a single timestamp value. >> >> .SH MEMORY MAPPED I/O COMMANDS >> .TP >> @@ -875,6 +886,7 @@ verbose output will be printed. >> .BR fstatfs (2), >> .BR fsync (2), >> .BR ftruncate (2), >> +.BR futimens (3), >> .BR mmap (2), >> .BR msync (2), >> .BR open (2), -- 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