Whamcloud - gitweb
LU-6529 ldlm: cancel aged locks for LRUR
[fs/lustre-release.git] / lustre / ldlm / ldlm_request.c
index 54ecbdd..684062f 100644 (file)
@@ -1480,6 +1480,12 @@ static ldlm_policy_res_t ldlm_cancel_lrur_policy(struct ldlm_namespace *ns,
        if (count && added >= count)
                return LDLM_POLICY_KEEP_LOCK;
 
+       /* Despite of the LV, It doesn't make sense to keep the lock which
+        * is unused for ns_max_age time. */
+       if (cfs_time_after(cfs_time_current(),
+                          cfs_time_add(lock->l_last_used, ns->ns_max_age)))
+               return LDLM_POLICY_CANCEL_LOCK;
+
        slv = ldlm_pool_get_slv(pl);
        lvf = ldlm_pool_get_lvf(pl);
        la = cfs_duration_sec(cfs_time_sub(cur,