/kernel/linux/linux-5.10/fs/overlayfs/ |
H A D | inode.c | 21 struct dentry *upperdentry; in ovl_setattr() local 50 upperdentry = ovl_dentry_upper(dentry); in ovl_setattr() 53 winode = d_inode(upperdentry); in ovl_setattr() 80 inode_lock(upperdentry->d_inode); in ovl_setattr() 82 err = notify_change(upperdentry, attr, NULL); in ovl_setattr() 85 ovl_copyattr(upperdentry->d_inode, dentry->d_inode); in ovl_setattr() 86 inode_unlock(upperdentry->d_inode); in ovl_setattr() 340 struct dentry *upperdentry = ovl_i_dentry_upper(inode); in ovl_xattr_set() local 341 struct dentry *realdentry = upperdentry ?: ovl_dentry_lower(dentry); in ovl_xattr_set() 348 if (!value && !upperdentry) { in ovl_xattr_set() 744 ovl_get_nlink(struct ovl_fs *ofs, struct dentry *lowerdentry, struct dentry *upperdentry, unsigned int fallback) ovl_get_nlink() argument 806 ovl_verify_inode(struct inode *inode, struct dentry *lowerdentry, struct dentry *upperdentry, bool strict) ovl_verify_inode() argument 956 struct dentry *upperdentry = oip->upperdentry; ovl_get_inode() local [all...] |
H A D | namei.c | 343 struct dentry *upperdentry, struct ovl_path **stackp) in ovl_check_origin_fh() 368 if (upperdentry && !ovl_is_whiteout(upperdentry) && in ovl_check_origin_fh() 369 inode_wrong_type(d_inode(upperdentry), d_inode(origin)->i_mode)) in ovl_check_origin_fh() 387 upperdentry, d_inode(upperdentry)->i_mode & S_IFMT, in ovl_check_origin_fh() 393 static int ovl_check_origin(struct ovl_fs *ofs, struct dentry *upperdentry, in ovl_check_origin() argument 396 struct ovl_fh *fh = ovl_get_fh(ofs, upperdentry, OVL_XATTR_ORIGIN); in ovl_check_origin() 402 err = ovl_check_origin_fh(ofs, fh, false, upperdentry, stackp); in ovl_check_origin() 825 struct dentry *upperdir, *upperdentry in ovl_lookup() local 342 ovl_check_origin_fh(struct ovl_fs *ofs, struct ovl_fh *fh, bool connected, struct dentry *upperdentry, struct ovl_path **stackp) ovl_check_origin_fh() argument [all...] |
H A D | util.c | 110 void ovl_dentry_init_reval(struct dentry *dentry, struct dentry *upperdentry) in ovl_dentry_init_reval() argument 112 return ovl_dentry_init_flags(dentry, upperdentry, OVL_D_REVALIDATE); in ovl_dentry_init_reval() 115 void ovl_dentry_init_flags(struct dentry *dentry, struct dentry *upperdentry, in ovl_dentry_init_flags() argument 121 if (upperdentry) in ovl_dentry_init_flags() 122 flags |= upperdentry->d_flags; in ovl_dentry_init_flags() 253 struct dentry *upperdentry = ovl_i_dentry_upper(inode); in ovl_inode_upper() local 255 return upperdentry ? d_inode(upperdentry) : NULL; in ovl_inode_upper() 421 void ovl_inode_update(struct inode *inode, struct dentry *upperdentry) in ovl_inode_update() argument 423 struct inode *upperinode = d_inode(upperdentry); in ovl_inode_update() 615 ovl_check_setxattr(struct dentry *dentry, struct dentry *upperdentry, enum ovl_xattr ox, const void *value, size_t size, int xerr) ovl_check_setxattr() argument 636 ovl_set_impure(struct dentry *dentry, struct dentry *upperdentry) ovl_set_impure() argument 725 struct dentry *upperdentry = ovl_dentry_upper(dentry); ovl_cleanup_index() local [all...] |
H A D | overlayfs.h | 261 void ovl_dentry_init_reval(struct dentry *dentry, struct dentry *upperdentry); 262 void ovl_dentry_init_flags(struct dentry *dentry, struct dentry *upperdentry, 298 void ovl_inode_update(struct inode *inode, struct dentry *upperdentry); 309 int ovl_check_setxattr(struct dentry *dentry, struct dentry *upperdentry, 312 int ovl_set_impure(struct dentry *dentry, struct dentry *upperdentry); 404 struct dentry *upperdentry, struct ovl_path **stackp); 460 struct dentry *upperdentry, 477 struct dentry *upperdentry; member
|
H A D | copy_up.c | 232 static int ovl_set_size(struct dentry *upperdentry, struct kstat *stat) in ovl_set_size() argument 239 return notify_change(upperdentry, &attr, NULL); in ovl_set_size() 242 static int ovl_set_timestamps(struct dentry *upperdentry, struct kstat *stat) in ovl_set_timestamps() argument 251 return notify_change(upperdentry, &attr, NULL); in ovl_set_timestamps() 254 int ovl_set_attr(struct dentry *upperdentry, struct kstat *stat) in ovl_set_attr() argument 263 err = notify_change(upperdentry, &attr, NULL); in ovl_set_attr() 271 err = notify_change(upperdentry, &attr, NULL); in ovl_set_attr() 274 ovl_set_timestamps(upperdentry, stat); in ovl_set_attr() 318 * it to upperdentry or to lowerstack is by checking this flag. in ovl_encode_real_fh()
|
H A D | dir.c | 244 static int ovl_set_opaque(struct dentry *dentry, struct dentry *upperdentry) in ovl_set_opaque() argument 251 return ovl_set_opaque_xerr(dentry, upperdentry, -EIO); in ovl_set_opaque() 263 .upperdentry = newdentry, in ovl_instantiate() 275 * with the same real upperdentry that is not the inode we in ovl_instantiate() 431 static int ovl_set_upper_acl(struct dentry *upperdentry, const char *name, in ovl_set_upper_acl() argument 450 err = vfs_setxattr(upperdentry, name, buffer, size, XATTR_CREATE); in ovl_set_upper_acl() 892 struct dentry *upperdentry; in ovl_do_remove() local 935 upperdentry = ovl_dentry_upper(dentry); in ovl_do_remove() 936 if (upperdentry) in ovl_do_remove() 937 ovl_copyattr(d_inode(upperdentry), d_inod in ovl_do_remove() [all...] |
H A D | super.c | 1839 struct dentry *upperdentry, in ovl_get_root() 1847 .upperdentry = upperdentry, in ovl_get_root() 1857 if (upperdentry) { in ovl_get_root() 1859 ino = d_inode(upperdentry)->i_ino; in ovl_get_root() 1862 if (ovl_is_impuredir(sb, upperdentry)) in ovl_get_root() 1871 ovl_dentry_init_flags(root, upperdentry, DCACHE_OP_WEAK_REVALIDATE); in ovl_get_root() 1838 ovl_get_root(struct super_block *sb, struct dentry *upperdentry, struct ovl_entry *oe) ovl_get_root() argument
|
H A D | export.c | 298 oip.upperdentry = dget(upper); in ovl_obtain_alias()
|
/kernel/linux/linux-6.6/fs/overlayfs/ |
H A D | inode.c | 28 struct dentry *upperdentry; in ovl_setattr() local 51 upperdentry = ovl_dentry_upper(dentry); in ovl_setattr() 54 winode = d_inode(upperdentry); in ovl_setattr() 81 inode_lock(upperdentry->d_inode); in ovl_setattr() 83 err = ovl_do_notify_change(ofs, upperdentry, attr); in ovl_setattr() 87 inode_unlock(upperdentry->d_inode); in ovl_setattr() 359 struct dentry *upperdentry = ovl_i_dentry_upper(inode); in ovl_xattr_set() local 360 struct dentry *realdentry = upperdentry ?: ovl_dentry_lower(dentry); in ovl_xattr_set() 368 if (!value && !upperdentry) { in ovl_xattr_set() 377 if (!upperdentry) { in ovl_xattr_set() 611 struct dentry *upperdentry = ovl_dentry_upper(dentry); ovl_set_or_remove_acl() local 1122 ovl_get_nlink(struct ovl_fs *ofs, struct dentry *lowerdentry, struct dentry *upperdentry, unsigned int fallback) ovl_get_nlink() argument 1184 ovl_verify_inode(struct inode *inode, struct dentry *lowerdentry, struct dentry *upperdentry, bool strict) ovl_verify_inode() argument 1334 struct dentry *upperdentry = oip->upperdentry; ovl_get_inode() local [all...] |
H A D | namei.c | 115 static struct ovl_fh *ovl_get_fh(struct ovl_fs *ofs, struct dentry *upperdentry, in ovl_get_fh() argument 121 res = ovl_getxattr_upper(ofs, upperdentry, ox, NULL, 0); in ovl_get_fh() 135 res = ovl_getxattr_upper(ofs, upperdentry, ox, fh->buf, res); in ovl_get_fh() 416 struct dentry *upperdentry, struct ovl_path **stackp) in ovl_check_origin_fh() 441 if (upperdentry && !ovl_is_whiteout(upperdentry) && in ovl_check_origin_fh() 442 inode_wrong_type(d_inode(upperdentry), d_inode(origin)->i_mode)) in ovl_check_origin_fh() 460 upperdentry, d_inode(upperdentry)->i_mode & S_IFMT, in ovl_check_origin_fh() 466 static int ovl_check_origin(struct ovl_fs *ofs, struct dentry *upperdentry, in ovl_check_origin() argument 415 ovl_check_origin_fh(struct ovl_fs *ofs, struct ovl_fh *fh, bool connected, struct dentry *upperdentry, struct ovl_path **stackp) ovl_check_origin_fh() argument 1009 struct dentry *upperdir, *upperdentry = NULL; ovl_lookup() local [all...] |
H A D | overlayfs.h | 185 struct dentry *upperdentry, in ovl_do_notify_change() 188 return notify_change(ovl_upper_mnt_idmap(ofs), upperdentry, attr, NULL); in ovl_do_notify_change() 275 struct dentry *upperdentry, in ovl_getxattr_upper() 280 .dentry = upperdentry, in ovl_getxattr_upper() 425 void ovl_dentry_init_reval(struct dentry *dentry, struct dentry *upperdentry, 427 void ovl_dentry_init_flags(struct dentry *dentry, struct dentry *upperdentry, 467 void ovl_inode_update(struct inode *inode, struct dentry *upperdentry); 482 struct dentry *upperdentry) in ovl_check_origin_xattr() 485 .dentry = upperdentry, in ovl_check_origin_xattr() 491 int ovl_check_setxattr(struct ovl_fs *ofs, struct dentry *upperdentry, 184 ovl_do_notify_change(struct ovl_fs *ofs, struct dentry *upperdentry, struct iattr *attr) ovl_do_notify_change() argument 274 ovl_getxattr_upper(struct ovl_fs *ofs, struct dentry *upperdentry, enum ovl_xattr ox, void *value, size_t size) ovl_getxattr_upper() argument 481 ovl_check_origin_xattr(struct ovl_fs *ofs, struct dentry *upperdentry) ovl_check_origin_xattr() argument 533 ovl_is_impuredir(struct super_block *sb, struct dentry *upperdentry) ovl_is_impuredir() argument 742 struct dentry *upperdentry; global() member [all...] |
H A D | util.c | 149 void ovl_dentry_init_reval(struct dentry *dentry, struct dentry *upperdentry, in ovl_dentry_init_reval() argument 152 return ovl_dentry_init_flags(dentry, upperdentry, oe, OVL_D_REVALIDATE); in ovl_dentry_init_reval() 155 void ovl_dentry_init_flags(struct dentry *dentry, struct dentry *upperdentry, in ovl_dentry_init_flags() argument 161 if (upperdentry) in ovl_dentry_init_flags() 162 flags |= upperdentry->d_flags; in ovl_dentry_init_flags() 352 struct dentry *upperdentry = ovl_i_dentry_upper(inode); in ovl_inode_upper() local 354 return upperdentry ? d_inode(upperdentry) : NULL; in ovl_inode_upper() 523 void ovl_inode_update(struct inode *inode, struct dentry *upperdentry) in ovl_inode_update() argument 525 struct inode *upperinode = d_inode(upperdentry); in ovl_inode_update() 780 ovl_check_setxattr(struct ovl_fs *ofs, struct dentry *upperdentry, enum ovl_xattr ox, const void *value, size_t size, int xerr) ovl_check_setxattr() argument 800 ovl_set_impure(struct dentry *dentry, struct dentry *upperdentry) ovl_set_impure() argument 972 struct dentry *upperdentry = ovl_dentry_upper(dentry); ovl_cleanup_index() local [all...] |
H A D | copy_up.c | 325 struct dentry *upperdentry, struct kstat *stat) in ovl_set_size() 332 return ovl_do_notify_change(ofs, upperdentry, &attr); in ovl_set_size() 335 static int ovl_set_timestamps(struct ovl_fs *ofs, struct dentry *upperdentry, in ovl_set_timestamps() argument 345 return ovl_do_notify_change(ofs, upperdentry, &attr); in ovl_set_timestamps() 348 int ovl_set_attr(struct ovl_fs *ofs, struct dentry *upperdentry, in ovl_set_attr() argument 358 err = ovl_do_notify_change(ofs, upperdentry, &attr); in ovl_set_attr() 366 err = ovl_do_notify_change(ofs, upperdentry, &attr); in ovl_set_attr() 369 ovl_set_timestamps(ofs, upperdentry, stat); in ovl_set_attr() 414 * it to upperdentry or to lowerstack is by checking this flag. in ovl_encode_real_fh() 324 ovl_set_size(struct ovl_fs *ofs, struct dentry *upperdentry, struct kstat *stat) ovl_set_size() argument
|
H A D | super.c | 1295 struct dentry *upperdentry, in ovl_get_root() 1303 .upperdentry = upperdentry, in ovl_get_root() 1311 if (upperdentry) { in ovl_get_root() 1313 ino = d_inode(upperdentry)->i_ino; in ovl_get_root() 1316 if (ovl_is_impuredir(sb, upperdentry)) in ovl_get_root() 1325 ovl_dentry_init_flags(root, upperdentry, oe, DCACHE_OP_WEAK_REVALIDATE); in ovl_get_root() 1326 /* root keeps a reference of upperdentry */ in ovl_get_root() 1327 dget(upperdentry); in ovl_get_root() 1294 ovl_get_root(struct super_block *sb, struct dentry *upperdentry, struct ovl_entry *oe) ovl_get_root() argument
|
H A D | dir.c | 247 static int ovl_set_opaque(struct dentry *dentry, struct dentry *upperdentry) in ovl_set_opaque() argument 254 return ovl_set_opaque_xerr(dentry, upperdentry, -EIO); in ovl_set_opaque() 266 .upperdentry = newdentry, in ovl_instantiate() 278 * with the same real upperdentry that is not the inode we in ovl_instantiate() 436 static int ovl_set_upper_acl(struct ovl_fs *ofs, struct dentry *upperdentry, in ovl_set_upper_acl() argument 442 return ovl_do_set_acl(ofs, upperdentry, acl_name, acl); in ovl_set_upper_acl()
|
H A D | export.c | 312 oip.upperdentry = dget(upper); in ovl_obtain_alias()
|