/linux-6.12.1/fs/overlayfs/ |
D | dir.c | 69 struct dentry *whiteout; in ovl_whiteout() local 73 if (!ofs->whiteout) { in ovl_whiteout() 74 whiteout = ovl_lookup_temp(ofs, workdir); in ovl_whiteout() 75 if (IS_ERR(whiteout)) in ovl_whiteout() 78 err = ovl_do_whiteout(ofs, wdir, whiteout); in ovl_whiteout() 80 dput(whiteout); in ovl_whiteout() 81 whiteout = ERR_PTR(err); in ovl_whiteout() 84 ofs->whiteout = whiteout; in ovl_whiteout() 88 whiteout = ovl_lookup_temp(ofs, workdir); in ovl_whiteout() 89 if (IS_ERR(whiteout)) in ovl_whiteout() [all …]
|
D | super.c | 544 struct dentry *whiteout; in ovl_check_rename_whiteout() local 571 whiteout = ovl_lookup_upper(ofs, name.name.name, workdir, name.name.len); in ovl_check_rename_whiteout() 572 err = PTR_ERR(whiteout); in ovl_check_rename_whiteout() 573 if (IS_ERR(whiteout)) in ovl_check_rename_whiteout() 576 err = ovl_upper_is_whiteout(ofs, whiteout); in ovl_check_rename_whiteout() 580 ovl_cleanup(ofs, dir, whiteout); in ovl_check_rename_whiteout() 581 dput(whiteout); in ovl_check_rename_whiteout()
|
D | ovl_entry.h | 89 struct dentry *whiteout; member
|
D | params.c | 724 dput(ofs->whiteout); in ovl_free_fs()
|
/linux-6.12.1/fs/f2fs/ |
D | namei.c | 871 struct inode *dir, struct inode **whiteout, in f2fs_create_whiteout() argument 875 true, whiteout, fname); in f2fs_create_whiteout() 892 struct inode *whiteout = NULL; in f2fs_rename() local 933 err = f2fs_create_whiteout(idmap, old_dir, &whiteout, &fname); in f2fs_rename() 1022 if (!old_is_dir || whiteout) in f2fs_rename() 1035 if (whiteout) { in f2fs_rename() 1036 set_inode_flag(whiteout, FI_INC_LINK); in f2fs_rename() 1037 err = f2fs_add_link(old_dentry, whiteout); in f2fs_rename() 1041 spin_lock(&whiteout->i_lock); in f2fs_rename() 1042 whiteout->i_state &= ~I_LINKABLE; in f2fs_rename() [all …]
|
/linux-6.12.1/fs/ubifs/ |
D | dir.c | 1328 struct inode *whiteout = NULL; in do_rename() local 1413 whiteout = create_whiteout(old_dir, old_dentry); in do_rename() 1414 if (IS_ERR(whiteout)) { in do_rename() 1415 err = PTR_ERR(whiteout); in do_rename() 1420 whiteout_ui = ubifs_inode(whiteout); in do_rename() 1435 iput(whiteout); in do_rename() 1438 set_nlink(whiteout, 1); in do_rename() 1444 lock_4_inodes(old_dir, new_dir, new_inode, whiteout); in do_rename() 1517 new_inode, &new_nm, whiteout, sync, !!whiteout); in do_rename() 1521 unlock_4_inodes(old_dir, new_dir, new_inode, whiteout); in do_rename() [all …]
|
D | journal.c | 1356 const struct inode *whiteout, int sync, int delete_orphan) in ubifs_jnl_rename() argument 1389 if (whiteout) { in ubifs_jnl_rename() 1390 whiteout_ui = ubifs_inode(whiteout); in ubifs_jnl_rename() 1392 ubifs_assert(c, whiteout->i_nlink == 1); in ubifs_jnl_rename() 1436 if (whiteout) { in ubifs_jnl_rename() 1437 dent2->inum = cpu_to_le64(whiteout->i_ino); in ubifs_jnl_rename() 1438 dent2->type = get_dent_type(whiteout->i_mode); in ubifs_jnl_rename() 1464 if (whiteout) { in ubifs_jnl_rename() 1465 pack_inode(c, p, whiteout, 0); in ubifs_jnl_rename() 1512 if (whiteout) in ubifs_jnl_rename() [all …]
|
D | ubifs.h | 1813 const struct inode *whiteout, int sync, int delete_orphan);
|
/linux-6.12.1/fs/bcachefs/ |
D | btree_journal_iter.c | 269 struct bkey_i whiteout; in bch2_journal_key_delete() local 271 bkey_init(&whiteout.k); in bch2_journal_key_delete() 272 whiteout.k.p = pos; in bch2_journal_key_delete() 274 return bch2_journal_key_insert(c, id, level, &whiteout); in bch2_journal_key_delete()
|
D | bcachefs_format.h | 388 x(whiteout, 1) \
|
D | fs.c | 848 bool whiteout = !!(flags & RENAME_WHITEOUT); in bch2_rename2() local 906 if (whiteout) { in bch2_rename2()
|
/linux-6.12.1/fs/ext4/ |
D | namei.c | 3808 struct inode *whiteout = NULL; in ext4_rename() local 3881 whiteout = ext4_whiteout_for_rename(idmap, &old, credits, &handle); in ext4_rename() 3882 if (IS_ERR(whiteout)) { in ext4_rename() 3883 retval = PTR_ERR(whiteout); in ext4_rename() 3916 if (whiteout) { in ext4_rename() 3921 retval = ext4_setent(handle, &old, whiteout->i_ino, in ext4_rename() 3925 retval = ext4_mark_inode_dirty(handle, whiteout); in ext4_rename() 3953 if (!whiteout) { in ext4_rename() 4007 if (whiteout) in ext4_rename() 4008 __ext4_fc_track_create(handle, whiteout, in ext4_rename() [all …]
|
/linux-6.12.1/Documentation/filesystems/ |
D | overlayfs.rst | 148 A whiteout is created as a character device with 0/0 device number or 149 as a zero-size regular file with the xattr "trusted.overlay.whiteout". 151 When a whiteout is found in the upper level of a merged directory, any 152 matching name in the lower level is ignored, and the whiteout itself 161 "trusted.overlay.whiteout", should be additionally marked by setting the xattr 163 This is needed to avoid the overhead of checking the "trusted.overlay.whiteout" 545 A lower dir with a regular whiteout will always be handled by the overlayfs 546 mount, so to support storing an effective whiteout file in an overlayfs mount an 547 alternative form of whiteout is supported. This form is a regular, zero-size 548 file with the "overlay.whiteout" xattr set, inside a directory with the [all …]
|
/linux-6.12.1/mm/ |
D | shmem.c | 3711 struct dentry *whiteout; in shmem_whiteout() local 3714 whiteout = d_alloc(old_dentry->d_parent, &old_dentry->d_name); in shmem_whiteout() 3715 if (!whiteout) in shmem_whiteout() 3718 error = shmem_mknod(idmap, old_dir, whiteout, in shmem_whiteout() 3720 dput(whiteout); in shmem_whiteout() 3731 d_rehash(whiteout); in shmem_whiteout()
|