fscache: Pass the correct cancelled indications to fscache_op_complete()

The last parameter to fscache_op_complete() is a bool indicating whether or
not the operation was cancelled.  A lot of the time the inverse value is
given or no differentiation is made.  Fix this.

Signed-off-by: David Howells <dhowells@redhat.com>
This commit is contained in:
David Howells 2018-04-04 13:41:26 +01:00
parent bfa3837ec3
commit b27ddd4624
2 changed files with 10 additions and 7 deletions

View File

@ -185,9 +185,11 @@ static void fscache_attr_changed_op(struct fscache_operation *op)
fscache_stat_d(&fscache_n_cop_attr_changed);
if (ret < 0)
fscache_abort_object(object);
fscache_op_complete(op, ret < 0);
} else {
fscache_op_complete(op, true);
}
fscache_op_complete(op, true);
_leave("");
}
@ -780,11 +782,12 @@ static void fscache_write_op(struct fscache_operation *_op)
cookie = object->cookie;
if (!fscache_object_is_active(object)) {
/* If we get here, then the on-disk cache object likely longer
* exists, so we should just cancel this write operation.
/* If we get here, then the on-disk cache object likely no
* longer exists, so we should just cancel this write
* operation.
*/
spin_unlock(&object->lock);
fscache_op_complete(&op->op, false);
fscache_op_complete(&op->op, true);
_leave(" [inactive]");
return;
}
@ -797,7 +800,7 @@ static void fscache_write_op(struct fscache_operation *_op)
* cancel this write operation.
*/
spin_unlock(&object->lock);
fscache_op_complete(&op->op, false);
fscache_op_complete(&op->op, true);
_leave(" [cancel] op{f=%lx s=%u} obj{s=%s f=%lx}",
_op->flags, _op->state, object->state->short_name,
object->flags);
@ -851,7 +854,7 @@ static void fscache_write_op(struct fscache_operation *_op)
spin_unlock(&cookie->stores_lock);
clear_bit(FSCACHE_OBJECT_PENDING_WRITE, &object->flags);
spin_unlock(&object->lock);
fscache_op_complete(&op->op, true);
fscache_op_complete(&op->op, false);
_leave("");
}

View File

@ -185,7 +185,7 @@ static inline void fscache_retrieval_complete(struct fscache_retrieval *op,
{
atomic_sub(n_pages, &op->n_pages);
if (atomic_read(&op->n_pages) <= 0)
fscache_op_complete(&op->op, true);
fscache_op_complete(&op->op, false);
}
/**