From d40d859aef9a9d5040294dde731623149bdb525f Mon Sep 17 00:00:00 2001 From: Fan Yong Date: Sat, 6 Jul 2013 09:01:09 +0800 Subject: [PATCH] LU-3649 lfsck: NOT cache lfsck local objects When LFSCK build its local objects, such as "lfsck_bookmark", the stack maybe not fully setup, and the local_storage uses own stack and we should drop those objects from cache immediately after put. Signed-off-by: Fan Yong Change-Id: I4b122f5a8518499d5986e1abfae912c6fb3cff5f Reviewed-on: http://review.whamcloud.com/7153 Tested-by: Hudson Tested-by: Maloo Tested-by: Oleg Drokin Reviewed-by: Andreas Dilger Reviewed-by: Oleg Drokin --- lustre/lfsck/lfsck_lib.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lustre/lfsck/lfsck_lib.c b/lustre/lfsck/lfsck_lib.c index 4fefa7d..99fcf39 100644 --- a/lustre/lfsck/lfsck_lib.c +++ b/lustre/lfsck/lfsck_lib.c @@ -100,7 +100,7 @@ static inline void lfsck_component_put(const struct lu_env *env, { if (atomic_dec_and_test(&com->lc_ref)) { if (com->lc_obj != NULL) - lu_object_put(env, &com->lc_obj->do_lu); + lu_object_put_nocache(env, &com->lc_obj->do_lu); if (com->lc_file_ram != NULL) OBD_FREE(com->lc_file_ram, com->lc_file_size); if (com->lc_file_disk != NULL) @@ -167,7 +167,7 @@ static void lfsck_instance_cleanup(const struct lu_env *env, LASSERT(thread_is_init(thread) || thread_is_stopped(thread)); if (lfsck->li_obj_oit != NULL) { - lu_object_put(env, &lfsck->li_obj_oit->do_lu); + lu_object_put_nocache(env, &lfsck->li_obj_oit->do_lu); lfsck->li_obj_oit = NULL; } @@ -197,7 +197,7 @@ static void lfsck_instance_cleanup(const struct lu_env *env, } if (lfsck->li_bookmark_obj != NULL) { - lu_object_put(env, &lfsck->li_bookmark_obj->do_lu); + lu_object_put_nocache(env, &lfsck->li_bookmark_obj->do_lu); lfsck->li_bookmark_obj = NULL; } @@ -207,7 +207,7 @@ static void lfsck_instance_cleanup(const struct lu_env *env, } if (lfsck->li_local_root != NULL) { - lu_object_put(env, &lfsck->li_local_root->do_lu); + lu_object_put_nocache(env, &lfsck->li_local_root->do_lu); lfsck->li_local_root = NULL; } -- 1.8.3.1