aboutsummaryrefslogtreecommitdiffstats
path: root/fs/namei.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/namei.c')
-rw-r--r--fs/namei.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/fs/namei.c b/fs/namei.c
index 4379ef989709..8c1f48ae68e7 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -675,23 +675,23 @@ loop:
675 return err; 675 return err;
676} 676}
677 677
678int follow_up(struct vfsmount **mnt, struct dentry **dentry) 678int follow_up(struct path *path)
679{ 679{
680 struct vfsmount *parent; 680 struct vfsmount *parent;
681 struct dentry *mountpoint; 681 struct dentry *mountpoint;
682 spin_lock(&vfsmount_lock); 682 spin_lock(&vfsmount_lock);
683 parent=(*mnt)->mnt_parent; 683 parent = path->mnt->mnt_parent;
684 if (parent == *mnt) { 684 if (parent == path->mnt) {
685 spin_unlock(&vfsmount_lock); 685 spin_unlock(&vfsmount_lock);
686 return 0; 686 return 0;
687 } 687 }
688 mntget(parent); 688 mntget(parent);
689 mountpoint=dget((*mnt)->mnt_mountpoint); 689 mountpoint = dget(path->mnt->mnt_mountpoint);
690 spin_unlock(&vfsmount_lock); 690 spin_unlock(&vfsmount_lock);
691 dput(*dentry); 691 dput(path->dentry);
692 *dentry = mountpoint; 692 path->dentry = mountpoint;
693 mntput(*mnt); 693 mntput(path->mnt);
694 *mnt = parent; 694 path->mnt = parent;
695 return 1; 695 return 1;
696} 696}
697 697