linux_dsm_epyc7002/net/9p
Eric Van Hensbergen 3e2796a90c 9p: fix readdir corner cases
The patch below also addresses a couple of other corner cases in readdir
seen with a large (e.g. 64k) msize.  I'm not sure what people think of
my co-opting of fid->aux here.  I'd be happy to rework if there's a better
way.

When the size of the user supplied buffer passed to readdir is smaller
than the data returned in one go by the 9P read request, v9fs_dir_readdir()
currently discards extra data so that, on the next call, a 9P read
request will be issued with offset < previous offset + bytes returned,
which voilates the constraint described in paragraph 3 of read(5) description.
This patch preseves the leftover data in fid->aux for use in the next call.

Signed-off-by: Jim Garlick <garlick@llnl.gov>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
2009-11-02 08:43:45 -06:00
..
client.c 9p: fix readdir corner cases 2009-11-02 08:43:45 -06:00
error.c net/9p: insulate the client against an invalid error code sent by a 9p server 2009-08-17 16:39:54 -05:00
Kconfig 9p: disallow RDMA if RDMA CM isn't available 2009-01-15 16:39:42 -08:00
Makefile 9p: rdma: RDMA Transport Support for 9P 2008-10-22 18:47:39 -05:00
mod.c 9p: consolidate transport structure 2008-10-17 11:04:41 -05:00
protocol.c 9p: fix endian issues [attempt 3] 2009-02-06 22:07:41 -08:00
protocol.h 9p: rework client code to use new protocol support functions 2008-10-17 11:04:45 -05:00
trans_fd.c 9p: minor comment fixes 2009-08-17 16:27:57 -05:00
trans_rdma.c 9p: minor comment fixes 2009-08-17 16:27:57 -05:00
trans_virtio.c virtio: let header files include virtio_ids.h 2009-10-22 16:39:28 +10:30
util.c 9p: rework client code to use new protocol support functions 2008-10-17 11:04:45 -05:00