task_struct: make journal_info conditional
authorHiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Tue, 15 Dec 2009 02:00:26 +0000 (18:00 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 15 Dec 2009 16:53:27 +0000 (08:53 -0800)
journal_info in task_struct is used in journaling file system only.  So
introduce CONFIG_FS_JOURNAL_INFO and make it conditional.

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Cc: Chris Mason <chris.mason@oracle.com>
Cc: "Theodore Ts'o" <tytso@mit.edu>
Cc: Steven Whitehouse <swhiteho@redhat.com>
Cc: KONISHI Ryusuke <konishi.ryusuke@lab.ntt.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/Kconfig
fs/btrfs/Kconfig
fs/ext4/Kconfig
fs/gfs2/Kconfig
fs/jbd/Kconfig
fs/jbd2/Kconfig
fs/nilfs2/Kconfig
fs/reiserfs/Kconfig
include/linux/init_task.h
include/linux/sched.h

index 64d44efad7a5d6752ad5c867ff7d10dd0b94b1e3..f8fccaaad6282b097f75fae49f2aa4d6c2e6c390 100644 (file)
@@ -6,6 +6,10 @@ menu "File systems"
 
 if BLOCK
 
+config FS_JOURNAL_INFO
+       bool
+       default n
+
 source "fs/ext2/Kconfig"
 source "fs/ext3/Kconfig"
 source "fs/ext4/Kconfig"
index 7bb3c020e570d9a1e0d2d640f6c9127df8e57a01..402afe0a0bfbbab01e307800716c8b2553dc6479 100644 (file)
@@ -4,6 +4,7 @@ config BTRFS_FS
        select LIBCRC32C
        select ZLIB_INFLATE
        select ZLIB_DEFLATE
+       select FS_JOURNAL_INFO
        help
          Btrfs is a new filesystem with extents, writable snapshotting,
          support for multiple devices and many more features.
index 9acf7e808139d3df688da7d66ffb33b5cf081d8e..e5f6774846e46337d9e2e39790c239815f20caf3 100644 (file)
@@ -2,6 +2,7 @@ config EXT4_FS
        tristate "The Extended 4 (ext4) filesystem"
        select JBD2
        select CRC16
+       select FS_JOURNAL_INFO
        help
          This is the next generation of the ext3 filesystem.
 
index 4dcddf83326f45f7dd874587ef915b7844d60b0b..b192c661caa69a3c04b8d499c85721297a3cd9f2 100644 (file)
@@ -10,6 +10,7 @@ config GFS2_FS
        select SLOW_WORK
        select QUOTA
        select QUOTACTL
+       select FS_JOURNAL_INFO
        help
          A cluster filesystem.
 
index 4e28beeed157236c7a73a9270972f46dddd3d69b..a8408983abd4abbf32c356f4234aa63f63116b15 100644 (file)
@@ -1,5 +1,6 @@
 config JBD
        tristate
+       select FS_JOURNAL_INFO
        help
          This is a generic journalling layer for block devices.  It is
          currently used by the ext3 file system, but it could also be
index f32f346f4b0a521a5b6bbaedc7b0a5a7750c4b1e..0f7d1ceafdfd39a0a5c8a8cd7ddb0b8785cd8d4c 100644 (file)
@@ -1,6 +1,7 @@
 config JBD2
        tristate
        select CRC32
+       select FS_JOURNAL_INFO
        help
          This is a generic journaling layer for block devices that support
          both 32-bit and 64-bit block numbers.  It is currently used by
index 251da07b2a1ddab95bbfb1579ceb20845ddf3e6e..1225af7b21669a02368cea76868f0faae7c05b86 100644 (file)
@@ -2,6 +2,7 @@ config NILFS2_FS
        tristate "NILFS2 file system support (EXPERIMENTAL)"
        depends on EXPERIMENTAL
        select CRC32
+       select FS_JOURNAL_INFO
        help
          NILFS2 is a log-structured file system (LFS) supporting continuous
          snapshotting.  In addition to versioning capability of the entire
index 513f431038f9a749960b6c9b328ece5799684330..ac7cd75c86f8d351e4240bac5d1b12b1c317a4bb 100644 (file)
@@ -1,6 +1,7 @@
 config REISERFS_FS
        tristate "Reiserfs support"
        select CRC32
+       select FS_JOURNAL_INFO
        help
          Stores not just filenames but the files themselves in a balanced
          tree.  Uses journalling.
index 8d10aa7fd4c983c6efec569096f82092c837ea3d..8ed0abf06f898bc61d7c5d7ab6415ed3f7092664 100644 (file)
@@ -111,6 +111,12 @@ extern struct cred init_cred;
 # define INIT_PERF_EVENTS(tsk)
 #endif
 
+#ifdef CONFIG_FS_JOURNAL_INFO
+#define INIT_JOURNAL_INFO      .journal_info = NULL,
+#else
+#define INIT_JOURNAL_INFO
+#endif
+
 /*
  *  INIT_TASK is used to set up the first task table, touch at
  * your own risk!. Base=0, limit=0x1fffff (=2MB)
@@ -162,7 +168,6 @@ extern struct cred init_cred;
                .signal = {{0}}},                                       \
        .blocked        = {{0}},                                        \
        .alloc_lock     = __SPIN_LOCK_UNLOCKED(tsk.alloc_lock),         \
-       .journal_info   = NULL,                                         \
        .cpu_timers     = INIT_CPU_TIMERS(tsk.cpu_timers),              \
        .fs_excl        = ATOMIC_INIT(0),                               \
        .pi_lock        = __SPIN_LOCK_UNLOCKED(tsk.pi_lock),            \
@@ -173,6 +178,7 @@ extern struct cred init_cred;
                [PIDTYPE_SID]  = INIT_PID_LINK(PIDTYPE_SID),            \
        },                                                              \
        .dirties = INIT_PROP_LOCAL_SINGLE(dirties),                     \
+       INIT_JOURNAL_INFO                                               \
        INIT_IDS                                                        \
        INIT_PERF_EVENTS(tsk)                                           \
        INIT_TRACE_IRQFLAGS                                             \
index 294eb2f8014411540d7be6cf233cd78b1391d5ef..7d388494f45d1399d3ab85adffe55e1104c973a4 100644 (file)
@@ -1446,8 +1446,10 @@ struct task_struct {
        gfp_t lockdep_reclaim_gfp;
 #endif
 
+#ifdef CONFIG_FS_JOURNAL_INFO
 /* journalling filesystem info */
        void *journal_info;
+#endif
 
 /* stacked block device info */
        struct bio *bio_list, **bio_tail;