| /linux-6.15/fs/overlayfs/ |
| H A D | dir.c | 73 if (!ofs->whiteout) { in ovl_whiteout() 75 if (IS_ERR(whiteout)) in ovl_whiteout() 80 dput(whiteout); in ovl_whiteout() 84 ofs->whiteout = whiteout; in ovl_whiteout() 92 err = ovl_do_link(ofs, ofs->whiteout, wdir, whiteout); in ovl_whiteout() 101 dput(whiteout); in ovl_whiteout() 103 whiteout = ofs->whiteout; in ovl_whiteout() 104 ofs->whiteout = NULL; in ovl_whiteout() 106 return whiteout; in ovl_whiteout() 120 if (IS_ERR(whiteout)) in ovl_cleanup_and_whiteout() [all …]
|
| H A D | super.c | 563 struct dentry *whiteout; in ovl_check_rename_whiteout() local 590 whiteout = ovl_lookup_upper(ofs, name.name.name, workdir, name.name.len); in ovl_check_rename_whiteout() 591 err = PTR_ERR(whiteout); in ovl_check_rename_whiteout() 592 if (IS_ERR(whiteout)) in ovl_check_rename_whiteout() 595 err = ovl_upper_is_whiteout(ofs, whiteout); in ovl_check_rename_whiteout() 599 ovl_cleanup(ofs, dir, whiteout); in ovl_check_rename_whiteout() 600 dput(whiteout); in ovl_check_rename_whiteout()
|
| H A D | ovl_entry.h | 89 struct dentry *whiteout; member
|
| H A D | params.c | 815 dput(ofs->whiteout); in ovl_free_fs()
|
| /linux-6.15/fs/f2fs/ |
| H A D | namei.c | 884 true, whiteout, fname); in f2fs_create_whiteout() 901 struct inode *whiteout = NULL; in f2fs_rename() local 1031 if (!old_is_dir || whiteout) in f2fs_rename() 1044 if (whiteout) { in f2fs_rename() 1045 set_inode_flag(whiteout, FI_INC_LINK); in f2fs_rename() 1046 err = f2fs_add_link(old_dentry, whiteout); in f2fs_rename() 1050 spin_lock(&whiteout->i_lock); in f2fs_rename() 1051 whiteout->i_state &= ~I_LINKABLE; in f2fs_rename() 1052 spin_unlock(&whiteout->i_lock); in f2fs_rename() 1054 iput(whiteout); in f2fs_rename() [all …]
|
| /linux-6.15/fs/ubifs/ |
| H A D | dir.c | 1328 struct inode *whiteout = NULL; in do_rename() local 1414 if (IS_ERR(whiteout)) { in do_rename() 1415 err = PTR_ERR(whiteout); in do_rename() 1435 iput(whiteout); in do_rename() 1438 set_nlink(whiteout, 1); in do_rename() 1517 new_inode, &new_nm, whiteout, sync, !!whiteout); in do_rename() 1524 if (whiteout) { in do_rename() 1526 iput(whiteout); in do_rename() 1568 if (whiteout) { in do_rename() 1570 set_nlink(whiteout, 0); in do_rename() [all …]
|
| H A D | journal.c | 1393 if (whiteout) { in ubifs_jnl_rename() 1394 whiteout_ui = ubifs_inode(whiteout); in ubifs_jnl_rename() 1396 ubifs_assert(c, whiteout->i_nlink == 1); in ubifs_jnl_rename() 1440 if (whiteout) { in ubifs_jnl_rename() 1468 if (whiteout) { in ubifs_jnl_rename() 1469 pack_inode(c, p, whiteout, 0); in ubifs_jnl_rename() 1516 if (whiteout) in ubifs_jnl_rename() 1518 whiteout->i_ino); in ubifs_jnl_rename() 1530 if (whiteout) { in ubifs_jnl_rename() 1555 if (whiteout) { in ubifs_jnl_rename() [all …]
|
| H A D | ubifs.h | 1805 const struct inode *whiteout, int sync, int delete_orphan);
|
| /linux-6.15/fs/bcachefs/ |
| H A D | btree_journal_iter.c | 346 struct bkey_i whiteout; in bch2_journal_key_delete() local 348 bkey_init(&whiteout.k); in bch2_journal_key_delete() 349 whiteout.k.p = pos; in bch2_journal_key_delete() 351 return bch2_journal_key_insert(c, id, level, &whiteout); in bch2_journal_key_delete()
|
| H A D | bcachefs_format.h | 392 x(whiteout, 1, 0) \
|
| H A D | fs.c | 930 bool whiteout = !!(flags & RENAME_WHITEOUT); in bch2_rename2() local 988 if (whiteout) { in bch2_rename2()
|
| /linux-6.15/fs/ext4/ |
| H A D | namei.c | 3803 struct inode *whiteout = NULL; in ext4_rename() local 3877 if (IS_ERR(whiteout)) { in ext4_rename() 3878 retval = PTR_ERR(whiteout); in ext4_rename() 3911 if (whiteout) { in ext4_rename() 3948 if (!whiteout) { in ext4_rename() 4002 if (whiteout) in ext4_rename() 4018 if (whiteout) { in ext4_rename() 4022 drop_nlink(whiteout); in ext4_rename() 4024 ext4_orphan_add(handle, whiteout); in ext4_rename() 4026 unlock_new_inode(whiteout); in ext4_rename() [all …]
|
| /linux-6.15/Documentation/filesystems/ |
| H A 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" 576 A lower dir with a regular whiteout will always be handled by the overlayfs 577 mount, so to support storing an effective whiteout file in an overlayfs mount an 578 alternative form of whiteout is supported. This form is a regular, zero-size 579 file with the "overlay.whiteout" xattr set, inside a directory with the [all …]
|
| /linux-6.15/mm/ |
| H A D | shmem.c | 4003 struct dentry *whiteout; in shmem_whiteout() local 4006 whiteout = d_alloc(old_dentry->d_parent, &old_dentry->d_name); in shmem_whiteout() 4007 if (!whiteout) in shmem_whiteout() 4010 error = shmem_mknod(idmap, old_dir, whiteout, in shmem_whiteout() 4012 dput(whiteout); in shmem_whiteout() 4023 d_rehash(whiteout); in shmem_whiteout()
|