Commit a0f62ac6 authored by Takashi Sato's avatar Takashi Sato Committed by Linus Torvalds
Browse files

[PATCH] 2TB files: add blkcnt_t



Add blkcnt_t as the type of inode.i_blocks.  This enables you to make the size
of blkcnt_t either 4 bytes or 8 bytes on 32 bits architecture with CONFIG_LSF.

- CONFIG_LSF
  Add new configuration parameter.
- blkcnt_t
  On h8300, i386, mips, powerpc, s390 and sh that define sector_t,
  blkcnt_t is defined as u64 if CONFIG_LSF is enabled; otherwise it is
  defined as unsigned long.
  On other architectures, it is defined as unsigned long.
- inode.i_blocks
  Change the type from sector_t to blkcnt_t.

Signed-off-by: default avatarTakashi Sato <sho@tnes.nec.co.jp>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent abcb6c9f
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -23,4 +23,13 @@ config BLK_DEV_IO_TRACE

	  git://brick.kernel.dk/data/git/blktrace.git

config LSF
	bool "Support for Large Single Files"
	depends on X86 || (MIPS && 32BIT) || PPC32 || ARCH_S390_31 || SUPERH || UML
	default n
	help
	  When CONFIG_LBD is disabled, say Y here if you want to
	  handle large file(bigger than 2TB), otherwise say N.
	  When CONFIG_LBD is enabled, Y is set automatically.

source block/Kconfig.iosched
+3 −0
Original line number Diff line number Diff line
@@ -58,6 +58,9 @@ typedef u32 dma_addr_t;
#define HAVE_SECTOR_T
typedef u64 sector_t;

#define HAVE_BLKCNT_T
typedef u64 blkcnt_t;

#endif /* __KERNEL__ */

#endif /* __ASSEMBLY__ */
+5 −0
Original line number Diff line number Diff line
@@ -63,6 +63,11 @@ typedef u64 sector_t;
#define HAVE_SECTOR_T
#endif

#ifdef CONFIG_LSF
typedef u64 blkcnt_t;
#define HAVE_BLKCNT_T
#endif

#endif /* __ASSEMBLY__ */

#endif /* __KERNEL__ */
+5 −0
Original line number Diff line number Diff line
@@ -99,6 +99,11 @@ typedef u64 sector_t;
#define HAVE_SECTOR_T
#endif

#ifdef CONFIG_LSF
typedef u64 blkcnt_t;
#define HAVE_BLKCNT_T
#endif

#endif /* __ASSEMBLY__ */

#endif /* __KERNEL__ */
+5 −0
Original line number Diff line number Diff line
@@ -103,6 +103,11 @@ typedef u64 sector_t;
#define HAVE_SECTOR_T
#endif

#ifdef CONFIG_LSF
typedef u64 blkcnt_t;
#define HAVE_BLKCNT_T
#endif

#endif /* __ASSEMBLY__ */

#endif /* __KERNEL__ */
Loading