Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LU-3285 lvbo: pass lock as parameter to lvbo_update()
[fs/lustre-release.git]
/
lustre
/
ldlm
/
ldlm_lockd.c
diff --git
a/lustre/ldlm/ldlm_lockd.c
b/lustre/ldlm/ldlm_lockd.c
index
2e0a2fd
..
04e3c8e
100644
(file)
--- a/
lustre/ldlm/ldlm_lockd.c
+++ b/
lustre/ldlm/ldlm_lockd.c
@@
-40,7
+40,7
@@
#include <linux/kthread.h>
#include <linux/list.h>
#include <libcfs/libcfs.h>
#include <linux/kthread.h>
#include <linux/list.h>
#include <libcfs/libcfs.h>
-#include <lustre
/lustre
_errno.h>
+#include <lustre_errno.h>
#include <lustre_dlm.h>
#include <obd_class.h>
#include "ldlm_internal.h"
#include <lustre_dlm.h>
#include <obd_class.h>
#include "ldlm_internal.h"
@@
-713,7
+713,7
@@
static int ldlm_handle_ast_error(struct ldlm_lock *lock,
/* update lvbo to return proper attributes.
* see bug 23174 */
ldlm_resource_getref(res);
/* update lvbo to return proper attributes.
* see bug 23174 */
ldlm_resource_getref(res);
- ldlm_
res_lvbo_update(res
, NULL, 1);
+ ldlm_
lvbo_update(res, lock
, NULL, 1);
ldlm_resource_putref(res);
}
ldlm_lock_cancel(lock);
ldlm_resource_putref(res);
}
ldlm_lock_cancel(lock);
@@
-748,11
+748,11
@@
static int ldlm_cb_interpret(const struct lu_env *env,
} else if (rc == -ELDLM_NO_LOCK_DATA) {
LDLM_DEBUG(lock, "lost race - client has a lock but no "
"inode");
} else if (rc == -ELDLM_NO_LOCK_DATA) {
LDLM_DEBUG(lock, "lost race - client has a lock but no "
"inode");
- ldlm_
res_lvbo_update(lock->l_resource
, NULL, 1);
+ ldlm_
lvbo_update(lock->l_resource, lock
, NULL, 1);
} else if (rc != 0) {
rc = ldlm_handle_ast_error(lock, req, rc, "glimpse");
} else {
} else if (rc != 0) {
rc = ldlm_handle_ast_error(lock, req, rc, "glimpse");
} else {
- rc = ldlm_
res_lvbo_update(lock->l_resource
, req, 1);
+ rc = ldlm_
lvbo_update(lock->l_resource, lock
, req, 1);
}
break;
case LDLM_BL_CALLBACK:
}
break;
case LDLM_BL_CALLBACK:
@@
-1690,7
+1690,9
@@
int ldlm_request_cancel(struct ptlrpc_request *req,
if (res != NULL) {
ldlm_resource_getref(res);
LDLM_RESOURCE_ADDREF(res);
if (res != NULL) {
ldlm_resource_getref(res);
LDLM_RESOURCE_ADDREF(res);
- ldlm_res_lvbo_update(res, NULL, 1);
+
+ if (!ldlm_is_discard_data(lock))
+ ldlm_lvbo_update(res, lock, NULL, 1);
}
pres = res;
}
}
pres = res;
}
@@
-1946,9
+1948,9
@@
static void ldlm_handle_gl_callback(struct ptlrpc_request *req,
lock_res_and_lock(lock);
if (lock->l_granted_mode == LCK_PW &&
!lock->l_readers && !lock->l_writers &&
lock_res_and_lock(lock);
if (lock->l_granted_mode == LCK_PW &&
!lock->l_readers && !lock->l_writers &&
-
cfs_time_after(cfs_time_curren
t(),
-
cfs_
time_add(lock->l_last_used,
-
cfs_time_seconds(1
0)))) {
+
ktime_after(ktime_ge
t(),
+
k
time_add(lock->l_last_used,
+
ktime_set(10,
0)))) {
unlock_res_and_lock(lock);
if (ldlm_bl_to_thread_lock(ns, NULL, lock))
ldlm_handle_bl_callback(ns, NULL, lock);
unlock_res_and_lock(lock);
if (ldlm_bl_to_thread_lock(ns, NULL, lock))
ldlm_handle_bl_callback(ns, NULL, lock);