* Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
*
- * Copyright (c) 2012, 2015, Intel Corporation.
+ * Copyright (c) 2012, 2017, Intel Corporation.
*/
/*
* This file is part of Lustre, http://www.lustre.org/
- * Lustre is a trademark of Sun Microsystems, Inc.
*
* lustre/ofd/ofd_dlm.c
*
/* Find the 'victim' lock from this interval */
list_for_each_entry(lck, &node->li_group, l_sl_policy) {
-
victim_lock = LDLM_LOCK_GET(lck);
/* the same policy group - every lock has the
GOTO(out_release, rc);
}
- if (!OBD_FAIL_CHECK(OBD_FAIL_OST_GL_WORK_ALLOC))
+ if (!CFS_FAIL_CHECK(OBD_FAIL_OST_GL_WORK_ALLOC))
OBD_SLAB_ALLOC_PTR_GFP(gl_work, ldlm_glimpse_work_kmem,
GFP_ATOMIC);
* \retval ELDLM_LOCK_ABORTED in other cases except error
* \retval negative errno on error
*/
-int ofd_intent_policy(struct ldlm_namespace *ns, struct ldlm_lock **lockp,
- void *req_cookie, enum ldlm_mode mode, __u64 flags,
- void *data)
+int ofd_intent_policy(const struct lu_env *env, struct ldlm_namespace *ns,
+ struct ldlm_lock **lockp, void *req_cookie,
+ enum ldlm_mode mode, __u64 flags, void *data)
{
struct ptlrpc_request *req = req_cookie;
struct ldlm_lock *lock = *lockp;
struct ldlm_glimpse_work *pos, *tmp;
ENTRY;
+ /* update stats for intent in intent policy */
+ if (ptlrpc_req2svc(req)->srv_stats != NULL)
+ lprocfs_counter_incr(ptlrpc_req2svc(req)->srv_stats,
+ PTLRPC_LAST_CNTR + LDLM_GLIMPSE_ENQUEUE);
+
INIT_LIST_HEAD(&arg.gl_list);
arg.no_glimpse_ast = false;
arg.error = 0;
*/
if (flags & LDLM_FL_BLOCK_NOWAIT) {
- OBD_FAIL_TIMEOUT(OBD_FAIL_LDLM_AGL_DELAY, 5);
+ CFS_FAIL_TIMEOUT(OBD_FAIL_LDLM_AGL_DELAY, 5);
- if (OBD_FAIL_CHECK(OBD_FAIL_LDLM_AGL_NOLOCK))
+ if (CFS_FAIL_CHECK(OBD_FAIL_LDLM_AGL_NOLOCK))
RETURN(ELDLM_LOCK_ABORTED);
}
/* The lock met with no resistance; we're finished. */
if (rc == LDLM_ITER_CONTINUE) {
- if (OBD_FAIL_TIMEOUT(OBD_FAIL_LDLM_GLIMPSE, 2)) {
+ if (CFS_FAIL_TIMEOUT(OBD_FAIL_LDLM_GLIMPSE, 2)) {
ldlm_resource_unlink_lock(lock);
err = ELDLM_LOCK_ABORTED;
} else {