Whamcloud - gitweb
LU-13437 mdt: rename misses remote LOOKUP lock revoke 81/38181/16
authorLai Siyao <lai.siyao@whamcloud.com>
Wed, 8 Apr 2020 14:55:22 +0000 (22:55 +0800)
committerOleg Drokin <green@whamcloud.com>
Sun, 28 Jun 2020 02:47:56 +0000 (02:47 +0000)
commit4918fe40db262b19093436caca688c75eb632496
treed5e278b7fccbd1c7739a2161512bbcfb6e12dc56
parent0569b66c40972db66706b565bd902da07f70ff3c
LU-13437 mdt: rename misses remote LOOKUP lock revoke

In rename, all objects but target may be remote, so to check whether
source is remote object on source parent, we need to compare which
MDTs they are located if both are remote. Add a helper function
mdt_rename_source_lock() to handle all possible combinations. If target
parent is remote, take remote LOOKUP for target on where target parent
is.

Add sanityn.sh 81c.

Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: I2c134970d6abc8761528d01950b23495292cdf93
Reviewed-on: https://review.whamcloud.com/38181
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Mike Pershin <mpershin@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/mdt/mdt_handler.c
lustre/mdt/mdt_internal.h
lustre/mdt/mdt_reint.c
lustre/tests/sanityn.sh