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 <green@linuxhacker.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b8d84a762f
commit
f954e778dc
|
@ -1264,9 +1264,6 @@ int ldlm_expired_completion_wait(void *data);
|
||||||
* also used by client-side lock handlers to perform minimum level base
|
* also used by client-side lock handlers to perform minimum level base
|
||||||
* processing.
|
* 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_async(struct ldlm_lock *lock, __u64 flags, void *data);
|
||||||
int ldlm_completion_ast(struct ldlm_lock *lock, __u64 flags, void *data);
|
int ldlm_completion_ast(struct ldlm_lock *lock, __u64 flags, void *data);
|
||||||
/** @} ldlm_local_ast */
|
/** @} ldlm_local_ast */
|
||||||
|
|
|
@ -287,76 +287,6 @@ noreproc:
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(ldlm_completion_ast);
|
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,
|
static void failed_lock_cleanup(struct ldlm_namespace *ns,
|
||||||
struct ldlm_lock *lock, int mode)
|
struct ldlm_lock *lock, int mode)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue