From 80515fa15ee76fb0174fd3be80c4a113a8d3c875 Mon Sep 17 00:00:00 2001 From: Mikhail Pershin Date: Mon, 13 Nov 2017 00:20:26 +0300 Subject: [PATCH] LU-10232 lov: call cl_object_attr_get under cl_attr lock cl_object_attr_get() must be called under cl_object_attr_lock get. There is place in lov_getstripe where it is called without that lock. Signed-off-by: Mikhail Pershin Change-Id: Ia0a2322ba4ff0ff4affb081375cb108fbf2988c4 Reviewed-on: https://review.whamcloud.com/30052 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Fan Yong Reviewed-by: Oleg Drokin --- lustre/lov/lov_pack.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lustre/lov/lov_pack.c b/lustre/lov/lov_pack.c index efcb442..c7e9447 100644 --- a/lustre/lov/lov_pack.c +++ b/lustre/lov/lov_pack.c @@ -418,7 +418,9 @@ int lov_getstripe(const struct lu_env *env, struct lov_object *obj, attr.cat_size = 0; cl_obj = cl_object_top(&obj->lo_cl); + cl_object_attr_lock(cl_obj); cl_object_attr_get(env, cl_obj, &attr); + cl_object_attr_unlock(cl_obj); /* return the last instantiated component if file size * is non-zero, otherwise, return the last component.*/ -- 1.8.3.1