linux-stable/fs/btrfs
Jeff Layton a314bb665a btrfs: update target inode's ctime on unlink
[ Upstream commit 3bc2ac2f8f ]

Unlink changes the link count on the target inode. POSIX mandates that
the ctime must also change when this occurs.

According to https://pubs.opengroup.org/onlinepubs/9699919799/functions/unlink.html:

"Upon successful completion, unlink() shall mark for update the last data
 modification and last file status change timestamps of the parent
 directory. Also, if the file's link count is not 0, the last file status
 change timestamp of the file shall be marked for update."

Signed-off-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: David Sterba <dsterba@suse.com>
[ add link to the opengroup docs ]
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-09-18 19:25:10 +02:00
..
tests btrfs: use btrfs_is_testing() everywhere 2024-05-07 21:31:07 +02:00
accessors.c btrfs: remove unused included headers 2024-03-04 16:24:46 +01:00
accessors.h btrfs: move balance args conversion helpers to volumes.c 2024-03-04 16:24:52 +01:00
acl.c btrfs: remove unused included headers 2024-03-04 16:24:46 +01:00
acl.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
async-thread.c btrfs: remove unused included headers 2024-03-04 16:24:46 +01:00
async-thread.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
backref.c btrfs: change root->root_key.objectid to btrfs_root_id() 2024-05-07 21:31:06 +02:00
backref.h btrfs: uninline some static inline helpers from backref.h 2024-03-04 16:24:53 +01:00
bio.c btrfs: fix a use-after-free when hitting errors inside btrfs_submit_chunk() 2024-09-04 13:29:56 +02:00
bio.h btrfs: add forward declarations and headers, part 2 2024-03-04 16:24:49 +01:00
block-group.c btrfs: zoned: fix zone_unusable accounting on making block group read-write again 2024-08-11 12:57:57 +02:00
block-group.h btrfs: mark btrfs_put_caching_control() static 2024-03-05 17:13:23 +01:00
block-rsv.c btrfs: change root->root_key.objectid to btrfs_root_id() 2024-05-07 21:31:06 +02:00
block-rsv.h btrfs: add forward declarations and headers, part 2 2024-03-04 16:24:49 +01:00
btrfs_inode.h btrfs: ensure fast fsync waits for ordered extents after a write failure 2024-05-28 16:35:12 +02:00
compression.c btrfs: fix extent map use-after-free when adding pages to compressed bio 2024-08-03 09:00:31 +02:00
compression.h btrfs: compression: migrate compression/decompression paths to folios 2024-05-07 21:31:02 +02:00
ctree.c btrfs: replace BUG_ON() with error handling at update_ref_for_cow() 2024-09-12 11:13:02 +02:00
ctree.h btrfs: fix race between direct IO write and fsync when using same fd 2024-09-12 11:13:13 +02:00
defrag.c btrfs: fix data race when accessing the last_trans field of a root 2024-08-14 15:34:11 +02:00
defrag.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
delalloc-space.c btrfs: remove unused included headers 2024-03-04 16:24:46 +01:00
delalloc-space.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
delayed-inode.c btrfs: change root->root_key.objectid to btrfs_root_id() 2024-05-07 21:31:06 +02:00
delayed-inode.h btrfs: uninline btrfs_init_delayed_root() 2024-03-04 16:24:53 +01:00
delayed-ref.c btrfs: check delayed refs when we're checking if a ref exists 2024-08-29 17:35:42 +02:00
delayed-ref.h btrfs: check delayed refs when we're checking if a ref exists 2024-08-29 17:35:42 +02:00
dev-replace.c set_blocksize(): switch to passing struct file * 2024-05-02 17:39:44 -04:00
dev-replace.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
dir-item.c btrfs: abort transaction on generation mismatch when marking eb as dirty 2023-10-12 16:44:07 +02:00
dir-item.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
discard.c
discard.h
disk-io.c btrfs: fix data race when accessing the last_trans field of a root 2024-08-14 15:34:11 +02:00
disk-io.h btrfs: add forward declarations and headers, part 2 2024-03-04 16:24:49 +01:00
export.c btrfs: change root->root_key.objectid to btrfs_root_id() 2024-05-07 21:31:06 +02:00
export.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
extent-io-tree.c btrfs: rename err to ret in convert_extent_bit() 2024-05-07 21:31:01 +02:00
extent-io-tree.h btrfs: add forward declarations and headers, part 2 2024-03-04 16:24:49 +01:00
extent-tree.c btrfs: don't BUG_ON() when 0 reference count at btrfs_lookup_extent_info() 2024-09-12 11:13:02 +02:00
extent-tree.h btrfs: do not BUG_ON() when freeing tree block after error 2024-08-14 15:34:11 +02:00
extent_io.c btrfs: fix invalid mapping of extent xarray state 2024-08-29 17:35:45 +02:00
extent_io.h btrfs: add a cached state to extent_clear_unlock_delalloc 2024-05-07 21:31:10 +02:00
extent_map.c btrfs: only run the extent map shrinker from kswapd tasks 2024-08-29 17:35:42 +02:00
extent_map.h btrfs: add extra comments on extent_map members 2024-05-07 21:31:08 +02:00
file-item.c btrfs: simplify the inline extent map creation 2024-05-07 21:31:08 +02:00
file-item.h btrfs: remove search_commit parameter from btrfs_lookup_csums_list() 2024-05-07 21:31:03 +02:00
file.c btrfs: fix race between direct IO write and fsync when using same fd 2024-09-12 11:13:13 +02:00
file.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
free-space-cache.c btrfs: zoned: properly take lock to read/update block group's zoned variables 2024-08-29 17:35:42 +02:00
free-space-cache.h btrfs: add forward declarations and headers, part 2 2024-03-04 16:24:49 +01:00
free-space-tree.c btrfs: do not BUG_ON() when freeing tree block after error 2024-08-14 15:34:11 +02:00
free-space-tree.h btrfs: add forward declarations and headers, part 2 2024-03-04 16:24:49 +01:00
fs.c
fs.h btrfs: avoid races when tracking progress for extent map shrinking 2024-07-11 16:50:54 +02:00
inode-item.c btrfs: change root->root_key.objectid to btrfs_root_id() 2024-05-07 21:31:06 +02:00
inode-item.h btrfs: add forward declarations and headers, part 2 2024-03-04 16:24:49 +01:00
inode.c btrfs: update target inode's ctime on unlink 2024-09-18 19:25:10 +02:00
ioctl.c btrfs: do not BUG_ON() when freeing tree block after error 2024-08-14 15:34:11 +02:00
ioctl.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
Kconfig btrfs: check-integrity: remove CONFIG_BTRFS_FS_CHECK_INTEGRITY option 2023-10-12 16:44:05 +02:00
locking.c btrfs: change root->root_key.objectid to btrfs_root_id() 2024-05-07 21:31:06 +02:00
locking.h btrfs: locking: rename __btrfs_tree_lock() and __btrfs_tree_read_lock() 2024-05-07 21:31:00 +02:00
lru_cache.c btrfs: fix typos found by codespell 2023-12-15 23:00:04 +01:00
lru_cache.h btrfs: open code trivial btrfs_lru_cache_size() 2024-03-04 16:24:53 +01:00
lzo.c btrfs: compression: migrate compression/decompression paths to folios 2024-05-07 21:31:02 +02:00
Makefile btrfs: add support for inserting raid stripe extents 2023-10-12 16:44:09 +02:00
messages.c btrfs: remove colon from messages with state 2024-04-18 01:46:35 +02:00
messages.h btrfs: constify fs_info parameter in __btrfs_panic() 2023-12-15 20:27:02 +01:00
misc.h btrfs: add forward declarations and headers, part 2 2024-03-04 16:24:49 +01:00
ordered-data.c btrfs: ensure fast fsync waits for ordered extents after a write failure 2024-05-28 16:35:12 +02:00
ordered-data.h btrfs: handle errors in btrfs_reloc_clone_csums properly 2024-05-07 21:31:09 +02:00
orphan.c btrfs: remove unused included headers 2024-03-04 16:24:46 +01:00
orphan.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
print-tree.c btrfs: avoid using fixed char array size for tree names 2024-08-14 15:34:34 +02:00
print-tree.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
props.c btrfs: change root->root_key.objectid to btrfs_root_id() 2024-05-07 21:31:06 +02:00
props.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
qgroup.c btrfs: slightly loosen the requirement for qgroup removal 2024-09-12 11:13:02 +02:00
qgroup.h btrfs: qgroup: validate btrfs_qgroup_inherit parameter 2024-03-05 17:13:24 +01:00
raid-stripe-tree.c btrfs: remove unused included headers 2024-03-04 16:24:46 +01:00
raid-stripe-tree.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
raid56.c btrfs use bio_list_merge_init 2024-04-01 11:53:37 -06:00
raid56.h btrfs: add forward declarations and headers, part 2 2024-03-04 16:24:49 +01:00
rcu-string.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
ref-verify.c btrfs: fix uninitialized return value in the ref-verify tool 2024-07-02 19:14:57 +02:00
ref-verify.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
reflink.c btrfs: change root->root_key.objectid to btrfs_root_id() 2024-05-07 21:31:06 +02:00
reflink.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
relocation.c btrfs: fix data race when accessing the last_trans field of a root 2024-08-14 15:34:11 +02:00
relocation.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
root-tree.c btrfs: change root->root_key.objectid to btrfs_root_id() 2024-05-07 21:31:06 +02:00
root-tree.h btrfs: qgroup: fix qgroup prealloc rsv leak in subvolume operations 2024-04-02 19:18:23 +02:00
scrub.c btrfs: scrub: update last_physical after scrubbing one stripe 2024-09-08 07:56:16 +02:00
scrub.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
send.c btrfs: send: allow cloning non-aligned extent if it ends at i_size 2024-08-29 17:35:42 +02:00
send.h btrfs: add forward declarations and headers, part 2 2024-03-04 16:24:49 +01:00
space-info.c btrfs: do not subtract delalloc from avail bytes 2024-08-11 12:57:57 +02:00
space-info.h btrfs: zoned: fix zone_unusable accounting on making block group read-write again 2024-08-11 12:57:57 +02:00
subpage.c btrfs: subpage: make writer lock utilize bitmap 2024-03-05 17:13:23 +01:00
subpage.h btrfs: subpage: make reader lock utilize bitmap 2024-03-05 17:13:23 +01:00
super.c btrfs: only enable extent map shrinker for DEBUG builds 2024-08-29 17:35:43 +02:00
super.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
sysfs.c btrfs: use btrfs_is_testing() everywhere 2024-05-07 21:31:07 +02:00
sysfs.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
transaction.c btrfs: fix data race when accessing the last_trans field of a root 2024-08-14 15:34:11 +02:00
transaction.h btrfs: fix race between direct IO write and fsync when using same fd 2024-09-12 11:13:13 +02:00
tree-checker.c btrfs: tree-checker: validate dref root and objectid 2024-09-08 07:56:13 +02:00
tree-checker.h btrfs: make sure that WRITTEN is set on all metadata blocks 2024-05-02 22:11:13 +02:00
tree-log.c btrfs: use NOFS context when getting inodes during logging and log replay 2024-06-25 00:33:47 +02:00
tree-log.h btrfs: uninline some static inline helpers from tree-log.h 2024-03-04 16:24:53 +01:00
tree-mod-log.c btrfs: change root->root_key.objectid to btrfs_root_id() 2024-05-07 21:31:06 +02:00
tree-mod-log.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
ulist.c btrfs: remove unused included headers 2024-03-04 16:24:46 +01:00
ulist.h btrfs: add forward declarations and headers, part 2 2024-03-04 16:24:49 +01:00
uuid-tree.c btrfs: unify handling of return values of btrfs_insert_empty_items() 2024-03-04 16:24:48 +01:00
uuid-tree.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
verity.c btrfs: remove unused included headers 2024-03-04 16:24:46 +01:00
verity.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
volumes.c bd_inode series 2024-05-21 09:51:42 -07:00
volumes.h btrfs: count super block write errors in device instead of tracking folio error state 2024-05-07 21:31:11 +02:00
xattr.c btrfs: rename err to ret in btrfs_initxattrs() 2024-05-07 21:31:00 +02:00
xattr.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
zlib.c btrfs: compression: migrate compression/decompression paths to folios 2024-05-07 21:31:02 +02:00
zoned.c btrfs: zoned: handle broken write pointer on zones 2024-09-12 11:12:48 +02:00
zoned.h btrfs: add forward declarations and headers, part 2 2024-03-04 16:24:49 +01:00
zstd.c btrfs: compression: migrate compression/decompression paths to folios 2024-05-07 21:31:02 +02:00