]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
LINUX: Avoid duplicate mntget in afs_dentry_open
authorAndrew Deason <adeason@sinenomine.net>
Wed, 17 Apr 2013 06:27:47 +0000 (01:27 -0500)
committerDerrick Brashear <shadow@your-file-system.com>
Wed, 17 Apr 2013 12:35:17 +0000 (05:35 -0700)
Our caller already got a ref to 'mnt'; getting another one here will
overcount refs on 'mnt'.

This can make it impossible to unmount the filesystem the cache
resides on (even after the client is stopped), since it's ref count
will be very high.

FIXES 131613

Change-Id: I3f0cd0fd6c0c2ced74f2d799ea0d8f8701a20141
Reviewed-on: http://gerrit.openafs.org/9790
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
src/afs/LINUX/osi_compat.h

index f729db53db72b7a8bc38093d83cd40d10b0d26cf..6087d4377ec117f33648f4c321bd6a4e8dd49a40 100644 (file)
@@ -529,7 +529,7 @@ afs_dentry_open(struct dentry *dp, struct vfsmount *mnt, int flags, const struct
     filp = dentry_open(&path, flags, creds);
     return filp;
 #else
-    return dentry_open(dp, mntget(mnt), flags, creds);
+    return dentry_open(dp, mnt, flags, creds);
 #endif
 }
 #endif