From: "Darrick J. Wong" <djwong@kernel.org>
To: djwong@kernel.org, cem@kernel.org
Cc: Christoph Hellwig <hch@lst.de>, linux-xfs@vger.kernel.org
Subject: [PATCH 4/4] libxfs: add a xattr_entry helper
Date: Mon, 03 Jun 2024 12:22:02 -0700 [thread overview]
Message-ID: <171744041412.1447589.9112088958225342343.stgit@frogsfrogsfrogs> (raw)
In-Reply-To: <171744041355.1447589.2661742462217465267.stgit@frogsfrogsfrogs>
From: Darrick J. Wong <djwong@kernel.org>
Add a helper to translate from the item list head to the attr_intent
item structure and use it so shorten assignments and avoid the need for
extra local variables.
Inspired-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
---
libxfs/defer_item.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/libxfs/defer_item.c b/libxfs/defer_item.c
index 36811c7fe..fdb922f08 100644
--- a/libxfs/defer_item.c
+++ b/libxfs/defer_item.c
@@ -570,6 +570,13 @@ const struct xfs_defer_op_type xfs_bmap_update_defer_type = {
.cancel_item = xfs_bmap_update_cancel_item,
};
+/* Logged extended attributes */
+
+static inline struct xfs_attr_intent *attri_entry(const struct list_head *e)
+{
+ return list_entry(e, struct xfs_attr_intent, xattri_list);
+}
+
/* Get an ATTRI. */
static struct xfs_log_item *
xfs_attr_create_intent(
@@ -618,11 +625,10 @@ xfs_attr_finish_item(
struct list_head *item,
struct xfs_btree_cur **state)
{
- struct xfs_attr_intent *attr;
- int error;
+ struct xfs_attr_intent *attr = attri_entry(item);
struct xfs_da_args *args;
+ int error;
- attr = container_of(item, struct xfs_attr_intent, xattri_list);
args = attr->xattri_da_args;
/*
@@ -651,9 +657,8 @@ static void
xfs_attr_cancel_item(
struct list_head *item)
{
- struct xfs_attr_intent *attr;
+ struct xfs_attr_intent *attr = attri_entry(item);
- attr = container_of(item, struct xfs_attr_intent, xattri_list);
xfs_attr_free_item(attr);
}
next prev parent reply other threads:[~2024-06-03 19:22 UTC|newest]
Thread overview: 153+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-03 18:45 [PATCHBOMB] xfsprogs: catch us up to 6.9 (final) Darrick J. Wong
2024-06-03 18:48 ` [PATCHSET v30.5 01/10] libxfs: prepare to sync with 6.9 Darrick J. Wong
2024-06-03 18:51 ` [PATCH 1/3] libxfs: actually set m_fsname Darrick J. Wong
2024-06-03 18:51 ` [PATCH 2/3] libxfs: clean up xfs_da_unmount usage Darrick J. Wong
2024-06-03 18:52 ` [PATCH 3/3] libfrog: create a new scrub group for things requiring full inode scans Darrick J. Wong
2024-06-03 18:49 ` [PATCHSET v30.5 02/10] libxfs: sync with 6.9 Darrick J. Wong
2024-06-03 18:52 ` [PATCH 001/111] xfs: convert kmem_zalloc() to kzalloc() Darrick J. Wong
2024-06-03 18:52 ` [PATCH 002/111] xfs: convert kmem_alloc() to kmalloc() Darrick J. Wong
2024-06-03 18:52 ` [PATCH 003/111] xfs: convert remaining kmem_free() to kfree() Darrick J. Wong
2024-06-03 18:53 ` [PATCH 004/111] xfs: use __GFP_NOLOCKDEP instead of GFP_NOFS Darrick J. Wong
2024-06-03 18:53 ` [PATCH 005/111] xfs: use GFP_KERNEL in pure transaction contexts Darrick J. Wong
2024-06-03 18:53 ` [PATCH 006/111] xfs: clean up remaining GFP_NOFS users Darrick J. Wong
2024-06-03 18:53 ` [PATCH 007/111] xfs: use xfs_defer_alloc a bit more Darrick J. Wong
2024-06-03 18:54 ` [PATCH 008/111] xfs: Replace xfs_isilocked with xfs_assert_ilocked Darrick J. Wong
2024-06-03 18:54 ` [PATCH 009/111] xfs: create a static name for the dot entry too Darrick J. Wong
2024-06-03 18:54 ` [PATCH 010/111] xfs: create a predicate to determine if two xfs_names are the same Darrick J. Wong
2024-06-03 18:54 ` [PATCH 011/111] xfs: create a macro for decoding ftypes in tracepoints Darrick J. Wong
2024-06-03 18:55 ` [PATCH 012/111] xfs: report the health of quota counts Darrick J. Wong
2024-06-03 18:55 ` [PATCH 013/111] xfs: implement live quotacheck inode scan Darrick J. Wong
2024-06-03 18:55 ` [PATCH 014/111] xfs: report health of inode link counts Darrick J. Wong
2024-06-03 18:55 ` [PATCH 015/111] xfs: teach scrub to check file nlinks Darrick J. Wong
2024-06-03 18:56 ` [PATCH 016/111] xfs: separate the marking of sick and checked metadata Darrick J. Wong
2024-06-03 18:56 ` [PATCH 017/111] xfs: report fs corruption errors to the health tracking system Darrick J. Wong
2024-06-03 18:56 ` [PATCH 018/111] xfs: report ag header " Darrick J. Wong
2024-06-03 18:57 ` [PATCH 019/111] xfs: report block map " Darrick J. Wong
2024-06-03 18:57 ` [PATCH 020/111] xfs: report btree block corruption errors to the health system Darrick J. Wong
2024-06-03 18:57 ` [PATCH 021/111] xfs: report dir/attr " Darrick J. Wong
2024-06-03 18:57 ` [PATCH 022/111] xfs: report inode " Darrick J. Wong
2024-06-03 18:58 ` [PATCH 023/111] xfs: report realtime metadata " Darrick J. Wong
2024-06-03 18:58 ` [PATCH 024/111] xfs: report XFS_IS_CORRUPT " Darrick J. Wong
2024-06-03 18:58 ` [PATCH 025/111] xfs: add secondary and indirect classes to the health tracking system Darrick J. Wong
2024-06-03 18:58 ` [PATCH 026/111] xfs: remember sick inodes that get inactivated Darrick J. Wong
2024-06-03 18:59 ` [PATCH 027/111] xfs: update health status if we get a clean bill of health Darrick J. Wong
2024-06-03 18:59 ` [PATCH 028/111] xfs: consolidate btree block freeing tracepoints Darrick J. Wong
2024-06-03 18:59 ` [PATCH 029/111] xfs: consolidate btree block allocation tracepoints Darrick J. Wong
2024-06-03 18:59 ` [PATCH 030/111] xfs: set the btree cursor bc_ops in xfs_btree_alloc_cursor Darrick J. Wong
2024-06-03 19:00 ` [PATCH 031/111] xfs: drop XFS_BTREE_CRC_BLOCKS Darrick J. Wong
2024-06-03 19:00 ` [PATCH 032/111] xfs: encode the btree geometry flags in the btree ops structure Darrick J. Wong
2024-06-03 19:00 ` [PATCH 033/111] xfs: remove bc_ino.flags Darrick J. Wong
2024-06-03 19:00 ` [PATCH 034/111] xfs: consolidate the xfs_alloc_lookup_* helpers Darrick J. Wong
2024-06-03 19:01 ` [PATCH 035/111] xfs: turn the allocbt cursor active field into a btree flag Darrick J. Wong
2024-06-03 19:01 ` [PATCH 036/111] xfs: extern some btree ops structures Darrick J. Wong
2024-06-03 19:01 ` [PATCH 037/111] xfs: initialize btree blocks using btree_ops structure Darrick J. Wong
2024-06-03 19:01 ` [PATCH 038/111] xfs: rename btree block/buffer init functions Darrick J. Wong
2024-06-03 19:02 ` [PATCH 039/111] xfs: btree convert xfs_btree_init_block to xfs_btree_init_buf calls Darrick J. Wong
2024-06-03 19:02 ` [PATCH 040/111] xfs: remove the unnecessary daddr paramter to _init_block Darrick J. Wong
2024-06-03 19:02 ` [PATCH 041/111] xfs: set btree block buffer ops in _init_buf Darrick J. Wong
2024-06-03 19:03 ` [PATCH 042/111] xfs: move lru refs to the btree ops structure Darrick J. Wong
2024-06-03 19:03 ` [PATCH 043/111] xfs: move the btree stats offset into struct btree_ops Darrick J. Wong
2024-06-03 19:03 ` [PATCH 044/111] xfs: factor out a xfs_btree_owner helper Darrick J. Wong
2024-06-03 19:03 ` [PATCH 045/111] xfs: factor out a btree block owner check Darrick J. Wong
2024-06-03 19:04 ` [PATCH 046/111] xfs: store the btree pointer length in struct xfs_btree_ops Darrick J. Wong
2024-06-03 19:04 ` [PATCH 047/111] xfs: split out a btree type from the btree ops geometry flags Darrick J. Wong
2024-06-03 19:04 ` [PATCH 048/111] xfs: split the per-btree union in struct xfs_btree_cur Darrick J. Wong
2024-06-03 19:04 ` [PATCH 049/111] xfs: create predicate to determine if cursor is at inode root level Darrick J. Wong
2024-06-03 19:05 ` [PATCH 050/111] xfs: move comment about two 2 keys per pointer in the rmap btree Darrick J. Wong
2024-06-03 19:05 ` [PATCH 051/111] xfs: add a xfs_btree_init_ptr_from_cur Darrick J. Wong
2024-06-03 19:05 ` [PATCH 052/111] xfs: don't override bc_ops for staging btrees Darrick J. Wong
2024-06-03 19:05 ` [PATCH 053/111] xfs: fold xfs_allocbt_init_common into xfs_allocbt_init_cursor Darrick J. Wong
2024-06-03 19:06 ` [PATCH 054/111] xfs: remove xfs_allocbt_stage_cursor Darrick J. Wong
2024-06-03 19:06 ` [PATCH 055/111] xfs: fold xfs_inobt_init_common into xfs_inobt_init_cursor Darrick J. Wong
2024-06-03 19:06 ` [PATCH 056/111] xfs: remove xfs_inobt_stage_cursor Darrick J. Wong
2024-06-03 19:06 ` [PATCH 057/111] xfs: fold xfs_refcountbt_init_common into xfs_refcountbt_init_cursor Darrick J. Wong
2024-06-03 19:07 ` [PATCH 058/111] xfs: remove xfs_refcountbt_stage_cursor Darrick J. Wong
2024-06-03 19:07 ` [PATCH 059/111] xfs: fold xfs_rmapbt_init_common into xfs_rmapbt_init_cursor Darrick J. Wong
2024-06-03 19:07 ` [PATCH 060/111] xfs: remove xfs_rmapbt_stage_cursor Darrick J. Wong
2024-06-03 19:07 ` [PATCH 061/111] xfs: make full use of xfs_btree_stage_ifakeroot in xfs_bmbt_stage_cursor Darrick J. Wong
2024-06-03 19:08 ` [PATCH 062/111] xfs: make staging file forks explicit Darrick J. Wong
2024-06-03 19:08 ` [PATCH 063/111] xfs: fold xfs_bmbt_init_common into xfs_bmbt_init_cursor Darrick J. Wong
2024-06-03 19:08 ` [PATCH 064/111] xfs: remove xfs_bmbt_stage_cursor Darrick J. Wong
2024-06-03 19:09 ` [PATCH 065/111] xfs: split the agf_roots and agf_levels arrays Darrick J. Wong
2024-06-03 19:09 ` [PATCH 066/111] xfs: add a name field to struct xfs_btree_ops Darrick J. Wong
2024-06-03 19:09 ` [PATCH 067/111] xfs: add a sick_mask " Darrick J. Wong
2024-06-03 19:09 ` [PATCH 068/111] xfs: split xfs_allocbt_init_cursor Darrick J. Wong
2024-06-03 19:10 ` [PATCH 069/111] xfs: remove xfs_inobt_cur Darrick J. Wong
2024-06-03 19:10 ` [PATCH 070/111] xfs: remove the btnum argument to xfs_inobt_count_blocks Darrick J. Wong
2024-06-03 19:10 ` [PATCH 071/111] xfs: split xfs_inobt_insert_sprec Darrick J. Wong
2024-06-03 19:10 ` [PATCH 072/111] xfs: split xfs_inobt_init_cursor Darrick J. Wong
2024-06-03 19:11 ` [PATCH 073/111] xfs: pass a 'bool is_finobt' to xfs_inobt_insert Darrick J. Wong
2024-06-03 19:11 ` [PATCH 074/111] xfs: remove xfs_btnum_t Darrick J. Wong
2024-06-03 19:11 ` [PATCH 075/111] xfs: simplify xfs_btree_check_sblock_siblings Darrick J. Wong
2024-06-03 19:11 ` [PATCH 076/111] xfs: simplify xfs_btree_check_lblock_siblings Darrick J. Wong
2024-06-03 19:12 ` [PATCH 077/111] xfs: open code xfs_btree_check_lptr in xfs_bmap_btree_to_extents Darrick J. Wong
2024-06-03 19:12 ` [PATCH 078/111] xfs: consolidate btree ptr checking Darrick J. Wong
2024-06-03 19:12 ` [PATCH 079/111] xfs: misc cleanups for __xfs_btree_check_sblock Darrick J. Wong
2024-06-03 19:12 ` [PATCH 080/111] xfs: remove the crc variable in __xfs_btree_check_lblock Darrick J. Wong
2024-06-03 19:13 ` [PATCH 081/111] xfs: tighten up validation of root block in inode forks Darrick J. Wong
2024-06-03 19:13 ` [PATCH 082/111] xfs: consolidate btree block verification Darrick J. Wong
2024-06-03 19:13 ` [PATCH 083/111] xfs: rename btree helpers that depends on the block number representation Darrick J. Wong
2024-06-03 19:13 ` [PATCH 084/111] xfs: factor out a __xfs_btree_check_lblock_hdr helper Darrick J. Wong
2024-06-03 19:14 ` [PATCH 085/111] xfs: remove xfs_btree_reada_bufl Darrick J. Wong
2024-06-03 19:14 ` [PATCH 086/111] xfs: remove xfs_btree_reada_bufs Darrick J. Wong
2024-06-03 19:14 ` [PATCH 087/111] xfs: move and rename xfs_btree_read_bufl Darrick J. Wong
2024-06-03 19:14 ` [PATCH 088/111] libxfs: teach buftargs to maintain their own buffer hashtable Darrick J. Wong
2024-06-03 19:15 ` [PATCH 089/111] libxfs: add xfile support Darrick J. Wong
2024-06-03 19:15 ` [PATCH 090/111] libxfs: partition memfd files to avoid using too many fds Darrick J. Wong
2024-06-03 19:15 ` [PATCH 091/111] xfs: teach buftargs to maintain their own buffer hashtable Darrick J. Wong
2024-06-03 19:16 ` [PATCH 092/111] libxfs: support in-memory buffer cache targets Darrick J. Wong
2024-06-03 19:16 ` [PATCH 093/111] xfs: add a xfs_btree_ptrs_equal helper Darrick J. Wong
2024-06-03 19:16 ` [PATCH 094/111] xfs: support in-memory btrees Darrick J. Wong
2024-06-03 19:16 ` [PATCH 095/111] xfs: launder in-memory btree buffers before transaction commit Darrick J. Wong
2024-06-03 19:17 ` [PATCH 096/111] xfs: create a helper to decide if a file mapping targets the rt volume Darrick J. Wong
2024-06-03 19:17 ` [PATCH 097/111] xfs: repair the rmapbt Darrick J. Wong
2024-06-03 19:17 ` [PATCH 098/111] xfs: create a shadow rmap btree during rmap repair Darrick J. Wong
2024-06-03 19:17 ` [PATCH 099/111] xfs: hook live rmap operations during a repair operation Darrick J. Wong
2024-06-03 19:18 ` [PATCH 100/111] xfs: clean up bmap log intent item tracepoint callsites Darrick J. Wong
2024-06-03 19:18 ` [PATCH 101/111] xfs: move xfs_bmap_defer_add to xfs_bmap_item.c Darrick J. Wong
2024-06-03 19:18 ` [PATCH 102/111] xfs: fix xfs_bunmapi to allow unmapping of partial rt extents Darrick J. Wong
2024-06-03 19:18 ` [PATCH 103/111] xfs: add a realtime flag to the bmap update log redo items Darrick J. Wong
2024-06-03 19:19 ` [PATCH 104/111] xfs: support deferred bmap updates on the attr fork Darrick J. Wong
2024-06-03 19:19 ` [PATCH 105/111] xfs: xfs_bmap_finish_one should map unwritten extents properly Darrick J. Wong
2024-06-03 19:19 ` [PATCH 106/111] xfs: move xfs_symlink_remote.c declarations to xfs_symlink_remote.h Darrick J. Wong
2024-06-03 19:19 ` [PATCH 107/111] xfs: move remote symlink target read function to libxfs Darrick J. Wong
2024-06-03 19:20 ` [PATCH 108/111] xfs: move symlink target write " Darrick J. Wong
2024-06-03 19:20 ` [PATCH 109/111] xfs: xfs_btree_bload_prep_block() should use __GFP_NOFAIL Darrick J. Wong
2024-06-03 19:20 ` [PATCH 110/111] xfs: shrink failure needs to hold AGI buffer Darrick J. Wong
2024-06-03 19:20 ` [PATCH 111/111] xfs: allow sunit mount option to repair bad primary sb stripe values Darrick J. Wong
2024-06-03 18:49 ` [PATCHSET v30.5 03/10] xfsprogs: bmap log intent cleanups Darrick J. Wong
2024-06-03 19:21 ` [PATCH 1/4] libxfs: remove kmem_alloc, kmem_zalloc, and kmem_free Darrick J. Wong
2024-06-03 19:21 ` [PATCH 2/4] libxfs: add a bi_entry helper Darrick J. Wong
2024-06-03 19:21 ` [PATCH 3/4] libxfs: reuse xfs_bmap_update_cancel_item Darrick J. Wong
2024-06-03 19:22 ` Darrick J. Wong [this message]
2024-06-03 18:49 ` [PATCHSET v30.5 04/10] xfsprogs: widen BUI formats to support realtime Darrick J. Wong
2024-06-03 19:22 ` [PATCH 1/1] libxfs: add a realtime flag to the bmap update log redo items Darrick J. Wong
2024-06-03 18:49 ` [PATCHSET v30.5 05/10] xfs_spaceman: updates for 6.9 Darrick J. Wong
2024-06-03 19:22 ` [PATCH 1/2] xfs_spaceman: report the health of quota counts Darrick J. Wong
2024-06-03 19:22 ` [PATCH 2/2] xfs_spaceman: report health of inode link counts Darrick J. Wong
2024-06-03 18:50 ` [PATCHSET v30.5 06/10] xfs_scrub: updates for 6.9 Darrick J. Wong
2024-06-03 19:23 ` [PATCH 1/5] xfs_scrub: implement live quotacheck inode scan Darrick J. Wong
2024-06-03 19:23 ` [PATCH 2/5] xfs_scrub: check file link counts Darrick J. Wong
2024-06-03 19:23 ` [PATCH 3/5] xfs_scrub: update health status if we get a clean bill of health Darrick J. Wong
2024-06-03 19:23 ` [PATCH 4/5] xfs_scrub: use multiple threads to run in-kernel metadata scrubs that scan inodes Darrick J. Wong
2024-06-03 19:24 ` [PATCH 5/5] xfs_scrub: upload clean bills of health Darrick J. Wong
2024-06-03 18:50 ` [PATCHSET v30.5 07/10] xfs_repair: minor fixes Darrick J. Wong
2024-06-03 19:24 ` [PATCH 1/2] xfs_repair: log when buffers fail CRC checks even if we just recompute it Darrick J. Wong
2024-06-03 19:24 ` [PATCH 2/2] xfs_repair: check num before bplist[num] Darrick J. Wong
2024-06-03 18:50 ` [PATCHSET v30.5 08/10] xfs_repair: use in-memory rmap btrees Darrick J. Wong
2024-06-03 19:24 ` [PATCH 1/6] libxfs: provide a kernel-compatible kasprintf Darrick J. Wong
2024-06-03 19:25 ` [PATCH 2/6] xfs_repair: convert regular rmap repair to use in-memory btrees Darrick J. Wong
2024-06-03 19:25 ` [PATCH 3/6] xfs_repair: verify on-disk rmap btrees with in-memory btree data Darrick J. Wong
2024-06-03 19:25 ` [PATCH 4/6] xfs_repair: compute refcount data from in-memory rmap btrees Darrick J. Wong
2024-06-03 19:25 ` [PATCH 5/6] xfs_repair: reduce rmap bag memory usage when creating refcounts Darrick J. Wong
2024-06-03 19:26 ` [PATCH 6/6] xfs_repair: remove the old rmap collection slabs Darrick J. Wong
2024-06-03 18:51 ` [PATCHSET v30.5 09/10] xfs_repair: reduce refcount repair memory usage Darrick J. Wong
2024-06-03 19:26 ` [PATCH 1/4] xfs_repair: define an in-memory btree for storing refcount bag info Darrick J. Wong
2024-06-03 19:26 ` [PATCH 2/4] xfs_repair: create refcount bag Darrick J. Wong
2024-06-03 19:27 ` [PATCH 3/4] xfs_repair: port to the new refcount bag structure Darrick J. Wong
2024-06-03 19:27 ` [PATCH 4/4] xfs_repair: remove the old bag implementation Darrick J. Wong
2024-06-03 18:51 ` [PATCHSET v30.5 10/10] mkfs: cleanups for 6.9 Darrick J. Wong
2024-06-03 19:27 ` [PATCH 1/1] mkfs: use libxfs to create symlinks Darrick J. Wong
-- strict thread matches above, loose matches on Subject: below --
2024-05-22 2:46 [PATCHSET v30.4 03/10] xfsprogs: bmap log intent cleanups Darrick J. Wong
2024-05-22 3:18 ` [PATCH 4/4] libxfs: add a xattr_entry helper Darrick J. Wong
2024-04-16 0:58 [PATCHSET v30.3 3/4] xfsprogs: bmap log intent cleanups Darrick J. Wong
2024-04-16 1:02 ` [PATCH 4/4] libxfs: add a xattr_entry helper Darrick J. Wong
2024-04-16 4:56 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=171744041412.1447589.9112088958225342343.stgit@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=cem@kernel.org \
--cc=hch@lst.de \
--cc=linux-xfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).