提交 e6243863 编写于 作者: M Matthew Wilcox 提交者: Linus Torvalds

[PATCH] Centralise definitions of sector_t and blkcnt_t

CONFIG_LBD and CONFIG_LSF are spread into asm/types.h for no particularly
good reason.

Centralising the definition in linux/types.h means that arch maintainers
don't need to bother adding it, as well as fixing the problem with
x86-64 users being asked to make a decision that has absolutely no
effect.

The H8/300 porters seem particularly confused since I'm not aware of any
microcontrollers that need to support 2TB filesystems.
Signed-off-by: NMatthew Wilcox <matthew@wil.cx>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 2d941e99
...@@ -19,11 +19,9 @@ config BLOCK ...@@ -19,11 +19,9 @@ config BLOCK
if BLOCK if BLOCK
#XXX - it makes sense to enable this only for 32-bit subarch's, not for x86_64
#for instance.
config LBD config LBD
bool "Support for Large Block Devices" bool "Support for Large Block Devices"
depends on X86 || (MIPS && 32BIT) || PPC32 || (S390 && !64BIT) || SUPERH || UML depends on !64BIT
help help
Say Y here if you want to attach large (bigger than 2TB) discs to Say Y here if you want to attach large (bigger than 2TB) discs to
your machine, or if you want to have a raid or loopback device your machine, or if you want to have a raid or loopback device
...@@ -44,7 +42,7 @@ config BLK_DEV_IO_TRACE ...@@ -44,7 +42,7 @@ config BLK_DEV_IO_TRACE
config LSF config LSF
bool "Support for Large Single Files" bool "Support for Large Single Files"
depends on X86 || (MIPS && 32BIT) || PPC32 || ARCH_S390_31 || SUPERH || UML depends on !64BIT
help help
Say Y here if you want to be able to handle very large files (bigger Say Y here if you want to be able to handle very large files (bigger
than 2TB), otherwise say N. than 2TB), otherwise say N.
......
...@@ -57,11 +57,6 @@ typedef unsigned long long u64; ...@@ -57,11 +57,6 @@ typedef unsigned long long u64;
typedef u32 dma_addr_t; typedef u32 dma_addr_t;
#ifdef CONFIG_LBD
typedef u64 sector_t;
#define HAVE_SECTOR_T
#endif
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -55,12 +55,6 @@ typedef unsigned long long u64; ...@@ -55,12 +55,6 @@ typedef unsigned long long u64;
typedef u32 dma_addr_t; typedef u32 dma_addr_t;
#define HAVE_SECTOR_T
typedef u64 sector_t;
#define HAVE_BLKCNT_T
typedef u64 blkcnt_t;
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
......
...@@ -57,16 +57,6 @@ typedef u32 dma_addr_t; ...@@ -57,16 +57,6 @@ typedef u32 dma_addr_t;
#endif #endif
typedef u64 dma64_addr_t; typedef u64 dma64_addr_t;
#ifdef CONFIG_LBD
typedef u64 sector_t;
#define HAVE_SECTOR_T
#endif
#ifdef CONFIG_LSF
typedef u64 blkcnt_t;
#define HAVE_BLKCNT_T
#endif
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -93,16 +93,6 @@ typedef unsigned long long phys_t; ...@@ -93,16 +93,6 @@ typedef unsigned long long phys_t;
typedef unsigned long phys_t; typedef unsigned long phys_t;
#endif #endif
#ifdef CONFIG_LBD
typedef u64 sector_t;
#define HAVE_SECTOR_T
#endif
#ifdef CONFIG_LSF
typedef u64 blkcnt_t;
#define HAVE_BLKCNT_T
#endif
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -97,16 +97,6 @@ typedef struct { ...@@ -97,16 +97,6 @@ typedef struct {
unsigned long env; unsigned long env;
} func_descr_t; } func_descr_t;
#ifdef CONFIG_LBD
typedef u64 sector_t;
#define HAVE_SECTOR_T
#endif
#ifdef CONFIG_LSF
typedef u64 blkcnt_t;
#define HAVE_BLKCNT_T
#endif
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -87,16 +87,6 @@ typedef union { ...@@ -87,16 +87,6 @@ typedef union {
} subreg; } subreg;
} register_pair; } register_pair;
#ifdef CONFIG_LBD
typedef u64 sector_t;
#define HAVE_SECTOR_T
#endif
#ifdef CONFIG_LSF
typedef u64 blkcnt_t;
#define HAVE_BLKCNT_T
#endif
#endif /* ! __s390x__ */ #endif /* ! __s390x__ */
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -52,16 +52,6 @@ typedef unsigned long long u64; ...@@ -52,16 +52,6 @@ typedef unsigned long long u64;
typedef u32 dma_addr_t; typedef u32 dma_addr_t;
#ifdef CONFIG_LBD
typedef u64 sector_t;
#define HAVE_SECTOR_T
#endif
#ifdef CONFIG_LSF
typedef u64 blkcnt_t;
#define HAVE_BLKCNT_T
#endif
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -48,9 +48,6 @@ typedef unsigned long long u64; ...@@ -48,9 +48,6 @@ typedef unsigned long long u64;
typedef u64 dma64_addr_t; typedef u64 dma64_addr_t;
typedef u64 dma_addr_t; typedef u64 dma_addr_t;
typedef u64 sector_t;
#define HAVE_SECTOR_T
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -136,15 +136,19 @@ typedef __s64 int64_t; ...@@ -136,15 +136,19 @@ typedef __s64 int64_t;
* *
* Linux always considers sectors to be 512 bytes long independently * Linux always considers sectors to be 512 bytes long independently
* of the devices real block size. * of the devices real block size.
*
* If required, asm/types.h can override it and define
* HAVE_SECTOR_T
*/ */
#ifndef HAVE_SECTOR_T #ifdef CONFIG_LBD
typedef u64 sector_t;
#else
typedef unsigned long sector_t; typedef unsigned long sector_t;
#endif #endif
#ifndef HAVE_BLKCNT_T /*
* The type of the inode's block count.
*/
#ifdef CONFIG_LSF
typedef u64 blkcnt_t;
#else
typedef unsigned long blkcnt_t; typedef unsigned long blkcnt_t;
#endif #endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册