block: remove CONFIG_LBDAF
Currently support for 64-bit sector_t and blkcnt_t is optional on 32-bit architectures. These types are required to support block device and/or file sizes larger than 2 TiB, and have generally defaulted to on for a long time. Enabling the option only increases the i386 tinyconfig size by 145 bytes, and many data structures already always use 64-bit values for their in-core and on-disk data structures anyway, so there should not be a large change in dynamic memory usage either. Dropping this option removes a somewhat weird non-default config that has cause various bugs or compiler warnings when actually used. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:

committed by
Jens Axboe

parent
75199aa526
commit
72deb455b5
@@ -539,26 +539,18 @@ xfs_max_file_offset(
|
||||
|
||||
/* Figure out maximum filesize, on Linux this can depend on
|
||||
* the filesystem blocksize (on 32 bit platforms).
|
||||
* __block_write_begin does this in an [unsigned] long...
|
||||
* __block_write_begin does this in an [unsigned] long long...
|
||||
* page->index << (PAGE_SHIFT - bbits)
|
||||
* So, for page sized blocks (4K on 32 bit platforms),
|
||||
* this wraps at around 8Tb (hence MAX_LFS_FILESIZE which is
|
||||
* (((u64)PAGE_SIZE << (BITS_PER_LONG-1))-1)
|
||||
* but for smaller blocksizes it is less (bbits = log2 bsize).
|
||||
* Note1: get_block_t takes a long (implicit cast from above)
|
||||
* Note2: The Large Block Device (LBD and HAVE_SECTOR_T) patch
|
||||
* can optionally convert the [unsigned] long from above into
|
||||
* an [unsigned] long long.
|
||||
*/
|
||||
|
||||
#if BITS_PER_LONG == 32
|
||||
# if defined(CONFIG_LBDAF)
|
||||
ASSERT(sizeof(sector_t) == 8);
|
||||
pagefactor = PAGE_SIZE;
|
||||
bitshift = BITS_PER_LONG;
|
||||
# else
|
||||
pagefactor = PAGE_SIZE >> (PAGE_SHIFT - blockshift);
|
||||
# endif
|
||||
#endif
|
||||
|
||||
return (((uint64_t)pagefactor) << bitshift) - 1;
|
||||
|
Reference in New Issue
Block a user