staging/lustre/ldlm: Remove unused ldlm_cancel_locks_for_exports()
This is only used on the server in case a client gets disconnected. Signed-off-by: Oleg Drokin <green@linuxhacker.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
3dd5a6ba55
commit
8a7c086d8c
@@ -164,8 +164,6 @@ void ldlm_lock_add_to_lru(struct ldlm_lock *lock);
|
||||
void ldlm_lock_touch_in_lru(struct ldlm_lock *lock);
|
||||
void ldlm_lock_destroy_nolock(struct ldlm_lock *lock);
|
||||
|
||||
void ldlm_cancel_locks_for_export(struct obd_export *export);
|
||||
|
||||
/* ldlm_lockd.c */
|
||||
int ldlm_bl_to_thread_lock(struct ldlm_namespace *ns, struct ldlm_lock_desc *ld,
|
||||
struct ldlm_lock *lock);
|
||||
|
||||
@@ -2011,56 +2011,6 @@ struct export_cl_data {
|
||||
int ecl_loop;
|
||||
};
|
||||
|
||||
/**
|
||||
* Iterator function for ldlm_cancel_locks_for_export.
|
||||
* Cancels passed locks.
|
||||
*/
|
||||
int ldlm_cancel_locks_for_export_cb(struct cfs_hash *hs, struct cfs_hash_bd *bd,
|
||||
struct hlist_node *hnode, void *data)
|
||||
|
||||
{
|
||||
struct export_cl_data *ecl = (struct export_cl_data *)data;
|
||||
struct obd_export *exp = ecl->ecl_exp;
|
||||
struct ldlm_lock *lock = cfs_hash_object(hs, hnode);
|
||||
struct ldlm_resource *res;
|
||||
|
||||
res = ldlm_resource_getref(lock->l_resource);
|
||||
LDLM_LOCK_GET(lock);
|
||||
|
||||
LDLM_DEBUG(lock, "export %p", exp);
|
||||
ldlm_res_lvbo_update(res, NULL, 1);
|
||||
ldlm_lock_cancel(lock);
|
||||
ldlm_reprocess_all(res);
|
||||
ldlm_resource_putref(res);
|
||||
LDLM_LOCK_RELEASE(lock);
|
||||
|
||||
ecl->ecl_loop++;
|
||||
if ((ecl->ecl_loop & -ecl->ecl_loop) == ecl->ecl_loop) {
|
||||
CDEBUG(D_INFO,
|
||||
"Cancel lock %p for export %p (loop %d), still have %d locks left on hash table.\n",
|
||||
lock, exp, ecl->ecl_loop,
|
||||
atomic_read(&hs->hs_count));
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cancel all locks for given export.
|
||||
*
|
||||
* Typically called on client disconnection/eviction
|
||||
*/
|
||||
void ldlm_cancel_locks_for_export(struct obd_export *exp)
|
||||
{
|
||||
struct export_cl_data ecl = {
|
||||
.ecl_exp = exp,
|
||||
.ecl_loop = 0,
|
||||
};
|
||||
|
||||
cfs_hash_for_each_empty(exp->exp_lock_hash,
|
||||
ldlm_cancel_locks_for_export_cb, &ecl);
|
||||
}
|
||||
|
||||
/**
|
||||
* Downgrade an exclusive lock.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user