Whamcloud - gitweb
LU-15300 mdt: refresh LOVEA with LL granted 64/55464/8
authorAlex Zhuravlev <bzzz@whamcloud.com>
Tue, 12 Nov 2024 19:23:08 +0000 (11:23 -0800)
committerOleg Drokin <green@whamcloud.com>
Wed, 22 Jan 2025 18:50:56 +0000 (18:50 +0000)
commit9287b2c34d3c7c4d94d9db3a5a622d89be31ec6b
treeea28078dcd135c25aee5f1c1373b94d0d9ebd268
parenta71369eb9cb0aa89ede41cb01b2cd9cdcd8e9680
LU-15300 mdt: refresh LOVEA with LL granted

this change tries to fix two problems:
1) mdt_reint_open() fetches LOVEA before layout lock is taken.
   this may race with another process changing the layout and
   may result in a stale layout returned with a granted layout
   lock - re-fetch LOVEA once layout lock is granted

2) lov_layout_change() should not apply old layouts which
   can get through when MDS doesn't take layout lock

3) LFSCK shouldn't ignore layout version stored on MDS to avoid
   a situation when version degrades compared to client's copy.

This patch misses an optimization and can result in a number of
useless calls to OSD to fetch LOVEA. To be fixed in a followup
patch.

Lustre-change: https://review.whamcloud.com/46413
Lustre-commit: 13557aa86904376e48a5e43256d5c1ab32c1c2d6

LU-14869 test: improve sanity-flr/200a

Make sure "flock -x" successfully returned before running mirror
resync so that it won't get into running read holding shared flock.

Lustre-change: https://review.whamcloud.com/54345
Lustre-commit: 2bf51212680b3d4117925965c368d53587bf37d4

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: Idee1101d152ab09947faf6d75574a8761a7690a5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55464
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Zhenyu Xu <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/obd_support.h
lustre/lfsck/lfsck_layout.c
lustre/llite/vvp_page.c
lustre/lov/lov_object.c
lustre/mdt/mdt_open.c
lustre/tests/sanity-flr.sh