diff options
author | David Howells <dhowells@redhat.com> | 2018-04-04 13:41:26 +0100 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2018-04-04 13:41:26 +0100 |
commit | b27ddd46245311850f850024df54d0537506f3c1 (patch) | |
tree | a3e7bfea00d0cfd2e6969d124b15d4bd2bffa9be /fs/fscache | |
parent | bfa3837ec3ccda3138ce9b798107aadcc6d2e78c (diff) | |
download | op-kernel-dev-b27ddd46245311850f850024df54d0537506f3c1.zip op-kernel-dev-b27ddd46245311850f850024df54d0537506f3c1.tar.gz |
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>
Diffstat (limited to 'fs/fscache')
-rw-r--r-- | fs/fscache/page.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/fs/fscache/page.c b/fs/fscache/page.c index 961029e..adc39c0 100644 --- a/fs/fscache/page.c +++ b/fs/fscache/page.c @@ -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 @@ superseded: 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(""); } |