Whamcloud - gitweb
b=19808 2.6.29-fc11 patchless client support
[fs/lustre-release.git] / lustre / include / cl_object.h
index f67c30d..9996eb3 100644 (file)
@@ -1419,7 +1419,7 @@ enum cl_lock_state {
          * state, it must wait for the lock.
          * See state diagram for details.
          */
-         CLS_INTRANSIT,
+        CLS_INTRANSIT,
         /**
          * Lock granted, not used.
          */
@@ -1570,6 +1570,10 @@ struct cl_lock {
          */
         struct list_head      cll_inclosure;
         /**
+         * Confict lock at queuing time.
+         */
+        struct cl_lock       *cll_conflict;
+        /**
          * A list of references to this lock, for debugging.
          */
         struct lu_ref         cll_reference;
@@ -1671,8 +1675,9 @@ struct cl_lock_operations {
          * usual return values of lock state-machine methods, this can return
          * -ESTALE to indicate that lock cannot be returned to the cache, and
          * has to be re-initialized.
+         * unuse is a one-shot operation, so it must NOT return CLO_WAIT.
          *
-         * \see ccc_lock_unlock(), lov_lock_unlock(), osc_lock_unlock()
+         * \see ccc_lock_unuse(), lov_lock_unuse(), osc_lock_unuse()
          */
         int  (*clo_unuse)(const struct lu_env *env,
                           const struct cl_lock_slice *slice);
@@ -2782,8 +2787,6 @@ void  cl_lock_release   (const struct lu_env *env, struct cl_lock *lock,
                          const char *scope, const void *source);
 void  cl_lock_user_add  (const struct lu_env *env, struct cl_lock *lock);
 int   cl_lock_user_del  (const struct lu_env *env, struct cl_lock *lock);
-int   cl_lock_compatible(const struct cl_lock *lock1,
-                         const struct cl_lock *lock2);
 
 enum cl_lock_state cl_lock_intransit(const struct lu_env *env,
                                      struct cl_lock *lock);