From: Oleg Drokin Date: Thu, 1 Oct 2015 04:12:35 +0000 (-0400) Subject: staging/lustre/ldlm: Remove unused ldlm_blocking_ast/_nocheck() X-Git-Tag: KARO-TX6UL-2015-11-03~34^2~1337 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=f954e778dce59036dae0ebf9cf304621a71aa85b;p=karo-tx-linux.git staging/lustre/ldlm: Remove unused ldlm_blocking_ast/_nocheck() All users are gone, and they were used on the server anyway. Signed-off-by: Oleg Drokin Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/lustre/lustre/include/lustre_dlm.h b/drivers/staging/lustre/lustre/include/lustre_dlm.h index 96083734c3fb..360c7f7e58e3 100644 --- a/drivers/staging/lustre/lustre/include/lustre_dlm.h +++ b/drivers/staging/lustre/lustre/include/lustre_dlm.h @@ -1264,9 +1264,6 @@ int ldlm_expired_completion_wait(void *data); * also used by client-side lock handlers to perform minimum level base * processing. * @{ */ -int ldlm_blocking_ast_nocheck(struct ldlm_lock *lock); -int ldlm_blocking_ast(struct ldlm_lock *lock, struct ldlm_lock_desc *desc, - void *data, int flag); int ldlm_completion_ast_async(struct ldlm_lock *lock, __u64 flags, void *data); int ldlm_completion_ast(struct ldlm_lock *lock, __u64 flags, void *data); /** @} ldlm_local_ast */ diff --git a/drivers/staging/lustre/lustre/ldlm/ldlm_request.c b/drivers/staging/lustre/lustre/ldlm/ldlm_request.c index 15e1980831b0..2d28fc230874 100644 --- a/drivers/staging/lustre/lustre/ldlm/ldlm_request.c +++ b/drivers/staging/lustre/lustre/ldlm/ldlm_request.c @@ -287,76 +287,6 @@ noreproc: } EXPORT_SYMBOL(ldlm_completion_ast); -/** - * A helper to build a blocking AST function - * - * Perform a common operation for blocking ASTs: - * deferred lock cancellation. - * - * \param lock the lock blocking or canceling AST was called on - * \retval 0 - * \see mdt_blocking_ast - * \see ldlm_blocking_ast - */ -int ldlm_blocking_ast_nocheck(struct ldlm_lock *lock) -{ - int do_ast; - - lock->l_flags |= LDLM_FL_CBPENDING; - do_ast = !lock->l_readers && !lock->l_writers; - unlock_res_and_lock(lock); - - if (do_ast) { - struct lustre_handle lockh; - int rc; - - LDLM_DEBUG(lock, "already unused, calling ldlm_cli_cancel"); - ldlm_lock2handle(lock, &lockh); - rc = ldlm_cli_cancel(&lockh, LCF_ASYNC); - if (rc < 0) - CERROR("ldlm_cli_cancel: %d\n", rc); - } else { - LDLM_DEBUG(lock, "Lock still has references, will be cancelled later"); - } - return 0; -} -EXPORT_SYMBOL(ldlm_blocking_ast_nocheck); - -/** - * Server blocking AST - * - * ->l_blocking_ast() callback for LDLM locks acquired by server-side - * OBDs. - * - * \param lock the lock which blocks a request or cancelling lock - * \param desc unused - * \param data unused - * \param flag indicates whether this cancelling or blocking callback - * \retval 0 - * \see ldlm_blocking_ast_nocheck - */ -int ldlm_blocking_ast(struct ldlm_lock *lock, struct ldlm_lock_desc *desc, - void *data, int flag) -{ - if (flag == LDLM_CB_CANCELING) { - /* Don't need to do anything here. */ - return 0; - } - - lock_res_and_lock(lock); - /* Get this: if ldlm_blocking_ast is racing with intent_policy, such - * that ldlm_blocking_ast is called just before intent_policy method - * takes the lr_lock, then by the time we get the lock, we might not - * be the correct blocking function anymore. So check, and return - * early, if so. */ - if (lock->l_blocking_ast != ldlm_blocking_ast) { - unlock_res_and_lock(lock); - return 0; - } - return ldlm_blocking_ast_nocheck(lock); -} -EXPORT_SYMBOL(ldlm_blocking_ast); - static void failed_lock_cleanup(struct ldlm_namespace *ns, struct ldlm_lock *lock, int mode) {