linux-yocto/fs/xfs
Darrick J. Wong 7cdd0cf042 xfs: reset rootdir extent size hint after growfsrt
[ Upstream commit a24cae8fc1 ]

If growfsrt is run on a filesystem that doesn't have a rt volume, it's
possible to change the rt extent size.  If the root directory was
previously set up with an inherited extent size hint and rtinherit, it's
possible that the hint is no longer a multiple of the rt extent size.
Although the verifiers don't complain about this, xfs_repair will, so if
we detect this situation, log the root directory to clean it up.  This
is still racy, but it's better than nothing.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>
Signed-off-by: Leah Rumancik <leah.rumancik@gmail.com>
Acked-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-06-27 11:07:20 +01:00
..
libxfs xfs: remove unused parameter in macro XFS_DQUOT_LOGRES 2025-06-27 11:07:19 +01:00
scrub xfs: attr forks require attr, not attr2 2025-06-27 11:07:20 +01:00
Kconfig xfs: verify buffer, inode, and dquot items every tx commit 2025-06-27 11:07:19 +01:00
kmem.c
kmem.h
Makefile - The usual batches of cleanups from Baoquan He, Muchun Song, Miaohe 2022-08-05 16:32:45 -07:00
mrlock.h
xfs_acl.c xfs: move xfs_attr_use_log_assist usage out of libxfs 2022-05-27 10:34:04 +10:00
xfs_acl.h
xfs_aops.c xfs: make xfs_bmapi_convert_delalloc() to allocate the target offset 2025-05-09 09:41:38 +02:00
xfs_aops.h
xfs_attr_inactive.c xfs: make inode unlinked bucket recovery work with quotacheck 2024-09-30 16:23:54 +02:00
xfs_attr_item.c xfs: validate recovered name buffers when recovering xattr items 2025-05-09 09:41:37 +02:00
xfs_attr_item.h xfs: share xattr name and value buffers when logging xattr updates 2022-05-23 08:43:46 +10:00
xfs_attr_list.c xfs: use XFS_IFORK_Q to determine the presence of an xattr fork 2022-07-09 15:17:21 -07:00
xfs_bio_io.c fs/xfs: Use the enum req_op and blk_opf_t types 2022-07-14 12:14:33 -06:00
xfs_bmap_item.c xfs: reserve less log space when recovering log intent items 2025-03-28 21:58:54 +01:00
xfs_bmap_item.h
xfs_bmap_util.c xfs: Fix xfs_prepare_shift() range for RT 2025-06-27 11:07:19 +01:00
xfs_bmap_util.h xfs: fix freeing speculative preallocations for preallocated files 2025-05-09 09:41:38 +02:00
xfs_buf_item_recover.c xfs: verify buffer contents when we skip log replay 2023-06-09 10:34:29 +02:00
xfs_buf_item.c xfs: verify buffer, inode, and dquot items every tx commit 2025-06-27 11:07:19 +01:00
xfs_buf_item.h
xfs_buf.c xfs: force all buffers to be written during btree bulk load 2025-03-28 21:58:55 +01:00
xfs_buf.h xfs: force all buffers to be written during btree bulk load 2025-03-28 21:58:55 +01:00
xfs_dir2_readdir.c xfs: rearrange the logic and remove the broken comment for xfs_dir2_isxx 2022-10-04 16:39:58 +11:00
xfs_discard.c xfs: pass perag to xfs_alloc_read_agf() 2022-07-07 19:07:40 +10:00
xfs_discard.h
xfs_dquot_item_recover.c xfs: dquot recovery does not validate the recovered dquot 2025-02-01 18:30:09 +01:00
xfs_dquot_item.c xfs: verify buffer, inode, and dquot items every tx commit 2025-06-27 11:07:19 +01:00
xfs_dquot_item.h
xfs_dquot.c xfs: fix error returns from xfs_bmapi_write 2025-05-09 09:41:36 +02:00
xfs_dquot.h xfs: remove warning counters from struct xfs_dquot_res 2022-05-11 17:12:09 +10:00
xfs_error.c xfs: drop write error injection is unfixable, remove it 2024-05-25 16:21:32 +02:00
xfs_error.h
xfs_export.c xfs: fix reloading entire unlinked bucket lists 2024-09-30 16:23:54 +02:00
xfs_export.h
xfs_extent_busy.c xfs: fix extent busy updating 2024-09-30 16:23:51 +02:00
xfs_extent_busy.h
xfs_extfree_item.c xfs: give xfs_extfree_intent its own perag reference 2025-03-28 21:59:02 +01:00
xfs_extfree_item.h xfs: refactor all the EFI/EFD log item sizeof logic 2022-10-31 08:58:20 -07:00
xfs_file.c xfs: create a new helper to return a file's allocation unit 2025-06-27 11:07:19 +01:00
xfs_file.h xfs: create a new helper to return a file's allocation unit 2025-06-27 11:07:19 +01:00
xfs_filestream.c xfs: pass perag to xfs_alloc_read_agf() 2022-07-07 19:07:40 +10:00
xfs_filestream.h
xfs_fsmap.c xfs: use XFS_BUF_DADDR_NULL for daddrs in getfsmap code 2025-06-27 11:07:20 +01:00
xfs_fsmap.h
xfs_fsops.c xfs: fix perag leak when growfs fails 2025-03-28 21:58:55 +01:00
xfs_fsops.h
xfs_globals.c xfs: Add larp debug option 2022-05-11 17:01:22 +10:00
xfs_health.c
xfs_icache.c xfs: fix freeing speculative preallocations for preallocated files 2025-05-09 09:41:38 +02:00
xfs_icache.h xfs: collect errors from inodegc for unlinked inode recovery 2024-09-30 16:23:52 +02:00
xfs_icreate_item.c xfs: fix potential log item leak 2022-05-04 11:45:11 +10:00
xfs_icreate_item.h
xfs_inode_item_recover.c xfs: inode recovery does not validate the recovered inode 2025-02-01 18:30:08 +01:00
xfs_inode_item.c xfs: verify buffer, inode, and dquot items every tx commit 2025-06-27 11:07:19 +01:00
xfs_inode_item.h xfs: fix AGF vs inode cluster buffer deadlock 2024-09-30 16:23:52 +02:00
xfs_inode.c xfs: create a new helper to return a file's allocation unit 2025-06-27 11:07:19 +01:00
xfs_inode.h xfs: create a new helper to return a file's allocation unit 2025-06-27 11:07:19 +01:00
xfs_ioctl.c xfs: conditionally allow FS_XFLAG_REALTIME changes if S_DAX is set 2025-06-27 11:07:20 +01:00
xfs_ioctl.h
xfs_ioctl32.c xfs: Set up infrastructure for log attribute replay 2022-05-04 12:41:02 +10:00
xfs_ioctl32.h
xfs_iomap.c xfs: restrict when we try to align cow fork delalloc to cowextsz hints 2025-05-09 09:41:38 +02:00
xfs_iomap.h xfs: use iomap_valid method to detect stale cached iomaps 2024-05-25 16:21:32 +02:00
xfs_iops.c xfs: declare xfs_file.c symbols in xfs_file.h 2025-06-27 11:07:19 +01:00
xfs_iops.h xfs: declare xfs_file.c symbols in xfs_file.h 2025-06-27 11:07:19 +01:00
xfs_itable.c xfs: fix reloading entire unlinked bucket lists 2024-09-30 16:23:54 +02:00
xfs_itable.h
xfs_iunlink_item.c xfs: add in-memory iunlink log item 2022-07-14 11:47:42 +10:00
xfs_iunlink_item.h xfs: add in-memory iunlink log item 2022-07-14 11:47:42 +10:00
xfs_iwalk.c
xfs_iwalk.h
xfs_linux.h fs/xfs: Use the enum req_op and blk_opf_t types 2022-07-14 12:14:33 -06:00
xfs_log_cil.c xfs: xlog_sync() manually adjusts grant head space 2022-07-07 18:56:09 +10:00
xfs_log_priv.h xfs: xlog_sync() manually adjusts grant head space 2022-07-07 18:56:09 +10:00
xfs_log_recover.c xfs: abort intent items when recovery intents fail 2025-02-01 18:30:08 +01:00
xfs_log.c xfs: up(ic_sema) if flushing data device fails 2025-02-01 18:30:08 +01:00
xfs_log.h xfs: move CIL ordering to the logvec chain 2022-07-07 18:56:08 +10:00
xfs_message.c
xfs_message.h xfs: implement per-mount warnings for scrub and shrink usage 2022-05-27 10:31:34 +10:00
xfs_mount.c xfs: fix sb write verify for lazysbcount 2024-05-25 16:21:32 +02:00
xfs_mount.h xfs: make inode unlinked bucket recovery work with quotacheck 2024-09-30 16:23:54 +02:00
xfs_mru_cache.c
xfs_mru_cache.h
xfs_notify_failure.c xfs: correct calculation for agend and blockcount 2024-09-30 16:23:53 +02:00
xfs_ondisk.h xfs: fix memcpy fortify errors in EFI log format copying 2022-10-31 08:58:20 -07:00
xfs_pnfs.c xfs: use iomap_valid method to detect stale cached iomaps 2024-05-25 16:21:32 +02:00
xfs_pnfs.h
xfs_pwork.c
xfs_pwork.h
xfs_qm_bhv.c xfs: don't over-report free space or inodes in statvfs 2025-02-21 13:49:36 +01:00
xfs_qm_syscalls.c xfs: introduce xfs_inodegc_push() 2022-06-23 13:34:38 -07:00
xfs_qm.c xfs: fix reloading entire unlinked bucket lists 2024-09-30 16:23:54 +02:00
xfs_qm.h xfs: remove quota warning limit from struct xfs_quota_limits 2022-05-11 17:12:09 +10:00
xfs_quota.h
xfs_quotaops.c xfs: don't set quota warning values 2022-05-11 17:12:09 +10:00
xfs_refcount_item.c xfs: reserve less log space when recovering log intent items 2025-03-28 21:58:54 +01:00
xfs_refcount_item.h
xfs_reflink.c xfs: remove a racy if_bytes check in xfs_reflink_end_cow_extent 2025-05-09 09:41:37 +02:00
xfs_reflink.h xfs: pass perag to xfs_alloc_read_agf() 2022-07-07 19:07:40 +10:00
xfs_rmap_item.c xfs: reserve less log space when recovering log intent items 2025-03-28 21:58:54 +01:00
xfs_rmap_item.h
xfs_rtalloc.c xfs: reset rootdir extent size hint after growfsrt 2025-06-27 11:07:20 +01:00
xfs_rtalloc.h xfs: move the xfs_rtbitmap.c declarations to xfs_rtbitmap.h 2025-03-28 21:58:54 +01:00
xfs_stats.c xfs: replace unnecessary seq_printf with seq_puts 2022-09-19 06:48:14 +10:00
xfs_stats.h
xfs_super.c xfs: report realtime block quota limits on realtime directories 2025-02-21 13:49:35 +01:00
xfs_super.h xfs: implement ->notify_failure() for XFS 2022-07-17 17:14:30 -07:00
xfs_symlink.c xfs: use consistent uid/gid when grabbing dquots for inodes 2025-06-27 11:07:19 +01:00
xfs_symlink.h
xfs_sysctl.c
xfs_sysctl.h xfs: Add larp debug option 2022-05-11 17:01:22 +10:00
xfs_sysfs.c xfs: Add larp debug option 2022-05-11 17:01:22 +10:00
xfs_sysfs.h xfs: Fix unreferenced object reported by kmemleak in xfs_sysfs_init() 2022-10-20 09:42:56 -07:00
xfs_trace.c
xfs_trace.h xfs: clean up the rtbitmap fsmap backend 2025-06-27 11:07:19 +01:00
xfs_trans_ail.c xfs: remove redundant pointer lip 2022-10-20 09:42:56 -07:00
xfs_trans_buf.c
xfs_trans_dquot.c xfs: remove quota warning limit from struct xfs_quota_limits 2022-05-11 17:12:09 +10:00
xfs_trans_priv.h xfs: convert log vector chain to use list heads 2022-07-07 18:55:59 +10:00
xfs_trans.c xfs: only run precommits once per transaction object 2024-12-19 18:08:50 +01:00
xfs_trans.h xfs: introduce in-memory inode unlink log items 2022-07-14 09:21:42 -07:00
xfs_xattr.c xfs: fix TOCTOU race involving the new logged xattrs control knob 2022-06-15 23:13:32 -07:00
xfs_xattr.h xfs: move xfs_attr_use_log_assist usage out of libxfs 2022-05-27 10:34:04 +10:00
xfs.h xfs: verify buffer, inode, and dquot items every tx commit 2025-06-27 11:07:19 +01:00