Patch from Andreas Gruenbacher In both 2.5 and 2.4, the fs/nfsd/vfs.c:nfsd_symlink() function calls down to notify_change(). If notify_change fails for some reason, the error code is not converted to an nfs no-the-wire error code as is should. The attached patches fix that (one for 2.4, the other for 2.5). fs/nfsd/vfs.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) diff -puN fs/nfsd/vfs.c~nfsd-symlink-failpath fs/nfsd/vfs.c --- 25/fs/nfsd/vfs.c~nfsd-symlink-failpath 2003-03-17 21:33:23.000000000 -0800 +++ 25-akpm/fs/nfsd/vfs.c 2003-03-17 21:33:23.000000000 -0800 @@ -1203,7 +1203,9 @@ nfsd_symlink(struct svc_rqst *rqstp, str iap->ia_mode = (iap->ia_mode&S_IALLUGO) | S_IFLNK; err = notify_change(dnew, iap); - if (!err && EX_ISSYNC(fhp->fh_export)) + if (err) + err = nfserrno(err); + else if (EX_ISSYNC(fhp->fh_export)) write_inode_now(dentry->d_inode, 1); } } _