[XFS] clean up xfs_start_flags
authorEric Sandeen <sandeen@sandeen.net>
Thu, 16 Aug 2007 06:25:33 +0000 (16:25 +1000)
committerTim Shimmin <tes@chook.melbourne.sgi.com>
Mon, 15 Oct 2007 06:42:18 +0000 (16:42 +1000)
xfs_start_flags can make use of is_power_of_2 to tidy up the test a little
bit.

SGI-PV: 968563
SGI-Modid: xfs-linux-melb:xfs-kern:29327a

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Tim Shimmin <tes@sgi.com>
fs/xfs/xfs_log_priv.h
fs/xfs/xfs_vfsops.c

index e973972d4633ccc4d034db2bc3281c4646abc39d..db0d53ffe458d2d5dca8b99f0ce7ab3c9cddf617 100644 (file)
@@ -35,11 +35,11 @@ struct xfs_mount;
 #define XLOG_VERSION_1         1
 #define XLOG_VERSION_2         2               /* Large IClogs, Log sunit */
 #define XLOG_VERSION_OKBITS    (XLOG_VERSION_1 | XLOG_VERSION_2)
-#define XLOG_RECORD_BSIZE      (16*1024)       /* eventually 32k */
+#define XLOG_MIN_RECORD_BSIZE  (16*1024)       /* eventually 32k */
 #define XLOG_BIG_RECORD_BSIZE  (32*1024)       /* 32k buffers */
 #define XLOG_MAX_RECORD_BSIZE  (256*1024)
 #define XLOG_HEADER_CYCLE_SIZE (32*1024)       /* cycle data in header */
-#define XLOG_RECORD_BSHIFT     14              /* 16384 == 1 << 14 */
+#define XLOG_MIN_RECORD_BSHIFT 14              /* 16384 == 1 << 14 */
 #define XLOG_BIG_RECORD_BSHIFT 15              /* 32k == 1 << 15 */
 #define XLOG_MAX_RECORD_BSHIFT 18              /* 256k == 1 << 18 */
 #define XLOG_BTOLSUNIT(log, b)  (((b)+(log)->l_mp->m_sb.sb_logsunit-1) / \
index 11f5ea29a0388e62abc4a69507171db69214183c..47c890778bb6d1ddb52e243068b7ff248b72390c 100644 (file)
@@ -238,11 +238,9 @@ xfs_start_flags(
        mp->m_logbufs = ap->logbufs;
        if (ap->logbufsize != -1 &&
            ap->logbufsize !=  0 &&
-           ap->logbufsize != 16 * 1024 &&
-           ap->logbufsize != 32 * 1024 &&
-           ap->logbufsize != 64 * 1024 &&
-           ap->logbufsize != 128 * 1024 &&
-           ap->logbufsize != 256 * 1024) {
+           (ap->logbufsize < XLOG_MIN_RECORD_BSIZE ||
+            ap->logbufsize > XLOG_MAX_RECORD_BSIZE ||
+            !is_power_of_2(ap->logbufsize))) {
                cmn_err(CE_WARN,
        "XFS: invalid logbufsize: %d [not 16k,32k,64k,128k or 256k]",
                        ap->logbufsize);