Re: [PATCH] block_dev: implement readpages() to optimize sequential read

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

 



2014-07-18 8:14 GMT+09:00 Akinobu Mita <akinobu.mita@xxxxxxxxx>:
> 2014-07-18 3:31 GMT+09:00 Jeff Moyer <jmoyer@xxxxxxxxxx>:
>> Akinobu Mita <akinobu.mita@xxxxxxxxx> writes:
>>
>>> Sequential read from a block device is expected to be equal or faster
>>> than from the file on a filesystem.  But it is not correct due to the
>>> lack of effective readpages() in the address space operations for
>>> block device.
>>
>> Ah, a trip down memory lane.  ;-)  Here's a thread showing issues with
>> the last time this was proposed (by me, incidentally):
>>
>> https://lkml.org/lkml/2009/6/2/480
>>
>> At the very least, we need to see numbers on a real device, and see it
>> booted on something with >4k page size before taking this back in.
>
> Thanks for the information.  First, I'll try to reproduce the >4k page
> size issue with qemu with the architecture which can support 64k page.

I can reproduce the issue which attempts to access beyond end of
device, and it turns out that this can be reproducible on 4K page
system, too.

This problem only happens when reading a partition which is being
mounted by the filesystem at the same time.  The filesystem sets
the blocksize to a multiple of the logical block size by set_blocksize()
while it is mounted.  If the end of the partition is not aligned on
the new blocksize, reading the end of the partition causes access
beyond end of device.

So this patch is incomplete, and some guard check code is required in
mpage_readpages() or altenative solution is needed.
--
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




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux