FS-Cache: Mark cancellation of in-progress operation

Mark as cancelled an operation that is in progress rather than pending at the
time it is cancelled, and call fscache_complete_op() to cancel an operation so
that blocked ops can be started.

Signed-off-by: David Howells <dhowells@redhat.com>
This commit is contained in:
David Howells
2012-12-13 20:03:13 +00:00
parent 7ef001e937
commit 1f372dff1d
4 changed files with 12 additions and 11 deletions

View File

@@ -116,7 +116,7 @@ extern atomic_t fscache_op_debug_id;
extern void fscache_op_work_func(struct work_struct *work);
extern void fscache_enqueue_operation(struct fscache_operation *);
extern void fscache_op_complete(struct fscache_operation *);
extern void fscache_op_complete(struct fscache_operation *, bool);
extern void fscache_put_operation(struct fscache_operation *);
/**
@@ -196,7 +196,7 @@ static inline void fscache_retrieval_complete(struct fscache_retrieval *op,
{
op->n_pages -= n_pages;
if (op->n_pages <= 0)
fscache_op_complete(&op->op);
fscache_op_complete(&op->op, true);
}
/**