Linux NFS development
 help / color / mirror / Atom feed
* alloc_nfs_open_context(): remove redundant refcounting
@ 2004-09-20 21:08 Frank van Maarseveen
  0 siblings, 0 replies; only message in thread
From: Frank van Maarseveen @ 2004-09-20 21:08 UTC (permalink / raw)
  To: Trond Myklebust; +Cc: Linux NFS mailing list

get_rpccred() is called via the

	rpcauth_lookupcred() -> rpcauth_lookup_credcache()

path so it seems that alloc_nfs_open_context() itself doesn't need to
get_rpccred(). All parents immediately compensate by put_rpccred()

correct?

--- b/fs/nfs/inode.c.orig	2004-09-16 22:03:01.000000000 +0200
+++ b/fs/nfs/inode.c	2004-09-20 22:49:37.000000000 +0200
@@ -825,7 +825,7 @@
 	if (ctx != NULL) {
 		atomic_set(&ctx->count, 1);
 		ctx->dentry = dget(dentry);
-		ctx->cred = get_rpccred(cred);
+		ctx->cred = cred;
 		ctx->state = NULL;
 		ctx->lockowner = current->files;
 		ctx->error = 0;
@@ -909,7 +909,6 @@
 	if ((cred = rpcauth_lookupcred(NFS_CLIENT(inode)->cl_auth, 0)) == NULL)
 		return -ENOMEM;
 	ctx = alloc_nfs_open_context(filp->f_dentry, cred);
-	put_rpccred(cred);
 	if (ctx == NULL)
 		return -ENOMEM;
 	ctx->mode = filp->f_mode;
--- b/fs/nfs/nfs4proc.c.orig	2004-09-14 23:03:09.000000000 +0200
+++ b/fs/nfs/nfs4proc.c	2004-09-20 22:49:52.000000000 +0200
@@ -2015,7 +2015,6 @@
 	if (unlikely(cred == NULL))
 		return -ENOMEM;
 	ctx = alloc_nfs_open_context(dentry, cred);
-	put_rpccred(cred);
 	if (unlikely(ctx == NULL))
 		return -ENOMEM;
 	status = -EIO; /* ERACE actually */

-- 
Frank


-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
_______________________________________________
NFS maillist  -  NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-09-20 21:08 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-09-20 21:08 alloc_nfs_open_context(): remove redundant refcounting Frank van Maarseveen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox