linux/fs/xfs
Darrick J. Wong 7195f240c6 xfs: make xfs_rtblock_t a segmented address like xfs_fsblock_t
Now that we've finished adding allocation groups to the realtime volume,
let's make the file block mapping address (xfs_rtblock_t) a segmented
value just like we do on the data device.  This means that group number
and block number conversions can be done with shifting and masking
instead of integer division.

While in theory we could continue caching the rgno shift value in
m_rgblklog, the fact that we now always use the shift value means that
we have an opportunity to increase the redundancy of the rt geometry by
storing it in the ondisk superblock and adding more sb verifier code.
Extend the sueprblock to store the rgblklog value.

Now that we have segmented addresses, set the correct values in
m_groups[XG_TYPE_RTG] so that the xfs_group helpers work correctly.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2024-11-05 13:38:44 -08:00
..
libxfs xfs: make xfs_rtblock_t a segmented address like xfs_fsblock_t 2024-11-05 13:38:44 -08:00
scrub xfs: make xfs_rtblock_t a segmented address like xfs_fsblock_t 2024-11-05 13:38:44 -08:00
Kconfig xfs: verify buffer, inode, and dquot items every tx commit 2024-07-02 11:36:54 -07:00
Makefile xfs: scrub the realtime group superblock 2024-11-05 13:38:43 -08:00
xfs_acl.c xfs: make attr removal an explicit operation 2024-04-23 07:46:51 -07:00
xfs_acl.h
xfs_aops.c xfs: support the COW fork in xfs_bmap_punch_delalloc_range 2024-10-15 11:37:42 +02:00
xfs_aops.h
xfs_attr_inactive.c
xfs_attr_item.c xfs: fix xfs_init_attr_trans not handling explicit operation codes 2024-05-27 15:55:52 +05:30
xfs_attr_item.h xfs: create attr log item opcodes and formats for parent pointers 2024-04-23 07:46:57 -07:00
xfs_attr_list.c xfs: convert comma to semicolon 2024-07-29 09:32:53 +05:30
xfs_bio_io.c
xfs_bmap_item.c xfs: store rtgroup information with a bmap intent 2024-11-05 13:38:41 -08:00
xfs_bmap_item.h
xfs_bmap_util.c xfs: create helpers to deal with rounding xfs_fileoff_t to rtx boundaries 2024-11-05 13:38:43 -08:00
xfs_bmap_util.h xfs: support the COW fork in xfs_bmap_punch_delalloc_range 2024-10-15 11:37:42 +02:00
xfs_buf_item_recover.c xfs: add block headers to realtime bitmap and summary blocks 2024-11-05 13:38:40 -08:00
xfs_buf_item.c xfs: verify buffer, inode, and dquot items every tx commit 2024-07-02 11:36:54 -07:00
xfs_buf_item.h
xfs_buf_mem.c mm,tmpfs: consider end of file write in shmem_is_huge 2024-09-09 16:39:12 -07:00
xfs_buf_mem.h
xfs_buf.c getting rid of bogus set_blocksize() uses, switching it 2024-05-21 08:34:51 -07:00
xfs_buf.h treewide: Fix wrong singular form of jiffies in comments 2024-09-08 20:47:40 +02:00
xfs_dahash_test.c
xfs_dahash_test.h
xfs_dir2_readdir.c xfs: refactor dir format helpers 2024-04-26 11:21:46 +05:30
xfs_discard.c xfs: add block headers to realtime bitmap and summary blocks 2024-11-05 13:38:40 -08:00
xfs_discard.h
xfs_dquot_item_recover.c
xfs_dquot_item.c xfs: verify buffer, inode, and dquot items every tx commit 2024-07-02 11:36:54 -07:00
xfs_dquot_item.h
xfs_dquot.c xfs: don't count metadata directory files to quota 2024-11-05 13:38:32 -08:00
xfs_dquot.h xfs: Increase XFS_QM_TRANS_MAXDQS to 5 2024-04-15 14:59:01 -07:00
xfs_drain.c xfs: store a generic group structure in the intents 2024-11-05 13:38:30 -08:00
xfs_drain.h xfs: store a generic group structure in the intents 2024-11-05 13:38:30 -08:00
xfs_error.c xfs: add error injection to test file mapping exchange recovery 2024-04-15 14:54:19 -07:00
xfs_error.h
xfs_exchmaps_item.c xfs: capture inode generation numbers in the ondisk exchmaps log item 2024-04-15 14:54:24 -07:00
xfs_exchmaps_item.h xfs: create deferred log items for file mapping exchanges 2024-04-15 14:54:17 -07:00
xfs_exchrange.c xfs: create helpers to deal with rounding xfs_filblks_t to rtx boundaries 2024-11-05 13:38:43 -08:00
xfs_exchrange.h xfs: introduce new file range commit ioctls 2024-09-01 08:58:19 -07:00
xfs_export.c xfs: add parent pointer ioctls 2024-04-23 07:47:00 -07:00
xfs_export.h xfs: add parent pointer ioctls 2024-04-23 07:47:00 -07:00
xfs_extent_busy.c xfs: convert busy extent tracking to the generic group structure 2024-11-05 13:38:29 -08:00
xfs_extent_busy.h xfs: convert busy extent tracking to the generic group structure 2024-11-05 13:38:29 -08:00
xfs_extfree_item.c xfs: support logging EFIs for realtime extents 2024-11-05 13:38:42 -08:00
xfs_extfree_item.h xfs: move xfs_extent_free_defer_add to xfs_extfree_item.c 2024-07-02 11:37:03 -07:00
xfs_file.c xfs: take XFS_MMAPLOCK_EXCL xfs_file_write_zero_eof 2024-10-15 11:37:42 +02:00
xfs_file.h xfs: create a new helper to return a file's allocation unit 2024-04-15 14:54:10 -07:00
xfs_filestream.c xfs: factor out a generic xfs_group structure 2024-11-05 13:38:27 -08:00
xfs_filestream.h
xfs_fsmap.c xfs: make RT extent numbers relative to the rtgroup 2024-11-05 13:38:38 -08:00
xfs_fsmap.h xfs: clean up xfs_getfsmap_helper arguments 2024-11-05 13:38:35 -08:00
xfs_fsops.c xfs: standardize EXPERIMENTAL warning generation 2024-11-05 13:38:30 -08:00
xfs_fsops.h xfs: split xfs_mod_freecounter 2024-04-22 18:00:47 +05:30
xfs_globals.c
xfs_handle.c struct fd: representation change 2024-08-12 22:01:05 -04:00
xfs_handle.h xfs: add parent pointer ioctls 2024-04-23 07:47:00 -07:00
xfs_health.c xfs: export the geometry of realtime groups to userspace 2024-11-05 13:38:40 -08:00
xfs_hooks.c
xfs_hooks.h
xfs_icache.c xfs: record health problems with the metadata directory 2024-11-05 13:38:33 -08:00
xfs_icache.h
xfs_icreate_item.c
xfs_icreate_item.h
xfs_inode_item_recover.c xfs: define the on-disk format for the metadir feature 2024-11-05 13:38:31 -08:00
xfs_inode_item.c xfs: define the on-disk format for the metadir feature 2024-11-05 13:38:31 -08:00
xfs_inode_item.h
xfs_inode.c xfs: remove XFS_ILOCK_RT* 2024-11-05 13:38:37 -08:00
xfs_inode.h xfs: remove XFS_ILOCK_RT* 2024-11-05 13:38:37 -08:00
xfs_ioctl32.c xfs: move handle ioctl code to xfs_handle.c 2024-04-23 07:47:00 -07:00
xfs_ioctl32.h
xfs_ioctl.c xfs: export the geometry of realtime groups to userspace 2024-11-05 13:38:40 -08:00
xfs_ioctl.h xfs: move handle ioctl code to xfs_handle.c 2024-04-23 07:47:00 -07:00
xfs_iomap.c xfs: don't merge ioends across RTGs 2024-11-05 13:38:42 -08:00
xfs_iomap.h
xfs_iops.c xfs: hide metadata inodes from everyone because they are special 2024-11-05 13:38:32 -08:00
xfs_iops.h xfs: declare xfs_file.c symbols in xfs_file.h 2024-04-15 14:54:09 -07:00
xfs_itable.c xfs: allow bulkstat to return metadata directories 2024-11-05 13:38:32 -08:00
xfs_itable.h xfs: allow bulkstat to return metadata directories 2024-11-05 13:38:32 -08:00
xfs_iunlink_item.c xfs: pass the iunlink item to the xfs_iunlink_update_dinode trace point 2024-11-05 13:38:26 -08:00
xfs_iunlink_item.h
xfs_iwalk.c xfs: switch perag iteration from the for_each macros to a while based iterator 2024-11-05 13:38:28 -08:00
xfs_iwalk.h xfs: factor out a xfs_iwalk_args helper 2024-11-05 13:38:27 -08:00
xfs_linux.h move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
xfs_log_cil.c xfs: remove the mount field from struct xfs_busy_extents 2024-11-05 13:38:25 -08:00
xfs_log_priv.h xfs: grant heads track byte counts, not LSNs 2024-07-04 12:46:47 +05:30
xfs_log_recover.c xfs: support logging EFIs for realtime extents 2024-11-05 13:38:42 -08:00
xfs_log.c xfs: Use xfs set and clear mp state helpers 2024-09-03 10:07:39 +05:30
xfs_log.h xfs: Remove empty declartion in header file 2024-10-07 08:00:11 +02:00
xfs_message.c xfs: define the on-disk format for the metadir feature 2024-11-05 13:38:31 -08:00
xfs_message.h xfs: define the on-disk format for the metadir feature 2024-11-05 13:38:31 -08:00
xfs_mount.c xfs: make RT extent numbers relative to the rtgroup 2024-11-05 13:38:38 -08:00
xfs_mount.h xfs: make xfs_rtblock_t a segmented address like xfs_fsblock_t 2024-11-05 13:38:44 -08:00
xfs_mru_cache.c xfs: use LIST_HEAD() to simplify code 2024-09-03 10:07:42 +05:30
xfs_mru_cache.h
xfs_notify_failure.c
xfs_pnfs.c xfs: standardize EXPERIMENTAL warning generation 2024-11-05 13:38:30 -08:00
xfs_pnfs.h
xfs_pwork.c
xfs_pwork.h
xfs_qm_bhv.c xfs: Remove header files which are included more than once 2024-07-01 09:32:29 +05:30
xfs_qm_syscalls.c xfs: refactor loading quota inodes in the regular case 2024-09-01 08:58:20 -07:00
xfs_qm.c xfs: move RT bitmap and summary information to the rtgroup 2024-11-05 13:38:37 -08:00
xfs_qm.h xfs: refactor loading quota inodes in the regular case 2024-09-01 08:58:20 -07:00
xfs_quota.h xfs: don't count metadata directory files to quota 2024-11-05 13:38:32 -08:00
xfs_quotaops.c xfs: refactor loading quota inodes in the regular case 2024-09-01 08:58:20 -07:00
xfs_refcount_item.c xfs: store a generic group structure in the intents 2024-11-05 13:38:30 -08:00
xfs_refcount_item.h xfs: move xfs_refcount_update_defer_add to xfs_refcount_item.c 2024-07-02 11:37:07 -07:00
xfs_reflink.c xfs: switch perag iteration from the for_each macros to a while based iterator 2024-11-05 13:38:28 -08:00
xfs_reflink.h xfs: don't free cowblocks from under dirty pagecache on unshare 2024-10-09 10:05:10 +02:00
xfs_rmap_item.c xfs: store a generic group structure in the intents 2024-11-05 13:38:30 -08:00
xfs_rmap_item.h xfs: move xfs_rmap_update_defer_add to xfs_rmap_item.c 2024-07-02 11:37:05 -07:00
xfs_rtalloc.c xfs: make xfs_rtblock_t a segmented address like xfs_fsblock_t 2024-11-05 13:38:44 -08:00
xfs_rtalloc.h xfs: check the realtime superblock at mount time 2024-11-05 13:38:39 -08:00
xfs_stats.c
xfs_stats.h
xfs_super.c xfs: check the realtime superblock at mount time 2024-11-05 13:38:39 -08:00
xfs_super.h
xfs_symlink.c xfs: pass the icreate args object to xfs_dialloc 2024-09-01 08:58:19 -07:00
xfs_symlink.h
xfs_sysctl.c sysctl: treewide: constify the ctl_table argument of proc_handlers 2024-07-24 20:59:29 +02:00
xfs_sysctl.h
xfs_sysfs.c xfs: grant heads track byte counts, not LSNs 2024-07-04 12:46:47 +05:30
xfs_sysfs.h
xfs_trace.c xfs: create incore realtime group structures 2024-11-05 13:38:35 -08:00
xfs_trace.h xfs: support logging EFIs for realtime extents 2024-11-05 13:38:42 -08:00
xfs_trans_ail.c xfs: revert AIL TASK_KILLABLE threshold 2024-08-14 21:19:34 +05:30
xfs_trans_buf.c xfs: update realtime super every time we update the primary fs super 2024-11-05 13:38:39 -08:00
xfs_trans_dquot.c xfs: don't count metadata directory files to quota 2024-11-05 13:38:32 -08:00
xfs_trans_priv.h xfs: l_last_sync_lsn is really AIL state 2024-07-04 12:46:46 +05:30
xfs_trans.c xfs: make xfs_rtblock_t a segmented address like xfs_fsblock_t 2024-11-05 13:38:44 -08:00
xfs_trans.h xfs: grow the realtime section when realtime groups are enabled 2024-11-05 13:38:41 -08:00
xfs_xattr.c xfs: standardize EXPERIMENTAL warning generation 2024-11-05 13:38:30 -08:00
xfs_xattr.h xfs: remove xfs_da_args.attr_flags 2024-04-23 07:46:50 -07:00
xfs.h xfs: verify buffer, inode, and dquot items every tx commit 2024-07-02 11:36:54 -07:00