RE: [PATCH v2] libbsd nfs.c: Change filesystem utime_h handler to utimens_h

2021-05-20 Thread Ryan Long
ping

-Original Message-
From: Ryan Long  
Sent: Monday, May 3, 2021 1:41 PM
To: devel@rtems.org
Cc: Ryan Long 
Subject: [PATCH v2] libbsd nfs.c: Change filesystem utime_h handler to utimens_h

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
---
 rtemsbsd/nfsclient/nfs.c | 50 
 1 file changed, 25 insertions(+), 25 deletions(-)

diff --git a/rtemsbsd/nfsclient/nfs.c b/rtemsbsd/nfsclient/nfs.c index 
3b8a592..baada6c 100644
--- a/rtemsbsd/nfsclient/nfs.c
+++ b/rtemsbsd/nfsclient/nfs.c
@@ -2058,19 +2058,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, , SATTR_ATIME | 
SATTR_MTIME);  }
@@ -2262,25 +2262,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

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


[PATCH v2] libbsd nfs.c: Change filesystem utime_h handler to utimens_h

2021-05-03 Thread Ryan Long
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
---
 rtemsbsd/nfsclient/nfs.c | 50 
 1 file changed, 25 insertions(+), 25 deletions(-)

diff --git a/rtemsbsd/nfsclient/nfs.c b/rtemsbsd/nfsclient/nfs.c
index 3b8a592..baada6c 100644
--- a/rtemsbsd/nfsclient/nfs.c
+++ b/rtemsbsd/nfsclient/nfs.c
@@ -2058,19 +2058,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, , SATTR_ATIME | SATTR_MTIME);
 }
@@ -2262,25 +2262,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

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel