Lines Matching defs:path

28 static struct vfsmount *autofs_d_automount(struct path *);
29 static int autofs_d_manage(const struct path *, bool);
245 static int autofs_mount_wait(const struct path *path, bool rcu_walk)
247 struct autofs_sb_info *sbi = autofs_sbi(path->dentry->d_sb);
248 struct autofs_info *ino = autofs_dentry_ino(path->dentry);
254 pr_debug("waiting for mount name=%pd\n", path->dentry);
255 status = autofs_wait(sbi, path, NFY_MOUNT);
265 static int do_expire_wait(const struct path *path, bool rcu_walk)
267 struct dentry *dentry = path->dentry;
274 return autofs_expire_wait(path, rcu_walk);
276 const struct path this = { .mnt = path->mnt, .dentry = expiring };
289 static struct dentry *autofs_mountpoint_changed(struct path *path)
291 struct dentry *dentry = path->dentry;
303 * struct path stale.
307 * expired at the same time as a path walk. If the mount has
309 * becoming unhashed (during a lockless path walk) when a stat
325 dput(path->dentry);
326 path->dentry = new;
328 return path->dentry;
331 static struct vfsmount *autofs_d_automount(struct path *path)
333 struct dentry *dentry = path->dentry;
352 status = do_expire_wait(path, 0);
360 status = autofs_mount_wait(path, 0);
376 if (!path_is_mountpoint(path)) {
389 if (path_has_submounts(path)) {
401 status = autofs_mount_wait(path, 0);
412 dentry = autofs_mountpoint_changed(path);
419 static int autofs_d_manage(const struct path *path, bool rcu_walk)
421 struct dentry *dentry = path->dentry;
430 if (!path_is_mountpoint(path))
436 if (do_expire_wait(path, rcu_walk) == -ECHILD)
443 status = autofs_mount_wait(path, rcu_walk);
458 if (path_is_mountpoint(path))
478 * Any needed mounting has been completed and the path
483 if ((!path_is_mountpoint(path) && !autofs_empty(ino)) ||
555 /* autofs_oz_mode() needs to allow path walks when the
655 * during path walks.