Re: [PATCH] 9p: fix enodata when reading growing file

From: David Howells
Date: Mon Jan 10 2022 - 06:18:55 EST


Dominique Martinet <asmadeus@xxxxxxxxxxxxx> wrote:

> Reading from a file that was just extended by a write, but the write had
> not yet reached the server would return ENODATA as illustrated by this
> command:
> $ xfs_io -c 'open -ft test' -c 'w 4096 1000' -c 'r 0 1000'
> wrote 1000/1000 bytes at offset 4096
> 1000.000000 bytes, 1 ops; 0.0001 sec (5.610 MiB/sec and 5882.3529 ops/sec)
> pread: No data available
>
> Fix this case by having netfs assume zeroes when reads from server come
> short like AFS and CEPH do
>
> Signed-off-by: Dominique Martinet <asmadeus@xxxxxxxxxxxxx>
> Co-authored-by: David Howells <dhowells@xxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx

I think you want this also:

Fixes: eb497943fa21 ("9p: Convert to using the netfs helper lib to do reads and caching")

Reviewed-by: David Howells <dhowells@xxxxxxxxxx>