X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Flov%2Flovsub_lock.c;h=4810da41d425b53346dd26e11a9e3cf79a7d0d7c;hp=f7d54ba46be4ce029adfcac46f07a841342f6151;hb=fa507031d245b08c7f24efed32819daf2aa42ab3;hpb=e84a4593535b9a159ad2ac38b613f8700191e7a2;ds=sidebyside diff --git a/lustre/lov/lovsub_lock.c b/lustre/lov/lovsub_lock.c index f7d54ba..4810da4 100644 --- a/lustre/lov/lovsub_lock.c +++ b/lustre/lov/lovsub_lock.c @@ -301,9 +301,7 @@ static int lovsub_lock_delete_one(const struct lu_env *env, result = 0; switch (parent->cll_state) { - case CLS_NEW: case CLS_QUEUING: - case CLS_ENQUEUED: case CLS_FREEING: cl_lock_signal(env, parent); break; @@ -337,6 +335,8 @@ static int lovsub_lock_delete_one(const struct lu_env *env, * enqueues missing sub-lock. */ cl_lock_state_set(env, parent, CLS_NEW); + /* fall through */ + case CLS_NEW: /* * if last sub-lock is canceled, destroy the top-lock (which * is now `empty') proactively. @@ -376,6 +376,7 @@ static int lovsub_lock_delete_one(const struct lu_env *env, } } break; + case CLS_ENQUEUED: case CLS_HELD: CL_LOCK_DEBUG(D_ERROR, env, parent, "Delete CLS_HELD lock\n"); default: