mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-28 09:31:14 +00:00
switch follow_up() to struct path
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
e64c390ca0
commit
bab77ebf51
4 changed files with 11 additions and 11 deletions
|
@ -212,7 +212,7 @@ static int find_autofs_mount(const char *pathname,
|
||||||
err = 0;
|
err = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!follow_up(&path.mnt, &path.dentry))
|
if (!follow_up(&path))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
path_put(&path);
|
path_put(&path);
|
||||||
|
|
16
fs/namei.c
16
fs/namei.c
|
@ -675,23 +675,23 @@ loop:
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
int follow_up(struct vfsmount **mnt, struct dentry **dentry)
|
int follow_up(struct path *path)
|
||||||
{
|
{
|
||||||
struct vfsmount *parent;
|
struct vfsmount *parent;
|
||||||
struct dentry *mountpoint;
|
struct dentry *mountpoint;
|
||||||
spin_lock(&vfsmount_lock);
|
spin_lock(&vfsmount_lock);
|
||||||
parent=(*mnt)->mnt_parent;
|
parent = path->mnt->mnt_parent;
|
||||||
if (parent == *mnt) {
|
if (parent == path->mnt) {
|
||||||
spin_unlock(&vfsmount_lock);
|
spin_unlock(&vfsmount_lock);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
mntget(parent);
|
mntget(parent);
|
||||||
mountpoint=dget((*mnt)->mnt_mountpoint);
|
mountpoint = dget(path->mnt->mnt_mountpoint);
|
||||||
spin_unlock(&vfsmount_lock);
|
spin_unlock(&vfsmount_lock);
|
||||||
dput(*dentry);
|
dput(path->dentry);
|
||||||
*dentry = mountpoint;
|
path->dentry = mountpoint;
|
||||||
mntput(*mnt);
|
mntput(path->mnt);
|
||||||
*mnt = parent;
|
path->mnt = parent;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -173,7 +173,7 @@ nfsd_lookup_dentry(struct svc_rqst *rqstp, struct svc_fh *fhp,
|
||||||
.dentry = dget(dparent)};
|
.dentry = dget(dparent)};
|
||||||
|
|
||||||
while (path.dentry == path.mnt->mnt_root &&
|
while (path.dentry == path.mnt->mnt_root &&
|
||||||
follow_up(&path.mnt, &path.dentry))
|
follow_up(&path))
|
||||||
;
|
;
|
||||||
dp = dget_parent(path.dentry);
|
dp = dget_parent(path.dentry);
|
||||||
dput(path.dentry);
|
dput(path.dentry);
|
||||||
|
|
|
@ -79,7 +79,7 @@ extern struct dentry *lookup_one_len(const char *, struct dentry *, int);
|
||||||
extern struct dentry *lookup_one_noperm(const char *, struct dentry *);
|
extern struct dentry *lookup_one_noperm(const char *, struct dentry *);
|
||||||
|
|
||||||
extern int follow_down(struct vfsmount **, struct dentry **);
|
extern int follow_down(struct vfsmount **, struct dentry **);
|
||||||
extern int follow_up(struct vfsmount **, struct dentry **);
|
extern int follow_up(struct path *);
|
||||||
|
|
||||||
extern struct dentry *lock_rename(struct dentry *, struct dentry *);
|
extern struct dentry *lock_rename(struct dentry *, struct dentry *);
|
||||||
extern void unlock_rename(struct dentry *, struct dentry *);
|
extern void unlock_rename(struct dentry *, struct dentry *);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue