Re: [RFC] Handle EOF in case of not aligned direct io read in kernel

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

 



Hi All,

Any comments on this case?
Or should we definitely leave it to be handled in user space code?

Thanks,
Joseph

On 18/1/18 09:12, Joseph Qi wrote:
> 
> 
> On 18/1/17 22:25, Matthew Wilcox wrote:
>> On Wed, Jan 17, 2018 at 10:09:28AM +0000, Steven Whitehouse wrote:
>>> Hi,
>>>
>>>
>>> On 17/01/18 09:28, Joseph Qi wrote:
>>>> Hi All,
>>>>
>>>> commit 9fe55eea7e4b ("Fix race when checking i_size on direct i/o read")
>>>> has removed the pos check due to the race case.
>>>>
>>>> Now if I want to do direct read on a file which size is not sector
>>>> alignment, it will return EINVAL in the last round. That means I have to
>>>> handle the case by checking file size in user space, which I think is a
>>>> bit inconvenient.
>>> What do you mean by "not sector alignment"? Are you intending to read files
>>> with any arbitrary size, or those with 512 byte alignment on a filesystem
>>> with some larger block size, or something else?
>> I think he's saying that the file he's trying to read has a length which
>> is not a multiple of 512.
> Yes, suppose I am trying to read a file which size is 4000 bytes, and
> the allocated buffer is 4096 bytes.
> When running my test program, it returns 4000 for the first round and
> -22 for the second.
> While running my test program on 3.10, it returns 4000 and then 0,
> which is my expected behavior.
> 
> Sorry for the brought misunderstanding.
> 



[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