linux/fs/xfs/libxfs
Dave Chinner 4e3d96a57a xfs: xfs_attr_set_iter() does not need to return EAGAIN
Now that the full xfs_attr_set_iter() state machine always
terminates with either the state being XFS_DAS_DONE on success or
an error on failure, we can get rid of the need for it to return
-EAGAIN whenever it needs to roll the transaction before running
the next state.

That is, we don't need to spray -EAGAIN return states everywhere,
the caller just check the state machine state for completion to
determine what action should be taken next. This greatly simplifies
the code within the state machine implementation as it now only has
to handle 0 for success or -errno for error and it doesn't need to
tell the caller to retry.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Allison Henderson<allison.henderson@oracle.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2022-05-12 15:12:55 +10:00
..
xfs_ag_resv.c xfs: compute maximum AG btree height for critical reservation calculation 2021-10-19 11:45:15 -07:00
xfs_ag_resv.h xfs: move perag structure and setup to libxfs/xfs_ag.[ch] 2021-06-02 10:48:24 +10:00
xfs_ag.c xfs: #ifdef out perag code for userspace 2021-11-10 09:37:38 -08:00
xfs_ag.h xfs: #ifdef out perag code for userspace 2021-11-10 09:37:38 -08:00
xfs_alloc_btree.c xfs: remove kmem_zone typedef 2021-10-22 16:00:31 -07:00
xfs_alloc_btree.h xfs: use separate btree cursor cache for each btree type 2021-10-19 11:45:16 -07:00
xfs_alloc.c Merge tag 'large-extent-counters-v9' of https://github.com/chandanr/linux into xfs-5.19-for-next 2022-04-21 16:46:17 +10:00
xfs_alloc.h xfs: convert AGF log flags to unsigned. 2022-04-21 10:46:16 +10:00
xfs_attr_leaf.c xfs: add leaf to node error tag 2022-05-11 17:01:23 +10:00
xfs_attr_leaf.h xfs: Make attr name schemes consistent 2021-06-09 09:34:05 -07:00
xfs_attr_remote.c xfs: Merge xfs_delattr_context into xfs_attr_item 2022-05-11 17:01:22 +10:00
xfs_attr_remote.h xfs: Merge xfs_delattr_context into xfs_attr_item 2022-05-11 17:01:22 +10:00
xfs_attr_sf.h xfs: Convert xfs_attr_sf macros to inline functions 2020-09-15 20:52:42 -07:00
xfs_attr.c xfs: xfs_attr_set_iter() does not need to return EAGAIN 2022-05-12 15:12:55 +10:00
xfs_attr.h xfs: clean up final attr removal in xfs_attr_set_iter 2022-05-12 15:12:55 +10:00
xfs_bit.c
xfs_bit.h xfs: Use the correct style for SPDX License Identifier 2020-05-13 15:32:45 -07:00
xfs_bmap_btree.c xfs: Introduce macros to represent new maximum extent counts for data/attr forks 2022-04-11 04:11:19 +00:00
xfs_bmap_btree.h xfs: use separate btree cursor cache for each btree type 2021-10-19 11:45:16 -07:00
xfs_bmap.c xfs: stop artificially limiting the length of bunmap calls 2022-04-28 10:24:59 -07:00
xfs_bmap.h xfs: convert bmapi flags to unsigned. 2022-04-21 10:46:09 +10:00
xfs_btree_staging.c xfs: encode the max btree height in the cursor 2021-10-19 11:45:15 -07:00
xfs_btree_staging.h xfs: xfs_btree_staging.h: delete duplicated words 2020-07-28 20:24:14 -07:00
xfs_btree.c xfs: detect self referencing btree sibling pointers 2022-05-04 12:13:35 +10:00
xfs_btree.h xfs: convert btree buffer log flags to unsigned. 2022-04-21 10:46:33 +10:00
xfs_cksum.h
xfs_da_btree.c xfs: add leaf split error tag 2022-05-11 17:01:23 +10:00
xfs_da_btree.h Merge tag 'large-extent-counters-v9' of https://github.com/chandanr/linux into xfs-5.19-for-next 2022-04-21 16:46:17 +10:00
xfs_da_format.h Merge tag 'large-extent-counters-v9' of https://github.com/chandanr/linux into xfs-5.19-for-next 2022-04-21 16:46:17 +10:00
xfs_defer.c xfs: separate out initial attr_set states 2022-05-12 15:12:52 +10:00
xfs_defer.h xfs: Implement attr logging and replay 2022-05-09 19:09:07 +10:00
xfs_dir2_block.c xfs: convert bp->b_bn references to xfs_buf_daddr() 2021-08-19 10:07:15 -07:00
xfs_dir2_data.c xfs: convert bp->b_bn references to xfs_buf_daddr() 2021-08-19 10:07:15 -07:00
xfs_dir2_leaf.c xfs: convert bp->b_bn references to xfs_buf_daddr() 2021-08-19 10:07:15 -07:00
xfs_dir2_node.c xfs: convert bp->b_bn references to xfs_buf_daddr() 2021-08-19 10:07:15 -07:00
xfs_dir2_priv.h xfs: constify the name argument to various directory functions 2022-03-14 10:23:17 -07:00
xfs_dir2_sf.c xfs: convert xfs_sb_version_has checks to use mount features 2021-08-19 10:07:14 -07:00
xfs_dir2.c xfs: Directory's data fork extent counter can never overflow 2022-04-13 07:02:07 +00:00
xfs_dir2.h xfs: constify xfs_name_dotdot 2022-03-14 10:23:17 -07:00
xfs_dquot_buf.c xfs: remove the xfs_dqblk_t typedef 2021-10-14 09:19:33 -07:00
xfs_errortag.h xfs: add leaf to node error tag 2022-05-11 17:01:23 +10:00
xfs_format.h xfs: Implement attr logging and replay 2022-05-09 19:09:07 +10:00
xfs_fs.h Merge tag 'large-extent-counters-v9' of https://github.com/chandanr/linux into xfs-5.19-for-next 2022-04-21 16:46:17 +10:00
xfs_health.h xfs: Use the correct style for SPDX License Identifier 2020-05-13 15:32:45 -07:00
xfs_ialloc_btree.c xfs: remove kmem_zone typedef 2021-10-22 16:00:31 -07:00
xfs_ialloc_btree.h xfs: use separate btree cursor cache for each btree type 2021-10-19 11:45:16 -07:00
xfs_ialloc.c Merge tag 'large-extent-counters-v9' of https://github.com/chandanr/linux into xfs-5.19-for-next 2022-04-21 16:46:17 +10:00
xfs_ialloc.h xfs: convert AGI log flags to unsigned. 2022-04-21 10:46:24 +10:00
xfs_iext_tree.c xfs: prevent metadata files from being inactivated 2021-03-25 16:47:50 -07:00
xfs_inode_buf.c xfs: validate inode fork size against fork format 2022-05-04 12:13:53 +10:00
xfs_inode_buf.h xfs: kill xfs_sb_version_has_v3inode() 2021-08-19 10:07:14 -07:00
xfs_inode_fork.c xfs: hide log iovec alignment constraints 2022-05-04 11:45:50 +10:00
xfs_inode_fork.h xfs: Conditionally upgrade existing inodes to use large extent counters 2022-04-13 07:02:44 +00:00
xfs_log_format.h xfs: rework deferred attribute operation setup 2022-05-11 17:05:23 +10:00
xfs_log_recover.h xfs: Set up infrastructure for log attribute replay 2022-05-04 12:41:02 +10:00
xfs_log_rlimit.c xfs: reduce transaction reservations with reflink 2022-04-28 10:25:42 -07:00
xfs_quota_defs.h xfs: convert quota options flags to unsigned. 2022-04-21 10:47:32 +10:00
xfs_refcount_btree.c xfs: remove kmem_zone typedef 2021-10-22 16:00:31 -07:00
xfs_refcount_btree.h xfs: use separate btree cursor cache for each btree type 2021-10-19 11:45:16 -07:00
xfs_refcount.c xfs: rename xfs_*alloc*_log_count to _block_count 2022-04-28 10:25:59 -07:00
xfs_refcount.h xfs: stop artificially limiting the length of bunmap calls 2022-04-28 10:24:59 -07:00
xfs_rmap_btree.c xfs: remove kmem_zone typedef 2021-10-22 16:00:31 -07:00
xfs_rmap_btree.h xfs: use separate btree cursor cache for each btree type 2021-10-19 11:45:16 -07:00
xfs_rmap.c xfs: speed up write operations by using non-overlapped lookups when possible 2022-04-28 10:24:38 -07:00
xfs_rmap.h xfs: speed up write operations by using non-overlapped lookups when possible 2022-04-28 10:24:38 -07:00
xfs_rtbitmap.c xfs: pass explicit mount pointer to rtalloc query functions 2022-04-12 06:49:41 +10:00
xfs_sb.c xfs: validate v5 feature fields 2022-05-04 12:17:18 +10:00
xfs_sb.h xfs: open code sb verifier feature checks 2021-08-19 10:07:13 -07:00
xfs_shared.h xfs: tag transactions that contain intent done items 2022-05-04 11:46:21 +10:00
xfs_symlink_remote.c xfs: convert bp->b_bn references to xfs_buf_daddr() 2021-08-19 10:07:15 -07:00
xfs_trans_inode.c xfs: convert xfs_sb_version_has checks to use mount features 2021-08-19 10:07:14 -07:00
xfs_trans_resv.c xfs: rename xfs_*alloc*_log_count to _block_count 2022-04-28 10:25:59 -07:00
xfs_trans_resv.h xfs: rename xfs_*alloc*_log_count to _block_count 2022-04-28 10:25:59 -07:00
xfs_trans_space.h xfs: compute the maximum height of the rmap btree when reflink enabled 2021-10-19 11:45:16 -07:00
xfs_types.c xfs: replace xfs_sb_version checks with feature flag checks 2021-08-19 10:07:12 -07:00
xfs_types.h xfs: Promote xfs_extnum_t and xfs_aextnum_t to 64 and 32-bits respectively 2022-04-11 04:11:18 +00:00