summaryrefslogtreecommitdiffstats
path: root/sys/nfs
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1998-05-31 19:10:52 +0000
committerpeter <peter@FreeBSD.org>1998-05-31 19:10:52 +0000
commit79668180999b092f5e63dcfcae049b8b08ef7588 (patch)
tree9c66a9947b79ae64fd797ce5795ea4786d810ca5 /sys/nfs
parent49e79dfe9e99f2111e1674ed6a3d7e4556deb050 (diff)
downloadFreeBSD-src-79668180999b092f5e63dcfcae049b8b08ef7588.zip
FreeBSD-src-79668180999b092f5e63dcfcae049b8b08ef7588.tar.gz
Hide whiteouts from NFS, since the protocol doesn't support them.
Obtained from: NetBSD
Diffstat (limited to 'sys/nfs')
-rw-r--r--sys/nfs/nfs_serv.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/nfs/nfs_serv.c b/sys/nfs/nfs_serv.c
index e11899f..03a3dad 100644
--- a/sys/nfs/nfs_serv.c
+++ b/sys/nfs/nfs_serv.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_serv.c 8.8 (Berkeley) 7/31/95
- * $Id: nfs_serv.c,v 1.64 1998/05/31 17:54:18 peter Exp $
+ * $Id: nfs_serv.c,v 1.65 1998/05/31 19:07:47 peter Exp $
*/
/*
@@ -2650,7 +2650,8 @@ again:
* increase.
*/
while (cpos < cend && ncookies > 0 &&
- (dp->d_fileno == 0 || ((u_quad_t)(*cookiep)) <= toff)) {
+ (dp->d_fileno == 0 || dp->d_type == DT_WHT ||
+ ((u_quad_t)(*cookiep)) <= toff)) {
cpos += dp->d_reclen;
dp = (struct dirent *)cpos;
cookiep++;
@@ -2675,7 +2676,7 @@ again:
/* Loop through the records and build reply */
while (cpos < cend && ncookies > 0) {
- if (dp->d_fileno != 0) {
+ if (dp->d_fileno != 0 && dp->d_type != DT_WHT) {
nlen = dp->d_namlen;
rem = nfsm_rndup(nlen)-nlen;
len += (4 * NFSX_UNSIGNED + nlen + rem);
@@ -2907,7 +2908,8 @@ again:
* increase.
*/
while (cpos < cend && ncookies > 0 &&
- (dp->d_fileno == 0 || ((u_quad_t)(*cookiep)) <= toff)) {
+ (dp->d_fileno == 0 || dp->d_type == DT_WHT) ||
+ ((u_quad_t)(*cookiep)) <= toff)) {
cpos += dp->d_reclen;
dp = (struct dirent *)cpos;
cookiep++;
@@ -2945,7 +2947,7 @@ again:
/* Loop through the records and build reply */
while (cpos < cend && ncookies > 0) {
- if (dp->d_fileno != 0) {
+ if (dp->d_fileno != 0 && dp->d_type != DT_WHT) {
nlen = dp->d_namlen;
rem = nfsm_rndup(nlen)-nlen;
OpenPOWER on IntegriCloud