--- ./fs/nfs/dir.c.orig	2005-07-29 14:02:02.000000000 +0200
+++ ./fs/nfs/dir.c	2005-07-29 14:02:47.000000000 +0200
@@ -1421,7 +1421,7 @@
 	lock_kernel();
 	nfs_begin_data_update(dir);
 	error = NFS_PROTO(dir)->symlink(dir, &dentry->d_name, &qsymname,
-					  &attr, &sym_fh, &sym_attr);
+					  &attr, &sym_fh, &sym_attr, &fsg);
 	nfs_end_data_update(dir);
 	if (!error) {
 		error = nfs_instantiate(dentry, &sym_fh, &sym_attr, &fsg);
--- ./fs/nfs/nfs3proc.c.orig	2005-07-29 14:02:02.000000000 +0200
+++ ./fs/nfs/nfs3proc.c	2005-07-29 14:02:47.000000000 +0200
@@ -482,7 +482,7 @@
 static int
 nfs3_proc_symlink(struct inode *dir, struct qstr *name, struct qstr *path,
 		  struct iattr *sattr, struct nfs_fh *fhandle,
-		  struct nfs_fattr *fattr)
+		  struct nfs_fattr *fattr, struct rpc_groups *fsg)
 {
 	struct nfs_fattr	dir_attr;
 	struct nfs3_symlinkargs	arg = {
@@ -505,7 +505,7 @@
 	dprintk("NFS call  symlink %s -> %s\n", name->name, path->name);
 	dir_attr.valid = 0;
 	fattr->valid = 0;
-	status = nfs3_rpc(NFS_CLIENT(dir), NFS3PROC_SYMLINK, &arg, &res);
+	status = nfs3_rpc(NFS_CLIENT(dir), NFS3PROC_SYMLINK, &arg, &res, fsg);
 	nfs_refresh_inode(dir, &dir_attr);
 	dprintk("NFS reply symlink: %d\n", status);
 	return status;
--- ./fs/nfs/nfs4proc.c.orig	2005-07-29 14:02:02.000000000 +0200
+++ ./fs/nfs/nfs4proc.c	2005-07-29 14:02:47.000000000 +0200
@@ -1644,7 +1644,7 @@
 
 static int nfs4_proc_symlink(struct inode *dir, struct qstr *name,
 		struct qstr *path, struct iattr *sattr, struct nfs_fh *fhandle,
-		struct nfs_fattr *fattr)
+		struct nfs_fattr *fattr, struct rpc_groups *fsg)
 {
 	struct nfs4_exception exception = { };
 	int err;
--- ./fs/nfs/proc.c.orig	2005-07-29 14:02:02.000000000 +0200
+++ ./fs/nfs/proc.c	2005-07-29 14:02:47.000000000 +0200
@@ -387,7 +387,7 @@
 static int
 nfs_proc_symlink(struct inode *dir, struct qstr *name, struct qstr *path,
 		 struct iattr *sattr, struct nfs_fh *fhandle,
-		 struct nfs_fattr *fattr)
+		 struct nfs_fattr *fattr, struct rpc_groups *fsg)
 {
 	struct nfs_symlinkargs	arg = {
 		.fromfh		= NFS_FH(dir),
@@ -404,7 +404,7 @@
 	dprintk("NFS call  symlink %s -> %s\n", name->name, path->name);
 	fattr->valid = 0;
 	fhandle->size = 0;
-	status = nfs2_rpc(NFS_CLIENT(dir), NFSPROC_SYMLINK, &arg, NULL);
+	status = nfs2_rpc(NFS_CLIENT(dir), NFSPROC_SYMLINK, &arg, NULL, fsg);
 	dprintk("NFS reply symlink: %d\n", status);
 	return status;
 }
--- ./include/linux/nfs_xdr.h.orig	2005-07-29 14:02:02.000000000 +0200
+++ ./include/linux/nfs_xdr.h	2005-07-29 14:02:47.000000000 +0200
@@ -733,7 +733,7 @@
 			    struct rpc_groups *);
 	int	(*symlink) (struct inode *, struct qstr *, struct qstr *,
 			    struct iattr *, struct nfs_fh *,
-			    struct nfs_fattr *);
+			    struct nfs_fattr *, struct rpc_groups *);
 	int	(*mkdir)   (struct inode *, struct dentry *, struct iattr *,
 			    struct rpc_groups *);
 	int	(*rmdir)   (struct inode *, struct qstr *, struct rpc_groups *);