All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] nfs: support 64-bit root inode number in NFS FSID
@ 2013-05-22 23:06 Dilger, Andreas
  2013-05-23  8:12 ` Peng Tao
  0 siblings, 1 reply; 11+ messages in thread
From: Dilger, Andreas @ 2013-05-22 23:06 UTC (permalink / raw)
  To: J. Bruce Fields; +Cc: linux-nfs@vger.kernel.org, Yong, Fan

[-- Attachment #1: Type: text/plain, Size: 1478 bytes --]

When exporting a filesystem via NFS, it can generate several kinds
of NFS filesystem IDs. For most of cases, it uses a 32-bit inode
number in the NFS FSID, but this does not work on a filesystem
using a 64-bit root inode number.

In kernel space, NFS can generate/use NFS FSID with a 64-bit inode
number for the "FSID_UUID16_INUM" type. Unfortunately, while the
user space nfs-utils decode the 64-bit inode number from the FSID
correctly, it is truncated when storing it in "struct parsed_fsid".
Expand the "struct parsed_fsid" inode field to store the full 64-bit
root inode number.

Intel-bug-id: LU-2904
Signed-off-by: Fan Yong <fan.yong@intel.com>
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
---
 utils/mountd/cache.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
index 517aa62..a7212e7 100644
--- a/utils/mountd/cache.c
+++ b/utils/mountd/cache.c
@@ -388,7 +388,7 @@ struct parsed_fsid {
 	int fsidtype;
 	/* We could use a union for this, but it would be more
 	 * complicated; why bother? */
-	unsigned int inode;
+	unsigned long long inode; /* We need 64-bits ino# */
 	unsigned int minor;
 	unsigned int major;
 	unsigned int fsidnum;
--1.7.1

Patch is also attached separately, since it will likely be butchered
by this email client.


Cheers, Andreas
-- 
Andreas Dilger

Lustre Software Architect
Intel High Performance Data Division



[-- Attachment #2: nfs-suport-64-bit-root-inode-number.patch --]
[-- Type: application/octet-stream, Size: 1453 bytes --]

From bebf55d991322c72d5b09b216c776ab0387c043e Mon Sep 17 00:00:00 2001
From: Fan Yong <fan.yong@intel.com>
Date: Mon, 13 May 2013 13:53:42 +0800
Subject: [PATCH] nfs: support 64-bit root inode number in NFS FSID

When exporting a filesystem via NFS, it can generate several kinds
of NFS filesystem IDs. For most of cases, it uses a 32-bit inode
number in the NFS FSID, but this does not work on a filesystem
using a 64-bit root inode number.

In kernel space, NFS can generate/use NFS FSID with a 64-bit inode
number for the "FSID_UUID16_INUM" type. Unfortunately, while the
user space nfs-utils decode the 64-bit inode number from the FSID
correctly, it is truncated when storing it in "struct parsed_fsid".
Expand the "struct parsed_fsid" inode field to store the full 64-bit
root inode number.

Intel-bug-id: LU-2904
Signed-off-by: Fan Yong <fan.yong@intel.com>
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
---
 utils/mountd/cache.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
index 517aa62..a7212e7 100644
--- a/utils/mountd/cache.c
+++ b/utils/mountd/cache.c
@@ -388,7 +388,7 @@ struct parsed_fsid {
 	int fsidtype;
 	/* We could use a union for this, but it would be more
 	 * complicated; why bother? */
-	unsigned int inode;
+	unsigned long long inode; /* We need 64-bits ino# */
 	unsigned int minor;
 	unsigned int major;
 	unsigned int fsidnum;
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2013-06-03  2:02 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-22 23:06 [PATCH] nfs: support 64-bit root inode number in NFS FSID Dilger, Andreas
2013-05-23  8:12 ` Peng Tao
2013-05-23 12:49   ` Myklebust, Trond
2013-05-23 12:59     ` Yong, Fan
2013-05-23 13:39       ` Myklebust, Trond
2013-05-23 14:20         ` Jim Rees
2013-05-23 14:21           ` Myklebust, Trond
2013-05-24  1:30             ` Yong, Fan
2013-05-24  1:49               ` Myklebust, Trond
2013-06-03  1:59     ` Yong, Fan
2013-06-03  2:02     ` Yong, Fan

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.