Whamcloud - gitweb
LU-14826 mdt: getattr_name("..") under striped directory 68/44168/6
authorLai Siyao <lai.siyao@whamcloud.com>
Thu, 8 Jul 2021 14:25:51 +0000 (10:25 -0400)
committerOleg Drokin <green@whamcloud.com>
Thu, 22 Jul 2021 04:53:47 +0000 (04:53 +0000)
commitcbc62b0b829afdceaa01820996e567b5bdeb281c
treed8697a179e836f5c4c34ba902f7487ed8b882504
parent6a4be282bbbd5c6d92787abe9ae316e3c702192c
LU-14826 mdt: getattr_name("..") under striped directory

For getattr_name(".."), it should return FID of the master object for
striped directories. This includes changes on both client and server:
* lmv_getattr_name() should use master object FID if it's looking up
  "..".
* mdt_raw_lookup() should check parent object is sub stripe, if so
  it needs to lookup again to get master object FID. For old client
  without above change this needs to be checked twice.

This is needed by NFS export, because ll_get_parent() find parent by
getattr_name("..").

Reenable check_fhandle_syscall and update sanityn test_102.

Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: I72c951293e41656ce3778750147402d7f8ca4cec
Reviewed-on: https://review.whamcloud.com/44168
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
lustre/lmv/lmv_obd.c
lustre/mdt/mdt_handler.c
lustre/tests/check_fhandle_syscalls.c
lustre/tests/sanityn.sh