Re: [RFC] block_dev:Fix bug when read/write block-device which is larger than 16TB in 32bit-OS.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jul 24, 2012 at 08:44:27PM +0800, majianpeng wrote:
> On 2012-05-29 16:56 majianpeng <majianpeng@xxxxxxxxx> Wrote:
> >The size of block-device is larger than 16TB, and the os is 32bit.
> >If the offset of read/write is larger then 16TB. The index of address_space will
> >overflow and supply data from low offset instead.

We can't support > 16TB block device on 32-bit systems with 4k page
size, just like we can't support files that large.

For filesystems the s_maxbytes limit of MAX_LFS_FILESIZE takes care of
that, but it seems like we miss that check for block devices.

The proper fix is to add that check (either via s_maxbytes or by
checking MAX_LFS_FILESIZE) to generic_write_checks and
generic_file_aio_read (or a block device specific wrapper)

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]