Print this page
7123 encode timestamps in rfs4_op_readdir()

@@ -1395,16 +1395,15 @@
                             FATTR4_TIME_MODIFY_MASK |
                             FATTR4_TIME_MODIFY_SET_MASK |
                             FATTR4_MOUNTED_ON_FILEID_MASK)) {
 
                                 if (ae & FATTR4_TIME_ACCESS_MASK) {
-                                        u_longlong_t sec =
-                                            (u_longlong_t)va.va_atime.tv_sec;
-                                        uint_t nsec =
-                                            (uint_t)va.va_atime.tv_nsec;
-                                        IXDR_PUT_HYPER(ptr, sec);
-                                        IXDR_PUT_INT32(ptr, nsec);
+                                        nfstime4 atime;
+                                        (void) nfs4_time_vton(&va.va_atime,
+                                            &atime);
+                                        IXDR_PUT_HYPER(ptr, atime.seconds);
+                                        IXDR_PUT_INT32(ptr, atime.nseconds);
                                 }
                                 if (ae & FATTR4_TIME_ACCESS_SET_MASK) {
                                         ASSERT(0);
                                 }
                                 if (ae & FATTR4_TIME_BACKUP_MASK) {

@@ -1418,24 +1417,22 @@
                                         uint_t nsec = 1000;
                                         IXDR_PUT_HYPER(ptr, sec);
                                         IXDR_PUT_INT32(ptr, nsec);
                                 }
                                 if (ae & FATTR4_TIME_METADATA_MASK) {
-                                        u_longlong_t sec =
-                                            (u_longlong_t)va.va_ctime.tv_sec;
-                                        uint_t nsec =
-                                            (uint_t)va.va_ctime.tv_nsec;
-                                        IXDR_PUT_HYPER(ptr, sec);
-                                        IXDR_PUT_INT32(ptr, nsec);
+                                        nfstime4 ctime;
+                                        (void) nfs4_time_vton(&va.va_ctime,
+                                            &ctime);
+                                        IXDR_PUT_HYPER(ptr, ctime.seconds);
+                                        IXDR_PUT_INT32(ptr, ctime.nseconds);
                                 }
                                 if (ae & FATTR4_TIME_MODIFY_MASK) {
-                                        u_longlong_t sec =
-                                            (u_longlong_t)va.va_mtime.tv_sec;
-                                        uint_t nsec =
-                                            (uint_t)va.va_mtime.tv_nsec;
-                                        IXDR_PUT_HYPER(ptr, sec);
-                                        IXDR_PUT_INT32(ptr, nsec);
+                                        nfstime4 mtime;
+                                        (void) nfs4_time_vton(&va.va_mtime,
+                                            &mtime);
+                                        IXDR_PUT_HYPER(ptr, mtime.seconds);
+                                        IXDR_PUT_INT32(ptr, mtime.nseconds);
                                 }
                                 if (ae & FATTR4_TIME_MODIFY_SET_MASK) {
                                         ASSERT(0);
                                 }
                                 if (ae & FATTR4_MOUNTED_ON_FILEID_MASK) {