Skip to content

Commit

Permalink
Get rid of CONFIG_LSF
Browse files Browse the repository at this point in the history
We have two seperate config entries for large devices/files. One
is CONFIG_LBD that guards just the devices, the other is CONFIG_LSF
that handles large files. This doesn't make a lot of sense, you typically
want both or none. So get rid of CONFIG_LSF and change CONFIG_LBD wording
to indicate that it covers both.

Acked-by: Jean Delvare <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
  • Loading branch information
Jens Axboe committed Dec 29, 2008
1 parent 3c18ce7 commit b3a6ffe
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 30 deletions.
23 changes: 5 additions & 18 deletions block/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -24,21 +24,17 @@ menuconfig BLOCK
if BLOCK

config LBD
bool "Support for Large Block Devices"
bool "Support for large block devices and files"
depends on !64BIT
help
Enable block devices of size 2TB and larger.
Enable block devices or files of size 2TB and larger.

This option is required to support the full capacity of large
(2TB+) block devices, including RAID, disk, Network Block Device,
Logical Volume Manager (LVM) and loopback.

For example, RAID devices are frequently bigger than the capacity
of the largest individual hard drive.

This option is not required if you have individual disk drives
which total 2TB+ and you are not aggregating the capacity into
a large block device (e.g. using RAID or LVM).

This option also enables support for single files larger than
2TB.

If unsure, say N.

Expand All @@ -58,15 +54,6 @@ config BLK_DEV_IO_TRACE

If unsure, say N.

config LSF
bool "Support for Large Single Files"
depends on !64BIT
help
Say Y here if you want to be able to handle very large files (2TB
and larger), otherwise say N.

If unsure, say Y.

config BLK_DEV_BSG
bool "Block layer SG support v4 (EXPERIMENTAL)"
depends on EXPERIMENTAL
Expand Down
8 changes: 4 additions & 4 deletions fs/ext4/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -1721,7 +1721,7 @@ static loff_t ext4_max_size(int blkbits, int has_huge_files)
/* small i_blocks in vfs inode? */
if (!has_huge_files || sizeof(blkcnt_t) < sizeof(u64)) {
/*
* CONFIG_LSF is not enabled implies the inode
* CONFIG_LBD is not enabled implies the inode
* i_block represent total blocks in 512 bytes
* 32 == size of vfs inode i_blocks * 8
*/
Expand Down Expand Up @@ -1764,7 +1764,7 @@ static loff_t ext4_max_bitmap_size(int bits, int has_huge_files)

if (!has_huge_files || sizeof(blkcnt_t) < sizeof(u64)) {
/*
* !has_huge_files or CONFIG_LSF is not enabled
* !has_huge_files or CONFIG_LBD is not enabled
* implies the inode i_block represent total blocks in
* 512 bytes 32 == size of vfs inode i_blocks * 8
*/
Expand Down Expand Up @@ -2021,13 +2021,13 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
if (has_huge_files) {
/*
* Large file size enabled file system can only be
* mount if kernel is build with CONFIG_LSF
* mount if kernel is build with CONFIG_LBD
*/
if (sizeof(root->i_blocks) < sizeof(u64) &&
!(sb->s_flags & MS_RDONLY)) {
printk(KERN_ERR "EXT4-fs: %s: Filesystem with huge "
"files cannot be mounted read-write "
"without CONFIG_LSF.\n", sb->s_id);
"without CONFIG_LBD.\n", sb->s_id);
goto failed_mount;
}
}
Expand Down
11 changes: 3 additions & 8 deletions include/linux/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -135,19 +135,14 @@ typedef __s64 int64_t;
*
* Linux always considers sectors to be 512 bytes long independently
* of the devices real block size.
*
* blkcnt_t is the type of the inode's block count.
*/
#ifdef CONFIG_LBD
typedef u64 sector_t;
#else
typedef unsigned long sector_t;
#endif

/*
* The type of the inode's block count.
*/
#ifdef CONFIG_LSF
typedef u64 blkcnt_t;
#else
typedef unsigned long sector_t;
typedef unsigned long blkcnt_t;
#endif

Expand Down

0 comments on commit b3a6ffe

Please sign in to comment.