Lines Matching refs:nd
201 static int autofs_dev_ioctl_find_super(struct nameidata *nd, dev_t devno) in autofs_dev_ioctl_find_super() argument
212 dentry = d_lookup(nd->path.dentry, &nd->last); in autofs_dev_ioctl_find_super()
216 dput(nd->path.dentry); in autofs_dev_ioctl_find_super()
217 nd->path.dentry = dentry; in autofs_dev_ioctl_find_super()
220 while (follow_down(&nd->path.mnt, &nd->path.dentry)) { in autofs_dev_ioctl_find_super()
221 inode = nd->path.dentry->d_inode; in autofs_dev_ioctl_find_super()
242 static int autofs_dev_ioctl_find_sbi_type(struct nameidata *nd, unsigned int type) in autofs_dev_ioctl_find_sbi_type() argument
251 dentry = d_lookup(nd->path.dentry, &nd->last); in autofs_dev_ioctl_find_sbi_type()
255 dput(nd->path.dentry); in autofs_dev_ioctl_find_sbi_type()
256 nd->path.dentry = dentry; in autofs_dev_ioctl_find_sbi_type()
259 while (follow_down(&nd->path.mnt, &nd->path.dentry)) { in autofs_dev_ioctl_find_sbi_type()
260 ino = autofs4_dentry_ino(nd->path.dentry); in autofs_dev_ioctl_find_sbi_type()
291 struct nameidata nd; in autofs_dev_ioctl_open_mountpoint() local
297 err = path_lookup(path, LOOKUP_PARENT, &nd); in autofs_dev_ioctl_open_mountpoint()
306 err = autofs_dev_ioctl_find_super(&nd, devid); in autofs_dev_ioctl_open_mountpoint()
308 path_put(&nd.path); in autofs_dev_ioctl_open_mountpoint()
312 filp = dentry_open(nd.path.dentry, nd.path.mnt, O_RDONLY, in autofs_dev_ioctl_open_mountpoint()
480 struct nameidata nd; in autofs_dev_ioctl_requester() local
496 err = path_lookup(path, LOOKUP_PARENT, &nd); in autofs_dev_ioctl_requester()
500 err = autofs_dev_ioctl_find_super(&nd, devid); in autofs_dev_ioctl_requester()
504 ino = autofs4_dentry_ino(nd.path.dentry); in autofs_dev_ioctl_requester()
507 autofs4_expire_wait(nd.path.dentry); in autofs_dev_ioctl_requester()
515 path_put(&nd.path); in autofs_dev_ioctl_requester()
601 struct nameidata nd; in autofs_dev_ioctl_ismountpoint() local
622 err = path_lookup(path, LOOKUP_FOLLOW, &nd); in autofs_dev_ioctl_ismountpoint()
626 sb = nd.path.dentry->d_sb; in autofs_dev_ioctl_ismountpoint()
631 err = path_lookup(path, LOOKUP_PARENT, &nd); in autofs_dev_ioctl_ismountpoint()
635 err = autofs_dev_ioctl_find_sbi_type(&nd, type); in autofs_dev_ioctl_ismountpoint()
639 ino = autofs4_dentry_ino(nd.path.dentry); in autofs_dev_ioctl_ismountpoint()
644 if (nd.path.dentry->d_inode && in autofs_dev_ioctl_ismountpoint()
645 nd.path.mnt->mnt_root == nd.path.dentry) { in autofs_dev_ioctl_ismountpoint()
647 magic = nd.path.dentry->d_inode->i_sb->s_magic; in autofs_dev_ioctl_ismountpoint()
652 err = path_lookup(path, LOOKUP_PARENT, &nd); in autofs_dev_ioctl_ismountpoint()
656 err = autofs_dev_ioctl_find_super(&nd, dev); in autofs_dev_ioctl_ismountpoint()
662 err = have_submounts(nd.path.dentry); in autofs_dev_ioctl_ismountpoint()
664 if (nd.path.mnt->mnt_mountpoint != nd.path.mnt->mnt_root) { in autofs_dev_ioctl_ismountpoint()
665 if (follow_down(&nd.path.mnt, &nd.path.dentry)) { in autofs_dev_ioctl_ismountpoint()
666 struct inode *inode = nd.path.dentry->d_inode; in autofs_dev_ioctl_ismountpoint()
676 path_put(&nd.path); in autofs_dev_ioctl_ismountpoint()