diff options
| author | Mark Johnston <markj@FreeBSD.org> | 2025-07-15 00:20:06 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2025-07-15 12:52:56 +0000 |
| commit | d4cdba5b2f55b62ba1558995226dd9d93fe00af8 (patch) | |
| tree | c0fe0b273bd1c46fd68bf3a9755a02e918e4573e /sys/fs | |
| parent | c8a523690b1a904344662c5834b713e5fc9e9aad (diff) | |
Diffstat (limited to 'sys/fs')
| -rw-r--r-- | sys/fs/p9fs/p9fs_vnops.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/fs/p9fs/p9fs_vnops.c b/sys/fs/p9fs/p9fs_vnops.c index 56bf766ef801..227e2b93883e 100644 --- a/sys/fs/p9fs/p9fs_vnops.c +++ b/sys/fs/p9fs/p9fs_vnops.c @@ -1784,6 +1784,9 @@ p9fs_readdir(struct vop_readdir_args *ap) return (EBADF); } + if (ap->a_eofflag != NULL) + *ap->a_eofflag = 0; + io_buffer = uma_zalloc(p9fs_io_buffer_zone, M_WAITOK); /* We haven't reached the end yet. read more. */ @@ -1801,8 +1804,11 @@ p9fs_readdir(struct vop_readdir_args *ap) count = p9_client_readdir(vofid, (char *)io_buffer, diroffset, count); - if (count == 0) + if (count == 0) { + if (ap->a_eofflag != NULL) + *ap->a_eofflag = 1; break; + } if (count < 0) { error = EIO; |
