xfs
[Top] [All Lists]

[PATCH 3/4] Add a mount feature bit for CRC enabled filesystems

To: xfs@xxxxxxxxxxx
Subject: [PATCH 3/4] Add a mount feature bit for CRC enabled filesystems
From: Christoph Hellwig <hch@xxxxxx>
Date: Mon, 15 Sep 2008 03:03:22 +0200
User-agent: Mutt/1.3.28i
Signed-off-by: Dave Chinner <dgc@xxxxxxx>

Index: linux-2.6-xfs/fs/xfs/Kconfig
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/Kconfig   2008-09-11 18:26:56.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/Kconfig        2008-09-11 18:33:07.000000000 +0200
@@ -1,6 +1,6 @@
 config XFS_FS
        tristate "XFS filesystem support"
-       depends on BLOCK
+       depends on BLOCK && LIBCRC32C
        help
          XFS is a high performance journaling filesystem which originated
          on the SGI IRIX platform.  It is completely multi-threaded, can
Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_linux.h
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_linux.h     2008-09-11 
18:26:56.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_linux.h  2008-09-11 18:33:07.000000000 
+0200
@@ -77,6 +77,7 @@
 #include <linux/spinlock.h>
 #include <linux/random.h>
 #include <linux/ctype.h>
+#include <linux/crc32c.h>
 
 #include <asm/page.h>
 #include <asm/div64.h>
Index: linux-2.6-xfs/fs/xfs/xfs_sb.h
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/xfs_sb.h  2008-09-11 18:33:06.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/xfs_sb.h       2008-09-14 17:33:27.000000000 +0200
@@ -79,10 +79,12 @@ struct xfs_mount;
 #define XFS_SB_VERSION2_LAZYSBCOUNTBIT 0x00000002      /* Superblk counters */
 #define XFS_SB_VERSION2_RESERVED4BIT   0x00000004
 #define XFS_SB_VERSION2_ATTR2BIT       0x00000008      /* Inline attr rework */
+#define XFS_SB_VERSION2_CRCBIT         0x00000020      /* metadata has CRCs */
 
 #define        XFS_SB_VERSION2_OKREALFBITS     \
        (XFS_SB_VERSION2_LAZYSBCOUNTBIT | \
-        XFS_SB_VERSION2_ATTR2BIT)
+        XFS_SB_VERSION2_ATTR2BIT | \
+        XFS_SB_VERSION2_CRCBIT)
 #define        XFS_SB_VERSION2_OKSASHFBITS     \
        (0)
 #define XFS_SB_VERSION2_OKREALBITS     \
@@ -494,6 +496,12 @@ static inline void xfs_sb_version_remove
                sbp->sb_versionnum &= ~XFS_SB_VERSION_MOREBITSBIT;
 }
 
+static inline int xfs_sb_version_hascrc(xfs_sb_t *sbp)
+{
+       return (xfs_sb_version_hasmorebits(sbp) &&
+               (sbp->sb_features2 & XFS_SB_VERSION2_CRCBIT));
+}
+
 /*
  * end of superblock version macros
  */

-- 

<Prev in Thread] Current Thread [Next in Thread>
  • [PATCH 3/4] Add a mount feature bit for CRC enabled filesystems, Christoph Hellwig <=