Commit ba28b93a authored by Akshat Aranya's avatar Akshat Aranya Committed by Linus Torvalds

FS-Cache: Fix operation handling

fscache_submit_exclusive_op() adds an operation to the pending list if
other operations are pending.  Fix the check for pending ops as n_ops
must be greater than 0 at the point it is checked as it is incremented
immediately before under lock.
Signed-off-by: default avatarAkshat Aranya <aranya@nec-labs.com>
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent acda4721
...@@ -101,7 +101,7 @@ int fscache_submit_exclusive_op(struct fscache_object *object, ...@@ -101,7 +101,7 @@ int fscache_submit_exclusive_op(struct fscache_object *object,
object->n_ops++; object->n_ops++;
object->n_exclusive++; /* reads and writes must wait */ object->n_exclusive++; /* reads and writes must wait */
if (object->n_ops > 0) { if (object->n_ops > 1) {
atomic_inc(&op->usage); atomic_inc(&op->usage);
list_add_tail(&op->pend_link, &object->pending_ops); list_add_tail(&op->pend_link, &object->pending_ops);
fscache_stat(&fscache_n_op_pend); fscache_stat(&fscache_n_op_pend);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment