Whamcloud - gitweb
LU-2904 llite: return compatible fsid for statfs 34/7434/2
authorFan Yong <fan.yong@intel.com>
Mon, 15 Jul 2013 14:59:48 +0000 (22:59 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 30 Aug 2013 20:21:35 +0000 (20:21 +0000)
commitabe4d83fab003e27118cc51f007cba32a6cc8413
treedfe9a478cfa443b78c83f8a0d8ba8297e676dd8d
parent6c74e4d72fe4f37a1487de24214a3ca75e57080c
LU-2904 llite: return compatible fsid for statfs

Lustre uses 64-bits inode number to identify object on client side.
When re-export Lustre via NFS, NFS will detect whether support fsid
via statfs(). For the non-support case, it will only recognizes and
packs low 32-bits inode number in nfs handle. Such handle cannot be
used to locate the object properly.
To avoid patch linux kernel, Lustre client should generate fsid and
return it via statfs() to up layer.

To be compatible with old Lustre client (NFS server), the fsid will
be generated from super_block::s_dev.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I56ffe1836a33c6436ed628f2aee3714cf4445dc9
Reviewed-on: http://review.whamcloud.com/7434
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/llite/llite_internal.h
lustre/llite/llite_lib.c
lustre/llite/llite_nfs.c