forked from luck/tmp_suning_uos_patched
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:
parent
bfa3837ec3
commit
b27ddd4624
|
@ -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("");
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue
Block a user