/kernel/linux/linux-5.10/fs/overlayfs/ |
H A D | copy_up.c | 500 struct path upperpath, datapath; in ovl_copy_up_inode() local 502 ovl_path_upper(c->dentry, &upperpath); in ovl_copy_up_inode() 503 if (WARN_ON(upperpath.dentry != NULL)) in ovl_copy_up_inode() 505 upperpath.dentry = temp; in ovl_copy_up_inode() 508 err = ovl_copy_up_data(ofs, &datapath, &upperpath, in ovl_copy_up_inode() 819 struct path upperpath, datapath; in ovl_copy_up_meta_inode_data() local 824 ovl_path_upper(c->dentry, &upperpath); in ovl_copy_up_meta_inode_data() 825 if (WARN_ON(upperpath.dentry == NULL)) in ovl_copy_up_meta_inode_data() 833 err = cap_size = ovl_getxattr(upperpath.dentry, XATTR_NAME_CAPS, in ovl_copy_up_meta_inode_data() 839 err = ovl_copy_up_data(ofs, &datapath, &upperpath, in ovl_copy_up_meta_inode_data() [all...] |
H A D | super.c | 1121 struct ovl_layer *upper_layer, struct path *upperpath) in ovl_get_upper() 1126 err = ovl_mount_dir(ofs->config.upperdir, upperpath); in ovl_get_upper() 1131 if (sb_rdonly(upperpath->mnt->mnt_sb)) { in ovl_get_upper() 1137 err = ovl_check_namelen(upperpath, ofs, ofs->config.upperdir); in ovl_get_upper() 1141 err = ovl_setup_trap(sb, upperpath->dentry, &upper_layer->trap, in ovl_get_upper() 1146 upper_mnt = clone_private_mount(upperpath); in ovl_get_upper() 1149 pr_err("failed to clone upperpath\n"); in ovl_get_upper() 1400 struct path *upperpath) in ovl_get_workdir() 1410 if (upperpath->mnt != workpath.mnt) { in ovl_get_workdir() 1414 if (!ovl_workdir_ok(workpath.dentry, upperpath in ovl_get_workdir() 1120 ovl_get_upper(struct super_block *sb, struct ovl_fs *ofs, struct ovl_layer *upper_layer, struct path *upperpath) ovl_get_upper() argument 1399 ovl_get_workdir(struct super_block *sb, struct ovl_fs *ofs, struct path *upperpath) ovl_get_workdir() argument 1442 ovl_get_indexdir(struct super_block *sb, struct ovl_fs *ofs, struct ovl_entry *oe, struct path *upperpath) ovl_get_indexdir() argument 1878 struct path upperpath = { }; ovl_fill_super() local [all...] |
H A D | inode.c | 464 struct path upperpath = { in ovl_update_time() local 469 if (upperpath.dentry) { in ovl_update_time() 470 touch_atime(&upperpath); in ovl_update_time() 471 inode->i_atime = d_inode(upperpath.dentry)->i_atime; in ovl_update_time()
|
H A D | dir.c | 364 struct path upperpath; in ovl_clear_empty() local 377 ovl_path_upper(dentry, &upperpath); in ovl_clear_empty() 378 err = vfs_getattr(&upperpath, &stat, in ovl_clear_empty() 386 upper = upperpath.dentry; in ovl_clear_empty() 845 * upperpath/lowerpath, which could only be done if we are the in ovl_remove_upper()
|
H A D | readdir.c | 867 struct path upperpath; in ovl_dir_real_file() local 869 ovl_path_upper(dentry, &upperpath); in ovl_dir_real_file() 870 realfile = ovl_dir_open_realfile(file, &upperpath); in ovl_dir_real_file()
|
/kernel/linux/linux-6.6/fs/overlayfs/ |
H A D | super.c | 541 const struct path *upperpath) in ovl_get_upper() 547 if (__mnt_is_readonly(upperpath->mnt)) { in ovl_get_upper() 553 err = ovl_check_namelen(upperpath, ofs, ofs->config.upperdir); in ovl_get_upper() 557 err = ovl_setup_trap(sb, upperpath->dentry, &upper_layer->trap, in ovl_get_upper() 562 upper_mnt = clone_private_mount(upperpath); in ovl_get_upper() 565 pr_err("failed to clone upperpath\n"); in ovl_get_upper() 844 const struct path *upperpath, in ovl_get_workdir() 850 if (upperpath->mnt != workpath->mnt) { in ovl_get_workdir() 854 if (!ovl_workdir_ok(workpath->dentry, upperpath->dentry)) { in ovl_get_workdir() 878 struct ovl_entry *oe, const struct path *upperpath) in ovl_get_indexdir() 539 ovl_get_upper(struct super_block *sb, struct ovl_fs *ofs, struct ovl_layer *upper_layer, const struct path *upperpath) ovl_get_upper() argument 843 ovl_get_workdir(struct super_block *sb, struct ovl_fs *ofs, const struct path *upperpath, const struct path *workpath) ovl_get_workdir() argument 877 ovl_get_indexdir(struct super_block *sb, struct ovl_fs *ofs, struct ovl_entry *oe, const struct path *upperpath) ovl_get_indexdir() argument [all...] |
H A D | overlayfs.h | 279 struct path upperpath = { in ovl_getxattr_upper() local 284 return ovl_do_getxattr(&upperpath, ovl_xattr(ofs, ox), value, size); in ovl_getxattr_upper() 479 const struct path *upperpath); 484 struct path upperpath = { in ovl_check_origin_xattr() local 488 return ovl_path_check_origin_xattr(ofs, &upperpath); in ovl_check_origin_xattr() 537 struct path upperpath = { in ovl_is_impuredir() local 542 return ovl_path_check_dir_xattr(ofs, &upperpath, OVL_XATTR_IMPURE); in ovl_is_impuredir()
|
H A D | copy_up.c | 614 struct path upperpath = { .mnt = ovl_upper_mnt(ofs), .dentry = temp }; in ovl_copy_up_metadata() local 627 err = ovl_copy_fileattr(inode, &c->lowerpath, &upperpath); in ovl_copy_up_metadata() 990 struct path upperpath; in ovl_copy_up_meta_inode_data() local 995 ovl_path_upper(c->dentry, &upperpath); in ovl_copy_up_meta_inode_data() 996 if (WARN_ON(upperpath.dentry == NULL)) in ovl_copy_up_meta_inode_data() 1000 err = cap_size = ovl_getxattr_value(&upperpath, XATTR_NAME_CAPS, in ovl_copy_up_meta_inode_data() 1006 err = ovl_copy_up_data(c, &upperpath); in ovl_copy_up_meta_inode_data() 1015 err = ovl_do_setxattr(ofs, upperpath.dentry, XATTR_NAME_CAPS, in ovl_copy_up_meta_inode_data() 1022 err = ovl_removexattr(ofs, upperpath.dentry, OVL_XATTR_METACOPY); in ovl_copy_up_meta_inode_data()
|
H A D | inode.c | 700 struct path upperpath = { in ovl_update_time() local 705 if (upperpath.dentry) { in ovl_update_time() 706 touch_atime(&upperpath); in ovl_update_time() 707 inode->i_atime = d_inode(upperpath.dentry)->i_atime; in ovl_update_time() 775 struct path upperpath; in ovl_fileattr_set() local 786 ovl_path_real(dentry, &upperpath); in ovl_fileattr_set() 796 err = ovl_set_protattr(inode, upperpath.dentry, fa); in ovl_fileattr_set() 798 err = ovl_real_fileattr_set(&upperpath, fa); in ovl_fileattr_set()
|
H A D | dir.c | 369 struct path upperpath; in ovl_clear_empty() local 382 ovl_path_upper(dentry, &upperpath); in ovl_clear_empty() 383 err = vfs_getattr(&upperpath, &stat, in ovl_clear_empty() 391 upper = upperpath.dentry; in ovl_clear_empty() 400 err = ovl_copy_xattr(dentry->d_sb, &upperpath, opaquedir); in ovl_clear_empty() 837 * upperpath/lowerpath, which could only be done if we are the in ovl_remove_upper()
|
H A D | util.c | 684 const struct path *upperpath) in ovl_init_uuid_xattr() 690 res = ovl_path_getxattr(ofs, upperpath, OVL_XATTR_UUID, sb->s_uuid.b, in ovl_init_uuid_xattr() 705 res = ovl_path_getxattr(ofs, upperpath, OVL_XATTR_IMPURE, NULL, in ovl_init_uuid_xattr() 725 res = ovl_setxattr(ofs, upperpath->dentry, OVL_XATTR_UUID, sb->s_uuid.b, in ovl_init_uuid_xattr() 734 set ? "set" : "get", upperpath->dentry, res); in ovl_init_uuid_xattr() 683 ovl_init_uuid_xattr(struct super_block *sb, struct ovl_fs *ofs, const struct path *upperpath) ovl_init_uuid_xattr() argument
|
H A D | readdir.c | 877 struct path upperpath; in ovl_dir_real_file() local 879 ovl_path_upper(dentry, &upperpath); in ovl_dir_real_file() 880 realfile = ovl_dir_open_realfile(file, &upperpath); in ovl_dir_real_file()
|
H A D | namei.c | 1265 struct path upperpath = { in ovl_lookup() local 1275 upperredirect = ovl_get_redirect_xattr(ofs, &upperpath, 0); in ovl_lookup() 1281 err = ovl_check_metacopy_xattr(ofs, &upperpath, NULL); in ovl_lookup()
|