X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Flov%2Flovsub_lock.c;h=4810da41d425b53346dd26e11a9e3cf79a7d0d7c;hb=07c6f609d37878ce0d308a129a0f3ae967d6197b;hp=2b495da36a7a1189cb9b6a0b2a6e8a50ed67277d;hpb=6e3ec5812ebd1b5ecf7cae584f429b013ffe7431;p=fs%2Flustre-release.git diff --git a/lustre/lov/lovsub_lock.c b/lustre/lov/lovsub_lock.c index 2b495da..4810da4 100644 --- a/lustre/lov/lovsub_lock.c +++ b/lustre/lov/lovsub_lock.c @@ -26,7 +26,7 @@ * GPL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. */ /* @@ -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,10 +376,11 @@ 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: - CERROR("Impossible state: %i\n", parent->cll_state); + CERROR("Impossible state: %d\n", parent->cll_state); LBUG(); break; }