aboutsummaryrefslogtreecommitdiff
path: root/sys/fs
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2025-07-15 00:20:06 +0000
committerMark Johnston <markj@FreeBSD.org>2025-07-15 12:52:56 +0000
commitd4cdba5b2f55b62ba1558995226dd9d93fe00af8 (patch)
treec0fe0b273bd1c46fd68bf3a9755a02e918e4573e /sys/fs
parentc8a523690b1a904344662c5834b713e5fc9e9aad (diff)
Diffstat (limited to 'sys/fs')
-rw-r--r--sys/fs/p9fs/p9fs_vnops.c8
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;