On 2012-07-24 21:48 Christoph Hellwig <hch@xxxxxxxxxxxxx> Wrote: >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) > I had a problem:why do read-operation not to check like generic_write_chekcs??韬{.n?????%??檩??w?{.n???{饼?z鳐??骅w*jg????????G??⒏⒎?:+v????????????"??????