view save-xfs_buf_set_vtype_ref-value @ 0:c4fbdb46d162

initial import
author Josef "Jeff" Sipek <sipekj@us.ibm.com>
date Wed, 25 Jul 2007 09:44:40 -0400
parents
children
line wrap: on
line source

XFS: Save buffer type and references count

Save values passed to XFS_BUF_SET_{VTYPE,REF,VTYPE_REF} inside the xfs_buf_t
struct.

Signed-off-by: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu>

diff --git a/fs/xfs/linux-2.6/xfs_buf.h b/fs/xfs/linux-2.6/xfs_buf.h
index b5908a3..c9469f0 100644
--- a/fs/xfs/linux-2.6/xfs_buf.h
+++ b/fs/xfs/linux-2.6/xfs_buf.h
@@ -31,6 +31,19 @@
  *	Base types
  */
 
+typedef enum {
+	XFS_B_FS_NONE,
+	XFS_B_FS_INO,
+	XFS_B_FS_INOMAP,
+	XFS_B_FS_DIR_BTREE,
+	XFS_B_FS_MAP,
+	XFS_B_FS_ATTR_BTREE,
+	XFS_B_FS_AGI,
+	XFS_B_FS_AGF,
+	XFS_B_FS_AGFL,
+	XFS_B_FS_DQUOT
+} xfs_bvtype_t;
+
 #define XFS_BUF_DADDR_NULL	((xfs_daddr_t) (-1LL))
 
 #define xfs_buf_ctob(pp)	((pp) * PAGE_CACHE_SIZE)
@@ -123,6 +136,8 @@ typedef struct xfs_buf {
 	atomic_t		b_pin_count;	/* pin count */
 	wait_queue_head_t	b_waiters;	/* unpin waiters */
 	struct list_head	b_list;
+	xfs_bvtype_t		b_type;		/* buffer type */
+	char			b_ref;		/* buffer reference */
 	xfs_buf_flags_t		b_flags;	/* status flags */
 	struct list_head	b_hash_list;	/* hash table list */
 	xfs_bufhash_t		*b_hash;	/* hash table list start */
@@ -324,9 +339,21 @@ extern void xfs_buf_trace(xfs_buf_t *, char *, void *, void *);
 #define XFS_BUF_SIZE(bp)		((bp)->b_buffer_length)
 #define XFS_BUF_SET_SIZE(bp, cnt)	((bp)->b_buffer_length = (cnt))
 
-#define XFS_BUF_SET_VTYPE_REF(bp, type, ref)	do { } while (0)
-#define XFS_BUF_SET_VTYPE(bp, type)		do { } while (0)
-#define XFS_BUF_SET_REF(bp, ref)		do { } while (0)
+static inline void XFS_BUF_SET_VTYPE_REF(xfs_buf_t *bp, xfs_bvtype_t type, char ref)
+{
+	bp->b_type = type;
+	bp->b_ref  = ref;
+}
+
+static inline void XFS_BUF_SET_VTYPE(xfs_buf_t *bp, xfs_bvtype_t type)
+{
+	bp->b_type = type;
+}
+
+static inline void XFS_BUF_SET_REF(xfs_buf_t *bp, char ref)
+{
+	bp->b_ref = ref;
+}
 
 #define XFS_BUF_ISPINNED(bp)	xfs_buf_ispin(bp)