From: "Dilger, Andreas" <andreas.dilger@intel.com>
To: "J. Bruce Fields" <bfields@fieldses.org>
Cc: "linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
"Yong, Fan" <fan.yong@intel.com>
Subject: [PATCH] nfs: support 64-bit root inode number in NFS FSID
Date: Wed, 22 May 2013 23:06:54 +0000 [thread overview]
Message-ID: <CDC2ABAC.3341C%andreas.dilger@intel.com> (raw)
[-- 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
next reply other threads:[~2013-05-22 23:07 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-22 23:06 Dilger, Andreas [this message]
2013-05-23 8:12 ` [PATCH] nfs: support 64-bit root inode number in NFS FSID 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
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=CDC2ABAC.3341C%andreas.dilger@intel.com \
--to=andreas.dilger@intel.com \
--cc=bfields@fieldses.org \
--cc=fan.yong@intel.com \
--cc=linux-nfs@vger.kernel.org \
/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.