From patchwork Wed May 22 23:06:54 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Dilger, Andreas" X-Patchwork-Id: 2604121 Return-Path: X-Original-To: patchwork-linux-nfs@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 440C940077 for ; Wed, 22 May 2013 23:07:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753849Ab3EVXHL (ORCPT ); Wed, 22 May 2013 19:07:11 -0400 Received: from mga01.intel.com ([192.55.52.88]:28480 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753373Ab3EVXHK (ORCPT ); Wed, 22 May 2013 19:07:10 -0400 Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP; 22 May 2013 16:06:57 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.87,724,1363158000"; d="scan'208,223";a="341974817" Received: from fmsmsx108.amr.corp.intel.com ([10.19.9.228]) by fmsmga002.fm.intel.com with ESMTP; 22 May 2013 16:06:55 -0700 Received: from fmsmsx153.amr.corp.intel.com (10.19.17.7) by FMSMSX108.amr.corp.intel.com (10.19.9.228) with Microsoft SMTP Server (TLS) id 14.3.123.3; Wed, 22 May 2013 16:06:55 -0700 Received: from FMSMSX109.amr.corp.intel.com ([169.254.5.126]) by FMSMSX153.amr.corp.intel.com ([169.254.9.202]) with mapi id 14.03.0123.003; Wed, 22 May 2013 16:06:55 -0700 From: "Dilger, Andreas" To: "J. Bruce Fields" CC: "linux-nfs@vger.kernel.org" , "Yong, Fan" Subject: [PATCH] nfs: support 64-bit root inode number in NFS FSID Thread-Topic: [PATCH] nfs: support 64-bit root inode number in NFS FSID Thread-Index: AQHOV0EMyPHPUDp1IUmFIrL7LyYOpA== Date: Wed, 22 May 2013 23:06:54 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [10.254.81.199] MIME-Version: 1.0 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org 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 Signed-off-by: Andreas Dilger --- utils/mountd/cache.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) --1.7.1 Patch is also attached separately, since it will likely be butchered by this email client. Cheers, Andreas 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;