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 from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html