Whamcloud - gitweb
LU-2904 llite: use 32bitapi for re-export Lustre via NFS
authorFan Yong <yong.fan@whamcloud.com>
Tue, 19 Feb 2013 12:45:15 +0000 (20:45 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Tue, 9 Apr 2013 15:28:40 +0000 (11:28 -0400)
commit063892770e343916343ab0a4ee21601b8b23922e
treec689833961ba7b24bd3bc5dacc699b5a6f33a7d1
parentaea3cfc62c101066910daf1f9f12a7848f04be13
LU-2904 llite: use 32bitapi for re-export Lustre via NFS

Since Lustre-2.4, non-IGIF FID for root object will be
returned to client. For 64bit client, it converts such
root FID into a local ino#, which is larger than 2^32.

For the case of re-exporting Lustre via NFS, it works
only when the ino# less than 2^32, which is NFS defect.
So if without proper handling, it cannot re-export the
Lustre root via NFS. Similar issue exists all along on
old version for re-exporting non-root via NFS.

Current solution is that the user who want to re-export
Lustre (in spite of root or not) via NFS needs to mount
the Lustre client with the options "-o 32bitapi". Then
the client will convert 128-bits FID into 32-bits ino#.

This patch handles the options "32bitapi" for the FID
to ino# conversion. And some code cleanup.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I367ebe07d9bd645b312f37d78dfaa10f9f4b8200
Reviewed-on: http://review.whamcloud.com/5711
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/fld/fld_handler.c
lustre/fld/fld_index.c
lustre/llite/llite_lib.c
lustre/llite/llite_nfs.c
lustre/osd-ldiskfs/osd_scrub.c
lustre/osd-zfs/osd_oi.c