Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b27ddd46 authored by David Howells's avatar David Howells
Browse files

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: default avatarDavid Howells <dhowells@redhat.com>
parent bfa3837e
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -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("");
}

+1 −1
Original line number Diff line number Diff line
@@ -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);
}

/**