[lustre-devel] [PATCH v2 31/33] lustre: lov: call cl_object_attr_get under cl_attr lock
James Simmons
jsimmons at infradead.org
Sun Jan 6 14:14:26 PST 2019
From: Mike Pershin <mpershin at whamcloud.com>
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: Mike Pershin <mpershin at whamcloud.com>
WC-bug-id: https://jira.whamcloud.com/browse/LU-10232
Reviewed-on: https://review.whamcloud.com/30052
Reviewed-by: Fan Yong <fan.yong at intel.com>
Reviewed-by: Oleg Drokin <green at whamcloud.com>
Signed-off-by: James Simmons <jsimmons at infradead.org>
---
drivers/staging/lustre/lustre/lov/lov_pack.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/staging/lustre/lustre/lov/lov_pack.c b/drivers/staging/lustre/lustre/lov/lov_pack.c
index ef3c040..089e556 100644
--- a/drivers/staging/lustre/lustre/lov/lov_pack.c
+++ b/drivers/staging/lustre/lustre/lov/lov_pack.c
@@ -397,7 +397,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
More information about the lustre-devel
mailing list