浏览代码

Revert "task_struct: make journal_info conditional"

This reverts commit e4c570c4cb7a95dbfafa3d016d2739bf3fdfe319, as
requested by Alexey:

 "I think I gave a good enough arguments to not merge it.
  To iterate:
   * patch makes impossible to start using ext3 on EXT3_FS=n kernels
     without reboot.
   * this is done only for one pointer on task_struct"

  None of config options which define task_struct are tristate directly
  or effectively."

Requested-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds 15 年之前
父节点
当前提交
b6e3224fb2
共有 10 个文件被更改,包括 1 次插入20 次删除
  1. 0 4
      fs/Kconfig
  2. 0 1
      fs/btrfs/Kconfig
  3. 0 1
      fs/ext4/Kconfig
  4. 0 1
      fs/gfs2/Kconfig
  5. 0 1
      fs/jbd/Kconfig
  6. 0 1
      fs/jbd2/Kconfig
  7. 0 1
      fs/nilfs2/Kconfig
  8. 0 1
      fs/reiserfs/Kconfig
  9. 1 7
      include/linux/init_task.h
  10. 0 2
      include/linux/sched.h

+ 0 - 4
fs/Kconfig

@@ -6,10 +6,6 @@ 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"

+ 0 - 1
fs/btrfs/Kconfig

@@ -4,7 +4,6 @@ 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.

+ 0 - 1
fs/ext4/Kconfig

@@ -2,7 +2,6 @@ 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.
 
 

+ 0 - 1
fs/gfs2/Kconfig

@@ -10,7 +10,6 @@ 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.
 
 

+ 0 - 1
fs/jbd/Kconfig

@@ -1,6 +1,5 @@
 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

+ 0 - 1
fs/jbd2/Kconfig

@@ -1,7 +1,6 @@
 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

+ 0 - 1
fs/nilfs2/Kconfig

@@ -2,7 +2,6 @@ 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

+ 0 - 1
fs/reiserfs/Kconfig

@@ -1,7 +1,6 @@
 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.

+ 1 - 7
include/linux/init_task.h

@@ -111,12 +111,6 @@ 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)
@@ -168,6 +162,7 @@ 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	= __RAW_SPIN_LOCK_UNLOCKED(tsk.pi_lock),	\
 	.pi_lock	= __RAW_SPIN_LOCK_UNLOCKED(tsk.pi_lock),	\
@@ -178,7 +173,6 @@ 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						\

+ 0 - 2
include/linux/sched.h

@@ -1446,10 +1446,8 @@ 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;