patch-2.2.6 linux/fs/nfsd/nfs3proc.c

Next file: linux/fs/nfsd/nfsproc.c
Previous file: linux/fs/nfs/symlink.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.2.5/linux/fs/nfsd/nfs3proc.c linux/fs/nfsd/nfs3proc.c
@@ -339,8 +339,10 @@
 	nfserr = nfsd_symlink(rqstp, &argp->ffh, argp->fname, argp->flen,
 						 argp->tname, argp->tlen,
 						 &newfh);
-	if (nfserr)
+	if (!nfserr) {
+		argp->attrs.ia_valid &= ~ATTR_SIZE;
 		nfserr = nfsd_setattr(rqstp, &newfh, &argp->attrs);
+	}
 
 	fh_put(&argp->ffh);
 	fh_put(&newfh);
@@ -362,6 +364,7 @@
 				SVCFH_INO(&argp->fh),
 				argp->name);
 
+	argp->attrs.ia_valid &= ~ATTR_SIZE;
 	nfserr = nfsd_create(rqstp, &argp->fh, argp->name, argp->len,
 				    &argp->attrs, S_IFDIR, 0, &resp->fh);
 	fh_put(&argp->fh);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)