Commit e4c570c4 authored by Hiroshi Shimamoto's avatar Hiroshi Shimamoto Committed by Linus Torvalds

task_struct: make journal_info conditional

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: default avatarHiroshi 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: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 8420e7ef
...@@ -6,6 +6,10 @@ menu "File systems" ...@@ -6,6 +6,10 @@ menu "File systems"
if BLOCK if BLOCK
config FS_JOURNAL_INFO
bool
default n
source "fs/ext2/Kconfig" source "fs/ext2/Kconfig"
source "fs/ext3/Kconfig" source "fs/ext3/Kconfig"
source "fs/ext4/Kconfig" source "fs/ext4/Kconfig"
......
...@@ -4,6 +4,7 @@ config BTRFS_FS ...@@ -4,6 +4,7 @@ config BTRFS_FS
select LIBCRC32C select LIBCRC32C
select ZLIB_INFLATE select ZLIB_INFLATE
select ZLIB_DEFLATE select ZLIB_DEFLATE
select FS_JOURNAL_INFO
help help
Btrfs is a new filesystem with extents, writable snapshotting, Btrfs is a new filesystem with extents, writable snapshotting,
support for multiple devices and many more features. support for multiple devices and many more features.
......
...@@ -2,6 +2,7 @@ config EXT4_FS ...@@ -2,6 +2,7 @@ config EXT4_FS
tristate "The Extended 4 (ext4) filesystem" tristate "The Extended 4 (ext4) filesystem"
select JBD2 select JBD2
select CRC16 select CRC16
select FS_JOURNAL_INFO
help help
This is the next generation of the ext3 filesystem. This is the next generation of the ext3 filesystem.
......
...@@ -10,6 +10,7 @@ config GFS2_FS ...@@ -10,6 +10,7 @@ config GFS2_FS
select SLOW_WORK select SLOW_WORK
select QUOTA select QUOTA
select QUOTACTL select QUOTACTL
select FS_JOURNAL_INFO
help help
A cluster filesystem. A cluster filesystem.
......
config JBD config JBD
tristate tristate
select FS_JOURNAL_INFO
help help
This is a generic journalling layer for block devices. It is This is a generic journalling layer for block devices. It is
currently used by the ext3 file system, but it could also be currently used by the ext3 file system, but it could also be
......
config JBD2 config JBD2
tristate tristate
select CRC32 select CRC32
select FS_JOURNAL_INFO
help help
This is a generic journaling layer for block devices that support This is a generic journaling layer for block devices that support
both 32-bit and 64-bit block numbers. It is currently used by both 32-bit and 64-bit block numbers. It is currently used by
......
...@@ -2,6 +2,7 @@ config NILFS2_FS ...@@ -2,6 +2,7 @@ config NILFS2_FS
tristate "NILFS2 file system support (EXPERIMENTAL)" tristate "NILFS2 file system support (EXPERIMENTAL)"
depends on EXPERIMENTAL depends on EXPERIMENTAL
select CRC32 select CRC32
select FS_JOURNAL_INFO
help help
NILFS2 is a log-structured file system (LFS) supporting continuous NILFS2 is a log-structured file system (LFS) supporting continuous
snapshotting. In addition to versioning capability of the entire snapshotting. In addition to versioning capability of the entire
......
config REISERFS_FS config REISERFS_FS
tristate "Reiserfs support" tristate "Reiserfs support"
select CRC32 select CRC32
select FS_JOURNAL_INFO
help help
Stores not just filenames but the files themselves in a balanced Stores not just filenames but the files themselves in a balanced
tree. Uses journalling. tree. Uses journalling.
......
...@@ -111,6 +111,12 @@ extern struct cred init_cred; ...@@ -111,6 +111,12 @@ extern struct cred init_cred;
# define INIT_PERF_EVENTS(tsk) # define INIT_PERF_EVENTS(tsk)
#endif #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 * INIT_TASK is used to set up the first task table, touch at
* your own risk!. Base=0, limit=0x1fffff (=2MB) * your own risk!. Base=0, limit=0x1fffff (=2MB)
...@@ -162,7 +168,6 @@ extern struct cred init_cred; ...@@ -162,7 +168,6 @@ extern struct cred init_cred;
.signal = {{0}}}, \ .signal = {{0}}}, \
.blocked = {{0}}, \ .blocked = {{0}}, \
.alloc_lock = __SPIN_LOCK_UNLOCKED(tsk.alloc_lock), \ .alloc_lock = __SPIN_LOCK_UNLOCKED(tsk.alloc_lock), \
.journal_info = NULL, \
.cpu_timers = INIT_CPU_TIMERS(tsk.cpu_timers), \ .cpu_timers = INIT_CPU_TIMERS(tsk.cpu_timers), \
.fs_excl = ATOMIC_INIT(0), \ .fs_excl = ATOMIC_INIT(0), \
.pi_lock = __SPIN_LOCK_UNLOCKED(tsk.pi_lock), \ .pi_lock = __SPIN_LOCK_UNLOCKED(tsk.pi_lock), \
...@@ -173,6 +178,7 @@ extern struct cred init_cred; ...@@ -173,6 +178,7 @@ extern struct cred init_cred;
[PIDTYPE_SID] = INIT_PID_LINK(PIDTYPE_SID), \ [PIDTYPE_SID] = INIT_PID_LINK(PIDTYPE_SID), \
}, \ }, \
.dirties = INIT_PROP_LOCAL_SINGLE(dirties), \ .dirties = INIT_PROP_LOCAL_SINGLE(dirties), \
INIT_JOURNAL_INFO \
INIT_IDS \ INIT_IDS \
INIT_PERF_EVENTS(tsk) \ INIT_PERF_EVENTS(tsk) \
INIT_TRACE_IRQFLAGS \ INIT_TRACE_IRQFLAGS \
......
...@@ -1446,8 +1446,10 @@ struct task_struct { ...@@ -1446,8 +1446,10 @@ struct task_struct {
gfp_t lockdep_reclaim_gfp; gfp_t lockdep_reclaim_gfp;
#endif #endif
#ifdef CONFIG_FS_JOURNAL_INFO
/* journalling filesystem info */ /* journalling filesystem info */
void *journal_info; void *journal_info;
#endif
/* stacked block device info */ /* stacked block device info */
struct bio *bio_list, **bio_tail; struct bio *bio_list, **bio_tail;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment