[PATCH] nfs.c: Change filesystem utime_h handler to utimens_h
Ryan Long
ryan.long at oarcorp.com
Mon May 3 18:14:01 UTC 2021
Changed nfs_utime() to nfs_utimens(), changed the arguments to use
a timespec array instead of individual variables for access and
modified time.
Updates #4400
---
nfsclient/src/nfs.c | 50 +++++++++++++++++++++++++-------------------------
1 file changed, 25 insertions(+), 25 deletions(-)
diff --git a/nfsclient/src/nfs.c b/nfsclient/src/nfs.c
index bc9a2c6..72fefb9 100644
--- a/nfsclient/src/nfs.c
+++ b/nfsclient/src/nfs.c
@@ -2050,19 +2050,19 @@ static int nfs_rmnod(
return rv;
}
-static int nfs_utime(
+static int nfs_utimens(
const rtems_filesystem_location_info_t *pathloc, /* IN */
- time_t actime, /* IN */
- time_t modtime /* IN */
+ struct timespec times[2] /* IN */
+
)
{
sattr arg;
/* TODO: add rtems EPOCH - UNIX EPOCH seconds */
- arg.atime.seconds = actime;
- arg.atime.useconds = 0;
- arg.mtime.seconds = modtime;
- arg.mtime.useconds = 0;
+ arg.atime.seconds = times[0].tv_sec;
+ arg.atime.useconds = times[0].tv_nsec / 1000;
+ arg.mtime.seconds = times[1].tv_sec;
+ arg.mtime.useconds = times[1].tv_nsec / 1000;
return nfs_sattr(pathloc->node_access, &arg, SATTR_ATIME | SATTR_MTIME);
}
@@ -2254,25 +2254,25 @@ sattr arg;
}
const struct _rtems_filesystem_operations_table nfs_fs_ops = {
- .lock_h = nfs_lock,
- .unlock_h = nfs_unlock,
- .eval_path_h = nfs_eval_path,
- .link_h = nfs_link,
+ .lock_h = nfs_lock,
+ .unlock_h = nfs_unlock,
+ .eval_path_h = nfs_eval_path,
+ .link_h = nfs_link,
.are_nodes_equal_h = nfs_are_nodes_equal,
- .mknod_h = nfs_mknod,
- .rmnod_h = nfs_rmnod,
- .fchmod_h = nfs_fchmod,
- .chown_h = nfs_chown,
- .clonenod_h = nfs_clonenode,
- .freenod_h = nfs_freenode,
- .mount_h = rtems_filesystem_default_mount,
- .unmount_h = rtems_filesystem_default_unmount,
- .fsunmount_me_h = nfs_fsunmount_me,
- .utime_h = nfs_utime,
- .symlink_h = nfs_symlink,
- .readlink_h = nfs_readlink,
- .rename_h = nfs_rename,
- .statvfs_h = rtems_filesystem_default_statvfs
+ .mknod_h = nfs_mknod,
+ .rmnod_h = nfs_rmnod,
+ .fchmod_h = nfs_fchmod,
+ .chown_h = nfs_chown,
+ .clonenod_h = nfs_clonenode,
+ .freenod_h = nfs_freenode,
+ .mount_h = rtems_filesystem_default_mount,
+ .unmount_h = rtems_filesystem_default_unmount,
+ .fsunmount_me_h = nfs_fsunmount_me,
+ .utimens_h = nfs_utimens,
+ .symlink_h = nfs_symlink,
+ .readlink_h = nfs_readlink,
+ .rename_h = nfs_rename,
+ .statvfs_h = rtems_filesystem_default_statvfs
};
/*****************************************
--
1.8.3.1
More information about the devel
mailing list