diff --git a/src/afs/afs_nfsdisp.c b/src/afs/afs_nfsdisp.c index 71eac0edd8..5260b3db03 100644 --- a/src/afs/afs_nfsdisp.c +++ b/src/afs/afs_nfsdisp.c @@ -747,6 +747,13 @@ afs_nfs3_noaccess(struct afs_nfs3_resp *resp) resp->flags = FALSE; } +void +afs_nfs3_notsupp(struct afs_nfs3_resp *resp) +{ + resp->status = NFS3ERR_NOTSUPP; + resp->flags = FALSE; +} + afs_int32 nfs3_to_afs_call(int which, caddr_t * args, nfs_fh3 ** fhpp, nfs_fh3 ** fh2pp) { @@ -1370,6 +1377,8 @@ afs_nfs3_readdirplus(char *args, char *xp, char *exp, char *rp, char *crp) crp); if (call > 1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else if (call == 1) + afs_nfs3_notsupp((struct afs_nfs3_resp *)xp); else (*afs_rfs3_disp_tbl[NFSPROC3_READDIRPLUS].orig_proc) (args, xp, exp, rp, crp);