summaryrefslogtreecommitdiffstats
path: root/sys/fs/fdescfs/fdesc_vnops.c
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2011-04-09 21:40:48 +0000
committerkib <kib@FreeBSD.org>2011-04-09 21:40:48 +0000
commit57028bd2e65524bafc89c4d6bb33bbcb45783d5c (patch)
treee3619b1facc8a2ccb34c80318d35a4e0e0a7c29d /sys/fs/fdescfs/fdesc_vnops.c
parent153b81554cb794fe75370f094f6cd8c6c52fa7d2 (diff)
downloadFreeBSD-src-57028bd2e65524bafc89c4d6bb33bbcb45783d5c.zip
FreeBSD-src-57028bd2e65524bafc89c4d6bb33bbcb45783d5c.tar.gz
Linuxolator calls VOP_READDIR with ncookies pointer. Implement a
workaround for fdescfs to not panic when ncookies is not NULL, similar to the one committed as r152254, but simpler, due to fdescfs_readdir() not calling vfs_read_dirent(). PR: kern/156177 MFC after: 1 week
Diffstat (limited to 'sys/fs/fdescfs/fdesc_vnops.c')
-rw-r--r--sys/fs/fdescfs/fdesc_vnops.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/fs/fdescfs/fdesc_vnops.c b/sys/fs/fdescfs/fdesc_vnops.c
index 0248a30..e11b59c 100644
--- a/sys/fs/fdescfs/fdesc_vnops.c
+++ b/sys/fs/fdescfs/fdesc_vnops.c
@@ -500,16 +500,12 @@ fdesc_readdir(ap)
struct dirent *dp = &d;
int error, i, off, fcnt;
- /*
- * We don't allow exporting fdesc mounts, and currently local
- * requests do not need cookies.
- */
- if (ap->a_ncookies)
- panic("fdesc_readdir: not hungry");
-
if (VTOFDESC(ap->a_vp)->fd_type != Froot)
panic("fdesc_readdir: not dir");
+ if (ap->a_ncookies != NULL)
+ *ap->a_ncookies = 0;
+
off = (int)uio->uio_offset;
if (off != uio->uio_offset || off < 0 || (u_int)off % UIO_MX != 0 ||
uio->uio_resid < UIO_MX)
OpenPOWER on IntegriCloud