Whamcloud - gitweb
LU-14361 statahead: return ENOENT for batched statahead 87/51587/21
authorQian Yingjin <qian@ddn.com>
Thu, 6 Jul 2023 03:41:46 +0000 (23:41 -0400)
committerOleg Drokin <green@whamcloud.com>
Tue, 30 Apr 2024 06:53:01 +0000 (06:53 +0000)
commit1b7ea3444bf877b4f000c413de1f5473ddf56689
tree1816d7282083ef289df8eecafbb7c015a227778d
parent062456da635c0d901001eb5b6a8917dc9556518a
LU-14361 statahead: return ENOENT for batched statahead

When stat on a non-existing file in a batched statahead context,
MDT should return -ENOENT immediately and stop the statahead work.

Otherwise, the client may cache the parent inode with UPDATE lock
and the non-existing dentry under the protection of the parent's
UPDATE lock wrongly.

Add sanity/test_123j to verify it.

Test-Parameters: clientdistro=el9.2 testlist=sanity env=ONLY=123i,ONLY_REPEAT=10
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: Ia4618f605d2f38ce712e421bcd7b96688bbfbb32
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/51587
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/mdc/mdc_batch.c
lustre/mdt/mdt_batch.c
lustre/mdt/mdt_handler.c
lustre/tests/sanity.sh