]> err.no Git - linux-2.6/blobdiff - fs/afs/mntpt.c
Merge branch 'pci-for-jesse' of git://git.kernel.org/pub/scm/linux/kernel/git/tip...
[linux-2.6] / fs / afs / mntpt.c
index 4136dfb9ffb8c3a5978fe0d4ca6c19e753d097a3..78db4953a80047847b2d6098ca0c8bf4b30a76ef 100644 (file)
@@ -227,16 +227,15 @@ static void *afs_mntpt_follow_link(struct dentry *dentry, struct nameidata *nd)
 
        newmnt = afs_mntpt_do_automount(nd->path.dentry);
        if (IS_ERR(newmnt)) {
-               path_release(nd);
+               path_put(&nd->path);
                return (void *)newmnt;
        }
 
        mntget(newmnt);
-       err = do_add_mount(newmnt, nd, MNT_SHRINKABLE, &afs_vfsmounts);
+       err = do_add_mount(newmnt, &nd->path, MNT_SHRINKABLE, &afs_vfsmounts);
        switch (err) {
        case 0:
-               dput(nd->path.dentry);
-               mntput(nd->path.mnt);
+               path_put(&nd->path);
                nd->path.mnt = newmnt;
                nd->path.dentry = dget(newmnt->mnt_root);
                schedule_delayed_work(&afs_mntpt_expiry_timer,
@@ -284,11 +283,3 @@ void afs_mntpt_kill_timer(void)
        cancel_delayed_work(&afs_mntpt_expiry_timer);
        flush_scheduled_work();
 }
-
-/*
- * begin unmount by attempting to remove all automounted mountpoints we added
- */
-void afs_umount_begin(struct vfsmount *vfsmnt, int flags)
-{
-       shrink_submounts(vfsmnt, &afs_vfsmounts);
-}