Whamcloud - gitweb
LU-10212 test: ESTALE read
[fs/lustre-release.git] / lustre / ldlm / ldlm_extent.c
index 5001b66..623563c 100644 (file)
@@ -23,7 +23,7 @@
  * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  *
- * Copyright (c) 2010, 2013, Intel Corporation.
+ * Copyright (c) 2010, 2017, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
@@ -311,7 +311,7 @@ static void ldlm_extent_policy(struct ldlm_resource *res,
 static int ldlm_check_contention(struct ldlm_lock *lock, int contended_locks)
 {
        struct ldlm_resource *res = lock->l_resource;
-       cfs_time_t now = cfs_time_current();
+       time64_t now = ktime_get_seconds();
 
        if (OBD_FAIL_CHECK(OBD_FAIL_LDLM_SET_CONTENTION))
                return 1;
@@ -319,8 +319,9 @@ static int ldlm_check_contention(struct ldlm_lock *lock, int contended_locks)
        CDEBUG(D_DLMTRACE, "contended locks = %d\n", contended_locks);
        if (contended_locks > ldlm_res_to_ns(res)->ns_contended_locks)
                res->lr_contention_time = now;
-       return cfs_time_before(now, cfs_time_add(res->lr_contention_time,
-               cfs_time_seconds(ldlm_res_to_ns(res)->ns_contention_time)));
+
+       return now < res->lr_contention_time +
+                    ldlm_res_to_ns(res)->ns_contention_time;
 }
 
 struct ldlm_extent_compat_args {
@@ -675,7 +676,9 @@ destroylock:
 void ldlm_lock_prolong_one(struct ldlm_lock *lock,
                           struct ldlm_prolong_args *arg)
 {
-       int timeout;
+       time64_t timeout;
+
+       OBD_FAIL_TIMEOUT(OBD_FAIL_LDLM_PROLONG_PAUSE, 3);
 
        if (arg->lpa_export != lock->l_export ||
            lock->l_flags & LDLM_FL_DESTROYED)
@@ -693,7 +696,7 @@ void ldlm_lock_prolong_one(struct ldlm_lock *lock,
         */
        timeout = arg->lpa_timeout + (ldlm_bl_timeout(lock) >> 1);
 
-       LDLM_DEBUG(lock, "refreshed to %ds.\n", timeout);
+       LDLM_DEBUG(lock, "refreshed to %llds.\n", timeout);
 
        arg->lpa_blocks_cnt++;
 
@@ -789,7 +792,6 @@ int ldlm_process_extent_lock(struct ldlm_lock *lock, __u64 *flags,
        ENTRY;
 
        LASSERT(lock->l_granted_mode != lock->l_req_mode);
-       LASSERT(list_empty(&res->lr_converting));
        LASSERT(!(*flags & LDLM_FL_DENY_ON_CONTENTION) ||
                !ldlm_is_ast_discard_data(lock));
        INIT_LIST_HEAD(&rpc_list);