Lines Matching refs:path
61 struct path lowerstack[];
99 void ovl_path_upper(struct dentry *dentry, struct path *path) in ovl_path_upper() argument
104 path->mnt = ofs->upper_mnt; in ovl_path_upper()
105 path->dentry = ovl_upperdentry_dereference(oe); in ovl_path_upper()
108 enum ovl_path_type ovl_path_real(struct dentry *dentry, struct path *path) in ovl_path_real() argument
113 ovl_path_lower(dentry, path); in ovl_path_real()
115 ovl_path_upper(dentry, path); in ovl_path_real()
174 void ovl_path_lower(struct dentry *dentry, struct path *path) in ovl_path_lower() argument
178 *path = oe->numlower ? oe->lowerstack[0] : (struct path) { NULL, NULL }; in ovl_path_lower()
417 int ovl_path_next(int idx, struct dentry *dentry, struct path *path) in ovl_path_next() argument
423 ovl_path_upper(dentry, path); in ovl_path_next()
424 if (path->dentry) in ovl_path_next()
429 *path = oe->lowerstack[idx - 1]; in ovl_path_next()
439 struct path *stack = NULL; in ovl_lookup()
474 stack = kcalloc(poe->numlower, sizeof(struct path), GFP_KERNEL); in ovl_lookup()
481 struct path lowerpath = poe->lowerstack[i]; in ovl_lookup()
551 memcpy(oe->lowerstack, stack, sizeof(struct path) * ctr); in ovl_lookup()
570 struct file *ovl_path_open(struct path *path, int flags) in ovl_path_open() argument
572 return dentry_open(path, flags, current_cred()); in ovl_path_open()
604 struct path path; in ovl_statfs() local
607 ovl_path_real(root_dentry, &path); in ovl_statfs()
609 err = vfs_statfs(&path, buf); in ovl_statfs()
806 static int ovl_mount_dir_noesc(const char *name, struct path *path) in ovl_mount_dir_noesc() argument
814 err = kern_path(name, LOOKUP_FOLLOW, path); in ovl_mount_dir_noesc()
820 if (ovl_dentry_weird(path->dentry)) { in ovl_mount_dir_noesc()
824 if (!S_ISDIR(path->dentry->d_inode->i_mode)) { in ovl_mount_dir_noesc()
831 path_put(path); in ovl_mount_dir_noesc()
836 static int ovl_mount_dir(const char *name, struct path *path) in ovl_mount_dir() argument
843 err = ovl_mount_dir_noesc(tmp, path); in ovl_mount_dir()
846 if (ovl_dentry_remote(path->dentry)) { in ovl_mount_dir()
849 path_put(path); in ovl_mount_dir()
857 static int ovl_lower_dir(const char *name, struct path *path, long *namelen, in ovl_lower_dir() argument
863 err = ovl_mount_dir_noesc(name, path); in ovl_lower_dir()
867 err = vfs_statfs(path, &statfs); in ovl_lower_dir()
873 *stack_depth = max(*stack_depth, path->mnt->mnt_sb->s_stack_depth); in ovl_lower_dir()
875 if (ovl_dentry_remote(path->dentry)) in ovl_lower_dir()
881 path_put(path); in ovl_lower_dir()
920 struct path upperpath = { NULL, NULL }; in ovl_fill_super()
921 struct path workpath = { NULL, NULL }; in ovl_fill_super()
925 struct path *stack = NULL; in ovl_fill_super()
999 stack = kcalloc(stacklen, sizeof(struct path), GFP_KERNEL); in ovl_fill_super()