]> www.infradead.org Git - users/hch/xfsprogs.git/commitdiff
xfs: add parent attributes to link
authorAllison Henderson <allison.henderson@oracle.com>
Tue, 9 Jan 2024 17:39:21 +0000 (09:39 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Wed, 10 Apr 2024 00:21:29 +0000 (17:21 -0700)
This patch modifies xfs_link to add a parent pointer to the inode.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Allison Henderson <allison.henderson@oracle.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
[djwong: minor rebase fixes]
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
libxfs/xfs_trans_space.c
libxfs/xfs_trans_space.h

index 3408e700f010582e88fe0012e6f9418d4ee1f9bd..039bbd91e872882a18ae51231f033f2078c53d68 100644 (file)
@@ -50,3 +50,17 @@ xfs_mkdir_space_res(
 {
        return xfs_create_space_res(mp, namelen);
 }
+
+unsigned int
+xfs_link_space_res(
+       struct xfs_mount        *mp,
+       unsigned int            namelen)
+{
+       unsigned int            ret;
+
+       ret = XFS_DIRENTER_SPACE_RES(mp, namelen);
+       if (xfs_has_parent(mp))
+               ret += xfs_parent_calc_space_res(mp, namelen);
+
+       return ret;
+}
index 6cda87153b38cf4580eaf3a4a076f6623b1a2613..5539634009fb2b8e7d32032838088969569a477f 100644 (file)
@@ -86,8 +86,6 @@
        (2 * (mp)->m_alloc_maxlevels)
 #define        XFS_GROWFSRT_SPACE_RES(mp,b)    \
        ((b) + XFS_EXTENTADD_SPACE_RES(mp, XFS_DATA_FORK))
-#define        XFS_LINK_SPACE_RES(mp,nl)       \
-       XFS_DIRENTER_SPACE_RES(mp,nl)
 #define        XFS_QM_DQALLOC_SPACE_RES(mp)    \
        (XFS_EXTENTADD_SPACE_RES(mp, XFS_DATA_FORK) + \
         XFS_DQUOT_CLUSTER_SIZE_FSB)
@@ -107,5 +105,6 @@ unsigned int xfs_parent_calc_space_res(struct xfs_mount *mp,
 
 unsigned int xfs_create_space_res(struct xfs_mount *mp, unsigned int namelen);
 unsigned int xfs_mkdir_space_res(struct xfs_mount *mp, unsigned int namelen);
+unsigned int xfs_link_space_res(struct xfs_mount *mp, unsigned int namelen);
 
 #endif /* __XFS_TRANS_SPACE_H__ */