ocfs2: Change metadata caching locks to an operations structure.
We don't really want to cart around too many new fields on the
ocfs2_caching_info structure. So let's wrap all our access of the
parent object in a set of operations. One pointer on caching_info, and
more flexibility to boot.
Signed-off-by: Joel Becker <joel.becker@oracle.com>
diff --git a/fs/ocfs2/ocfs2.h b/fs/ocfs2/ocfs2.h
index eef3bd0..6e54a49 100644
--- a/fs/ocfs2/ocfs2.h
+++ b/fs/ocfs2/ocfs2.h
@@ -68,14 +68,14 @@
OCFS2_CACHE_FL_INLINE = 1<<1,
};
+struct ocfs2_caching_operations;
struct ocfs2_caching_info {
/*
* The parent structure provides the locks, but because the
- * parent structure can differ, struct ocfs2_caching_info needs
- * its own pointers to them.
+ * parent structure can differ, it provides locking operations
+ * to struct ocfs2_caching_info.
*/
- spinlock_t *ci_lock;
- struct mutex *ci_io_mutex;
+ const struct ocfs2_caching_operations *ci_ops;
unsigned int ci_flags;
unsigned int ci_num_cached;