All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chuck Lever <chuck.lever@oracle.com>
To: trond.myklebust@netapp.com
Cc: linux-nfs@vger.kernel.org
Subject: [PATCH 06/11] NFS: Move and update xdr_encode_foo() functions that we're keeping
Date: Fri, 10 Sep 2010 16:09:39 -0400	[thread overview]
Message-ID: <20100910200938.13321.52944.stgit@seurat.1015granger.net> (raw)
In-Reply-To: <20100910200512.13321.55605.stgit@seurat.1015granger.net>

Clean up.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---

 fs/nfs/nfs2xdr.c |   59 ++++++++++++++++++++++++++++++------------------------
 1 files changed, 33 insertions(+), 26 deletions(-)

diff --git a/fs/nfs/nfs2xdr.c b/fs/nfs/nfs2xdr.c
index cd9e2d8..0a3f830 100644
--- a/fs/nfs/nfs2xdr.c
+++ b/fs/nfs/nfs2xdr.c
@@ -91,32 +91,6 @@ xdr_decode_fhandle(__be32 *p, struct nfs_fh *fhandle)
 }
 
 static inline __be32*
-xdr_encode_time(__be32 *p, const struct timespec *timep)
-{
-	*p++ = htonl(timep->tv_sec);
-	/* Convert nanoseconds into microseconds */
-	*p++ = htonl(timep->tv_nsec ? timep->tv_nsec / 1000 : 0);
-	return p;
-}
-
-static inline __be32*
-xdr_encode_current_server_time(__be32 *p, const struct timespec *timep)
-{
-	/*
-	 * Passing the invalid value useconds=1000000 is a
-	 * Sun convention for "set to current server time".
-	 * It's needed to make permissions checks for the
-	 * "touch" program across v2 mounts to Solaris and
-	 * Irix boxes work correctly. See description of
-	 * sattr in section 6.1 of "NFS Illustrated" by
-	 * Brent Callaghan, Addison-Wesley, ISBN 0-201-32750-5
-	 */
-	*p++ = htonl(timep->tv_sec);
-	*p++ = htonl(1000000);
-	return p;
-}
-
-static inline __be32*
 xdr_decode_time(__be32 *p, struct timespec *timep)
 {
 	timep->tv_sec = ntohl(*p++);
@@ -180,6 +154,39 @@ static void encode_fhandle(struct xdr_stream *xdr, const struct nfs_fh *fh)
 }
 
 /*
+ * 2.3.4.  timeval
+ *
+ *	struct timeval {
+ *		unsigned int seconds;
+ *		unsigned int useconds;
+ *	};
+ */
+static __be32 *xdr_encode_time(__be32 *p, const struct timespec *timep)
+{
+	*p++ = cpu_to_be32(timep->tv_sec);
+	if (timep->tv_nsec != 0)
+		*p++ = cpu_to_be32(timep->tv_nsec / NSEC_PER_USEC);
+	else
+		*p++ = cpu_to_be32(0);
+	return p;
+}
+
+/*
+ * Passing the invalid value useconds=1000000 is a Sun convention for
+ * "set to current server time".  It's needed to make permissions checks
+ * for the "touch" program across v2 mounts to Solaris and Irix servers
+ * work correctly.  See description of sattr in section 6.1 of "NFS
+ * Illustrated" by Brent Callaghan, Addison-Wesley, ISBN 0-201-32750-5.
+ */
+static __be32 *xdr_encode_current_server_time(__be32 *p,
+					      const struct timespec *timep)
+{
+	*p++ = cpu_to_be32(timep->tv_sec);
+	*p++ = cpu_to_be32(1000000);
+	return p;
+}
+
+/*
  * 2.3.6.  sattr
  *
  *	struct sattr {


  parent reply	other threads:[~2010-09-10 20:09 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-10 20:08 [PATCH 00/11] Overhaul NFSv2-related XDR functions Chuck Lever
2010-09-10 20:08 ` [PATCH 01/11] NFS: Fix NFSv3 debugging messages in fs/nfs/nfs3proc.c Chuck Lever
2010-09-10 20:08 ` [PATCH 02/11] SUNRPC: Correct an rpcbind debugging message Chuck Lever
2010-09-10 20:09 ` [PATCH 03/11] SUNRPC: Refactor logic to NUL-terminate strings in pages Chuck Lever
2010-09-10 20:09 ` [PATCH 04/11] NFS: Introduce new-style XDR encoding functions for NFSv2 Chuck Lever
2010-09-13 19:52   ` Trond Myklebust
2010-09-13 20:00     ` Chuck Lever
2010-09-10 20:09 ` [PATCH 05/11] NFS: Remove old NFSv2 encoder functions Chuck Lever
2010-09-10 20:09 ` Chuck Lever [this message]
2010-09-10 20:09 ` [PATCH 07/11] NFS: Use the "nfs_stat" enum for nfs_stat_to_errno()'s argument Chuck Lever
2010-09-10 20:10 ` [PATCH 08/11] NFS: Introduce new-style XDR decoding functions for NFSv2 Chuck Lever
2010-09-10 20:10 ` [PATCH 09/11] NFS: Replace old NFSv2 decoder functions with xdr_stream-based ones Chuck Lever
2010-09-10 20:10 ` [PATCH 10/11] NFS: Move and update xdr_decode_foo() functions that we're keeping Chuck Lever
2010-09-10 20:10 ` [PATCH 11/11] lockd: Introduce new-style XDR functions for NLMv3 Chuck Lever

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100910200938.13321.52944.stgit@seurat.1015granger.net \
    --to=chuck.lever@oracle.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=trond.myklebust@netapp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.