Whamcloud - gitweb
LU-3544 fid: do open-by-fid by default 76/7476/23
authorLai Siyao <lai.siyao@intel.com>
Wed, 28 Aug 2013 07:04:24 +0000 (15:04 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 20 Jun 2014 02:51:55 +0000 (02:51 +0000)
commitcb85c0364fd8323f4bb03c481660805da66aaf85
tree57c74321d8e92111b6a34d1e72c58c3e51b9b2eb
parent1490e22dd1bebd043e1b819f89011b1097dcf289
LU-3544 fid: do open-by-fid by default

Currently client open-by-fid often packs name into the request,
but the name may be invalid, eg. NFS export, and even if it's
valid, it may cause inconsistency because this operation is done
on this fid, which is globally unique, but name not.

Since open-by-fid doesn't pack name, for striped dir we can't know
parent stripe fid on client, so we set parent fid the same as
child fid, and MDT has to find its parent fid from linkea (this is
already supported by MDT).

M_CHECK_STALE becomes obsolete.

Unset MDS_OPEN_FL_INTERNAL from open syscall flags, because these
flags are internally used, and should not be set from user space.

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: Id8d32a26497b2df944c7f9ef51a418ec136a6a9b
Reviewed-on: http://review.whamcloud.com/7476
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
14 files changed:
lustre/include/lustre/lustre_idl.h
lustre/include/lustre_lite.h
lustre/include/lustre_mds.h
lustre/llite/file.c
lustre/llite/llite_lib.c
lustre/llite/llite_nfs.c
lustre/llite/namei.c
lustre/lmv/lmv_intent.c
lustre/lmv/lmv_internal.h
lustre/mdc/mdc_internal.h
lustre/mdc/mdc_lib.c
lustre/mdc/mdc_locks.c
lustre/mdt/mdt_open.c
lustre/tests/sanity.sh