Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Feb 2005 05:10:23 GMT
From:      Guy Harris <guy@alum.mit.edu>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/77904: NFS server should set VA_UTIMES_NULL in a v3SETATTR if both the accessed and modified times are NFSV3SATTRTIME_TOSERVER
Message-ID:  <200502220510.j1M5ANGH082527@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/77904; it has been noted by GNATS.

From: Guy Harris <guy@alum.mit.edu>
To: freebsd-gnats-submit@FreeBSD.org
Cc:  
Subject: Re: kern/77904: NFS server should set VA_UTIMES_NULL in a v3 SETATTR
 if both the accessed and modified times are NFSV3SATTRTIME_TOSERVER
Date: Mon, 21 Feb 2005 21:05:55 -0800

 NetBSD's nfsm_srvsattr() does
 
                  nfsm_dissect(tl, u_int32_t *, NFSX_UNSIGNED); \
                  switch (fxdr_unsigned(int, *tl)) { \
                  case NFSV3SATTRTIME_TOCLIENT: \
                          nfsm_dissect(tl, u_int32_t *, 2 * NFSX_UNSIGNED); \
                          fxdr_nfsv3time(tl, &(a)->va_atime); \
                          break; \
                  case NFSV3SATTRTIME_TOSERVER: \
                          (a)->va_atime.tv_sec = time.tv_sec; \
                          (a)->va_atime.tv_nsec = time.tv_usec * 1000; \
                          (a)->va_vaflags |= VA_UTIMES_NULL; \
                          break; \
                  }; \
                  nfsm_dissect(tl, u_int32_t *, NFSX_UNSIGNED); \
                  switch (fxdr_unsigned(int, *tl)) { \
                  case NFSV3SATTRTIME_TOCLIENT: \
                          nfsm_dissect(tl, u_int32_t *, 2 * NFSX_UNSIGNED); \
                          fxdr_nfsv3time(tl, &(a)->va_mtime); \
                          (a)->va_vaflags &= ~VA_UTIMES_NULL; \
                          break; \
                  case NFSV3SATTRTIME_TOSERVER: \
                          (a)->va_mtime.tv_sec = time.tv_sec; \
                          (a)->va_mtime.tv_nsec = time.tv_usec * 1000; \
                          (a)->va_vaflags |= VA_UTIMES_NULL; \
                          break; \
                  }; }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200502220510.j1M5ANGH082527>