diff options
Diffstat (limited to 'drivers/staging/lustre/lustre/ldlm/ldlm_lockd.c')
-rw-r--r-- | drivers/staging/lustre/lustre/ldlm/ldlm_lockd.c | 132 |
1 files changed, 3 insertions, 129 deletions
diff --git a/drivers/staging/lustre/lustre/ldlm/ldlm_lockd.c b/drivers/staging/lustre/lustre/ldlm/ldlm_lockd.c index ac79db952da7..ca115119501a 100644 --- a/drivers/staging/lustre/lustre/ldlm/ldlm_lockd.c +++ b/drivers/staging/lustre/lustre/ldlm/ldlm_lockd.c @@ -58,9 +58,9 @@ MODULE_PARM_DESC(ldlm_cpts, "CPU partitions ldlm threads should run on"); static struct mutex ldlm_ref_mutex; static int ldlm_refcount; -struct kobject *ldlm_kobj; +static struct kobject *ldlm_kobj; struct kset *ldlm_ns_kset; -struct kset *ldlm_svc_kset; +static struct kset *ldlm_svc_kset; struct ldlm_cb_async_args { struct ldlm_cb_set_arg *ca_set_arg; @@ -71,11 +71,6 @@ struct ldlm_cb_async_args { static struct ldlm_state *ldlm_state; -inline unsigned long round_timeout(unsigned long timeout) -{ - return cfs_time_seconds((int)cfs_duration_sec(cfs_time_sub(timeout, 0)) + 1); -} - #define ELT_STOPPED 0 #define ELT_READY 1 #define ELT_TERMINATE 2 @@ -116,19 +111,6 @@ struct ldlm_bl_work_item { int blwi_mem_pressure; }; - -int ldlm_del_waiting_lock(struct ldlm_lock *lock) -{ - return 0; -} - -int ldlm_refresh_waiting_lock(struct ldlm_lock *lock, int timeout) -{ - return 0; -} - - - /** * Callback handler for receiving incoming blocking ASTs. * @@ -461,7 +443,6 @@ static int ldlm_bl_to_thread(struct ldlm_namespace *ns, } } - int ldlm_bl_to_thread_lock(struct ldlm_namespace *ns, struct ldlm_lock_desc *ld, struct ldlm_lock *lock) { @@ -713,7 +694,6 @@ static int ldlm_callback_handler(struct ptlrpc_request *req) return 0; } - static struct ldlm_bl_work_item *ldlm_bl_get_work(struct ldlm_bl_pool *blp) { struct ldlm_bl_work_item *blwi = NULL; @@ -855,7 +835,6 @@ static int ldlm_bl_thread_main(void *arg) return 0; } - static int ldlm_setup(void); static int ldlm_cleanup(void); @@ -892,111 +871,6 @@ void ldlm_put_ref(void) } EXPORT_SYMBOL(ldlm_put_ref); -/* - * Export handle<->lock hash operations. - */ -static unsigned -ldlm_export_lock_hash(struct cfs_hash *hs, const void *key, unsigned mask) -{ - return cfs_hash_u64_hash(((struct lustre_handle *)key)->cookie, mask); -} - -static void * -ldlm_export_lock_key(struct hlist_node *hnode) -{ - struct ldlm_lock *lock; - - lock = hlist_entry(hnode, struct ldlm_lock, l_exp_hash); - return &lock->l_remote_handle; -} - -static void -ldlm_export_lock_keycpy(struct hlist_node *hnode, void *key) -{ - struct ldlm_lock *lock; - - lock = hlist_entry(hnode, struct ldlm_lock, l_exp_hash); - lock->l_remote_handle = *(struct lustre_handle *)key; -} - -static int -ldlm_export_lock_keycmp(const void *key, struct hlist_node *hnode) -{ - return lustre_handle_equal(ldlm_export_lock_key(hnode), key); -} - -static void * -ldlm_export_lock_object(struct hlist_node *hnode) -{ - return hlist_entry(hnode, struct ldlm_lock, l_exp_hash); -} - -static void -ldlm_export_lock_get(struct cfs_hash *hs, struct hlist_node *hnode) -{ - struct ldlm_lock *lock; - - lock = hlist_entry(hnode, struct ldlm_lock, l_exp_hash); - LDLM_LOCK_GET(lock); -} - -static void -ldlm_export_lock_put(struct cfs_hash *hs, struct hlist_node *hnode) -{ - struct ldlm_lock *lock; - - lock = hlist_entry(hnode, struct ldlm_lock, l_exp_hash); - LDLM_LOCK_RELEASE(lock); -} - -static cfs_hash_ops_t ldlm_export_lock_ops = { - .hs_hash = ldlm_export_lock_hash, - .hs_key = ldlm_export_lock_key, - .hs_keycmp = ldlm_export_lock_keycmp, - .hs_keycpy = ldlm_export_lock_keycpy, - .hs_object = ldlm_export_lock_object, - .hs_get = ldlm_export_lock_get, - .hs_put = ldlm_export_lock_put, - .hs_put_locked = ldlm_export_lock_put, -}; - -int ldlm_init_export(struct obd_export *exp) -{ - int rc; - - exp->exp_lock_hash = - cfs_hash_create(obd_uuid2str(&exp->exp_client_uuid), - HASH_EXP_LOCK_CUR_BITS, - HASH_EXP_LOCK_MAX_BITS, - HASH_EXP_LOCK_BKT_BITS, 0, - CFS_HASH_MIN_THETA, CFS_HASH_MAX_THETA, - &ldlm_export_lock_ops, - CFS_HASH_DEFAULT | CFS_HASH_REHASH_KEY | - CFS_HASH_NBLK_CHANGE); - - if (!exp->exp_lock_hash) - return -ENOMEM; - - rc = ldlm_init_flock_export(exp); - if (rc) - goto err; - - return 0; -err: - ldlm_destroy_export(exp); - return rc; -} -EXPORT_SYMBOL(ldlm_init_export); - -void ldlm_destroy_export(struct obd_export *exp) -{ - cfs_hash_putref(exp->exp_lock_hash); - exp->exp_lock_hash = NULL; - - ldlm_destroy_flock_export(exp); -} -EXPORT_SYMBOL(ldlm_destroy_export); - extern unsigned int ldlm_cancel_unused_locks_before_replay; static ssize_t cancel_unused_locks_before_replay_show(struct kobject *kobj, @@ -1005,6 +879,7 @@ static ssize_t cancel_unused_locks_before_replay_show(struct kobject *kobj, { return sprintf(buf, "%d\n", ldlm_cancel_unused_locks_before_replay); } + static ssize_t cancel_unused_locks_before_replay_store(struct kobject *kobj, struct attribute *attr, const char *buffer, @@ -1112,7 +987,6 @@ static int ldlm_setup(void) goto out; } - blp = kzalloc(sizeof(*blp), GFP_NOFS); if (!blp) { rc = -ENOMEM; |