]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
xfs: add a xattr_entry helper
authorDarrick J. Wong <djwong@kernel.org>
Thu, 22 Feb 2024 20:44:22 +0000 (12:44 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Thu, 22 Feb 2024 20:44:22 +0000 (12:44 -0800)
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>
fs/xfs/xfs_attr_item.c

index e14e229fc7126b2bbf9931f55046375997eca7c9..9b4c61e1c22e8ddfb1e4942e8e6282b6c4557d9f 100644 (file)
@@ -391,6 +391,11 @@ xfs_attr_free_item(
                kmem_cache_free(xfs_attr_intent_cache, attr);
 }
 
+static inline struct xfs_attr_intent *attri_entry(const struct list_head *e)
+{
+       return list_entry(e, struct xfs_attr_intent, xattri_list);
+}
+
 /* Process an attr. */
 STATIC int
 xfs_attr_finish_item(
@@ -399,11 +404,10 @@ xfs_attr_finish_item(
        struct list_head                *item,
        struct xfs_btree_cur            **state)
 {
-       struct xfs_attr_intent          *attr;
+       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;
 
        /* Reset trans after EAGAIN cycle since the transaction is new */
@@ -443,9 +447,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);
 }