| /Linux-v5.15/fs/overlayfs/ |
| D | inode.c | 25 struct dentry *upperdentry; in ovl_setattr() local 48 upperdentry = ovl_dentry_upper(dentry); in ovl_setattr() 51 winode = d_inode(upperdentry); in ovl_setattr() 78 inode_lock(upperdentry->d_inode); in ovl_setattr() 80 err = notify_change(&init_user_ns, upperdentry, attr, NULL); in ovl_setattr() 83 ovl_copyattr(upperdentry->d_inode, dentry->d_inode); in ovl_setattr() 84 inode_unlock(upperdentry->d_inode); in ovl_setattr() 345 struct dentry *upperdentry = ovl_i_dentry_upper(inode); in ovl_xattr_set() local 346 struct dentry *realdentry = upperdentry ?: ovl_dentry_lower(dentry); in ovl_xattr_set() 353 if (!value && !upperdentry) { in ovl_xattr_set() [all …]
|
| D | namei.c | 348 struct dentry *upperdentry, struct ovl_path **stackp) in ovl_check_origin_fh() argument 373 if (upperdentry && !ovl_is_whiteout(upperdentry) && in ovl_check_origin_fh() 374 inode_wrong_type(d_inode(upperdentry), d_inode(origin)->i_mode)) in ovl_check_origin_fh() 392 upperdentry, d_inode(upperdentry)->i_mode & S_IFMT, in ovl_check_origin_fh() 398 static int ovl_check_origin(struct ovl_fs *ofs, struct dentry *upperdentry, in ovl_check_origin() argument 401 struct ovl_fh *fh = ovl_get_fh(ofs, upperdentry, OVL_XATTR_ORIGIN); in ovl_check_origin() 407 err = ovl_check_origin_fh(ofs, fh, false, upperdentry, stackp); in ovl_check_origin() 831 struct dentry *upperdir, *upperdentry = NULL; in ovl_lookup() local 859 err = ovl_lookup_layer(upperdir, &d, &upperdentry, true); in ovl_lookup() 863 if (upperdentry && upperdentry->d_flags & DCACHE_OP_REAL) { in ovl_lookup() [all …]
|
| D | util.c | 103 void ovl_dentry_update_reval(struct dentry *dentry, struct dentry *upperdentry, in ovl_dentry_update_reval() argument 109 if (upperdentry) in ovl_dentry_update_reval() 110 flags |= upperdentry->d_flags; in ovl_dentry_update_reval() 241 struct dentry *upperdentry = ovl_i_dentry_upper(inode); in ovl_inode_upper() local 243 return upperdentry ? d_inode(upperdentry) : NULL; in ovl_inode_upper() 409 void ovl_inode_update(struct inode *inode, struct dentry *upperdentry) in ovl_inode_update() argument 411 struct inode *upperinode = d_inode(upperdentry); in ovl_inode_update() 419 OVL_I(inode)->__upperdentry = upperdentry; in ovl_inode_update() 606 int ovl_check_setxattr(struct ovl_fs *ofs, struct dentry *upperdentry, in ovl_check_setxattr() argument 615 err = ovl_do_setxattr(ofs, upperdentry, ox, value, size); in ovl_check_setxattr() [all …]
|
| D | overlayfs.h | 289 void ovl_dentry_update_reval(struct dentry *dentry, struct dentry *upperdentry, 325 void ovl_inode_update(struct inode *inode, struct dentry *upperdentry); 336 int ovl_check_setxattr(struct ovl_fs *ofs, struct dentry *upperdentry, 339 int ovl_set_impure(struct dentry *dentry, struct dentry *upperdentry); 431 struct dentry *upperdentry, struct ovl_path **stackp); 488 struct dentry *upperdentry, 507 struct dentry *upperdentry; member
|
| D | copy_up.c | 272 static int ovl_set_size(struct dentry *upperdentry, struct kstat *stat) in ovl_set_size() argument 279 return notify_change(&init_user_ns, upperdentry, &attr, NULL); in ovl_set_size() 282 static int ovl_set_timestamps(struct dentry *upperdentry, struct kstat *stat) in ovl_set_timestamps() argument 291 return notify_change(&init_user_ns, upperdentry, &attr, NULL); in ovl_set_timestamps() 294 int ovl_set_attr(struct dentry *upperdentry, struct kstat *stat) in ovl_set_attr() argument 303 err = notify_change(&init_user_ns, upperdentry, &attr, NULL); in ovl_set_attr() 311 err = notify_change(&init_user_ns, upperdentry, &attr, NULL); in ovl_set_attr() 314 ovl_set_timestamps(upperdentry, stat); in ovl_set_attr()
|
| D | dir.c | 246 static int ovl_set_opaque(struct dentry *dentry, struct dentry *upperdentry) in ovl_set_opaque() argument 253 return ovl_set_opaque_xerr(dentry, upperdentry, -EIO); in ovl_set_opaque() 265 .upperdentry = newdentry, in ovl_instantiate() 436 static int ovl_set_upper_acl(struct dentry *upperdentry, const char *name, in ovl_set_upper_acl() argument 455 err = vfs_setxattr(&init_user_ns, upperdentry, name, buffer, size, XATTR_CREATE); in ovl_set_upper_acl() 884 struct dentry *upperdentry; in ovl_do_remove() local 927 upperdentry = ovl_dentry_upper(dentry); in ovl_do_remove() 928 if (upperdentry) in ovl_do_remove() 929 ovl_copyattr(d_inode(upperdentry), d_inode(dentry)); in ovl_do_remove()
|
| D | super.c | 1923 struct dentry *upperdentry, in ovl_get_root() argument 1931 .upperdentry = upperdentry, in ovl_get_root() 1941 if (upperdentry) { in ovl_get_root() 1943 ino = d_inode(upperdentry)->i_ino; in ovl_get_root() 1946 if (ovl_is_impuredir(sb, upperdentry)) in ovl_get_root() 1955 ovl_dentry_update_reval(root, upperdentry, DCACHE_OP_WEAK_REVALIDATE); in ovl_get_root()
|
| D | export.c | 300 oip.upperdentry = dget(upper); in ovl_obtain_alias()
|