linux/fs/xfs
Christoph Hellwig aa67ec6a25 xfs: merge the perag freeing helpers
There is no good reason to have two different routines for freeing perag
structures for the unmount and error cases.  Add two arguments to specify
the range of AGs to free to xfs_free_perag, and use that to replace
xfs_free_unused_perag_range.

The addition RCU grace period for the error case is harmless, and the
extra check for the AG to actually exist is not required now that the
callers pass the exact known allocated range.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
2024-10-22 13:37:18 +02:00
..
libxfs xfs: merge the perag freeing helpers 2024-10-22 13:37:18 +02:00
scrub xfs: don't fail repairs on metadata files with no attr fork 2024-10-22 13:37:18 +02:00
Kconfig xfs: verify buffer, inode, and dquot items every tx commit 2024-07-02 11:36:54 -07:00
Makefile xfs: hoist inode flag conversion functions to libxfs 2024-07-02 11:36:55 -07: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: report dir/attr block corruption errors to the health system 2024-02-22 12:32:18 -08:00
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: ensure st_blocks never goes to zero during COW writes 2024-09-03 10:07:47 +05:30
xfs_bmap_item.h xfs: move xfs_bmap_defer_add to xfs_bmap_item.c 2024-02-22 12:44:21 -08:00
xfs_bmap_util.c xfs: support the COW fork in xfs_bmap_punch_delalloc_range 2024-10-15 11:37:42 +02: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: convert remaining kmem_free() to kfree() 2024-02-13 18:07:34 +05:30
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: launder in-memory btree buffers before transaction commit 2024-02-22 12:43:36 -08:00
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: fix FITRIM reporting again 2024-09-01 08:58:20 -07:00
xfs_discard.h xfs: move log discard work to xfs_discard.c 2023-10-04 09:24:02 +11:00
xfs_dquot_item_recover.c xfs: dquot recovery does not validate the recovered dquot 2023-11-22 23:39:36 +05:30
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: simplify iext overflow checking and upgrade 2024-05-03 11:20:06 +05:30
xfs_dquot.h xfs: Increase XFS_QM_TRANS_MAXDQS to 5 2024-04-15 14:59:01 -07:00
xfs_drain.c xfs: pass the fsbno to xfs_perag_intent_get 2024-07-02 11:37:01 -07:00
xfs_drain.h xfs: pass the fsbno to xfs_perag_intent_get 2024-07-02 11:37:01 -07: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 struct fd layout change (and conversion to accessor helpers) 2024-09-23 09:35:36 -07: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: unwind xfs_extent_busy_clear 2024-04-22 12:53:34 +05:30
xfs_extent_busy.h xfs: repair free space btrees 2023-12-15 10:03:32 -08:00
xfs_extfree_item.c xfs: move xfs_extent_free_defer_add to xfs_extfree_item.c 2024-07-02 11:37:03 -07: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: convert remaining kmem_free() to kfree() 2024-02-13 18:07:34 +05:30
xfs_filestream.h
xfs_fsmap.c xfs: move xfs_ioc_getfsmap out of xfs_ioctl.c 2024-09-01 08:58:19 -07:00
xfs_fsmap.h xfs: move xfs_ioc_getfsmap out of xfs_ioctl.c 2024-09-01 08:58:19 -07:00
xfs_fsops.c xfs: merge the perag freeing helpers 2024-10-22 13:37:18 +02:00
xfs_fsops.h xfs: split xfs_mod_freecounter 2024-04-22 18:00:47 +05:30
xfs_globals.c xfs: add debug knobs to control btree bulk load slack factors 2023-12-15 10:03:28 -08:00
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: report directory tree corruption in the health information 2024-04-23 16:55:17 -07:00
xfs_hooks.c xfs: allow scrub to hook metadata updates in other writers 2024-02-22 12:30:45 -08:00
xfs_hooks.h xfs: allow scrub to hook metadata updates in other writers 2024-02-22 12:30:45 -08:00
xfs_icache.c xfs: don't free cowblocks from under dirty pagecache on unshare 2024-10-09 10:05:10 +02:00
xfs_icache.h xfs: use per-mount cpumask to track nonempty percpu inodegc lists 2023-09-11 08:39:03 -07:00
xfs_icreate_item.c xfs: convert kmem_free() for kvmalloc users to kvfree() 2024-02-13 18:07:34 +05:30
xfs_icreate_item.h
xfs_inode_item_recover.c xfs: convert remaining kmem_free() to kfree() 2024-02-13 18:07:34 +05:30
xfs_inode_item.c xfs: skip flushing log items during push 2024-07-04 12:46:47 +05:30
xfs_inode_item.h
xfs_inode.c xfs: refactor f_op->release handling 2024-09-03 10:07:37 +05:30
xfs_inode.h xfs: only free posteof blocks on first close 2024-09-03 10:07:38 +05:30
xfs_ioctl32.c xfs: move handle ioctl code to xfs_handle.c 2024-04-23 07:47:00 -07:00
xfs_ioctl32.h arch: Remove Itanium (IA-64) architecture 2023-09-11 08:13:17 +00:00
xfs_ioctl.c struct fd layout change (and conversion to accessor helpers) 2024-09-23 09:35:36 -07: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: punch delalloc extents from the COW fork for COW writes 2024-10-15 11:37:42 +02:00
xfs_iomap.h
xfs_iops.c iomap: fix handling of dirty folios over unwritten extents 2024-09-03 15:01:24 +02: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: hide private inodes from bulkstat and handle functions 2024-04-15 14:58:48 -07:00
xfs_itable.h
xfs_iunlink_item.c
xfs_iunlink_item.h
xfs_iwalk.c xfs: Clear W=1 warning in xfs_iwalk_run_callbacks() 2024-05-27 15:54:24 +05:30
xfs_iwalk.h
xfs_linux.h move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
xfs_log_cil.c xfs: Use try_cmpxchg() in xlog_cil_insert_pcp_aggregate() 2024-10-07 08:00:11 +02: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: pass the exact range to initialize to xfs_initialize_perag 2024-10-22 13:37:18 +02: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_message.h
xfs_mount.c xfs: merge the perag freeing helpers 2024-10-22 13:37:18 +02:00
xfs_mount.h xfs: convert perag lookup to xarray 2024-09-03 10:07:46 +05:30
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 mm, pmem, xfs: Introduce MF_MEM_PRE_REMOVE for unbind 2023-12-07 14:34:26 +05:30
xfs_pnfs.c
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: refactor loading quota inodes in the regular case 2024-09-01 08:58:20 -07: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: xfs_quota_unreserve_blkres can't fail 2024-05-03 11:15:03 +05:30
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: move xfs_refcount_update_defer_add to xfs_refcount_item.c 2024-07-02 11:37:07 -07: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: don't free cowblocks from under dirty pagecache on unshare 2024-10-09 10:05:10 +02: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: move xfs_rmap_update_defer_add to xfs_rmap_item.c 2024-07-02 11:37:05 -07: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: replace m_rsumsize with m_rsumblocks 2024-09-01 08:58:19 -07:00
xfs_rtalloc.h xfs: move xfs_bmap_rtalloc to xfs_rtalloc.c 2023-12-22 11:18:11 +05:30
xfs_stats.c xfs: define an in-memory btree for storing refcount bag info during repairs 2024-02-22 12:43:40 -08:00
xfs_stats.h xfs: define an in-memory btree for storing refcount bag info during repairs 2024-02-22 12:43:40 -08:00
xfs_super.c vfs-6.12.blocksize 2024-09-20 17:53:17 -07:00
xfs_super.h xfs: create scaffolding for creating debugfs entries 2023-08-10 07:48:07 -07:00
xfs_symlink.c xfs: pass the icreate args object to xfs_dialloc 2024-09-01 08:58:19 -07:00
xfs_symlink.h xfs: move remote symlink target read function to libxfs 2024-02-22 12:45:17 -08:00
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: add debug knobs to control btree bulk load slack factors 2023-12-15 10:03:28 -08:00
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: l_last_sync_lsn is really AIL state 2024-07-04 12:46:46 +05:30
xfs_trace.h xfs: use xas_for_each_marked in xfs_reclaim_inodes_count 2024-09-03 10:07:46 +05:30
xfs_trans_ail.c xfs: revert AIL TASK_KILLABLE threshold 2024-08-14 21:19:34 +05:30
xfs_trans_buf.c xfs: launder in-memory btree buffers before transaction commit 2024-02-22 12:43:36 -08:00
xfs_trans_dquot.c xfs: Increase XFS_QM_TRANS_MAXDQS to 5 2024-04-15 14:59:01 -07: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: move and rename xfs_trans_committed_bulk 2024-07-04 12:46:46 +05:30
xfs_trans.h xfs: skip flushing log items during push 2024-07-04 12:46:47 +05:30
xfs_xattr.c xfs: allow SECURE namespace xattrs to use reserved block pool 2024-07-29 09:26:20 +05:30
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