diff options
author | Darrick J. Wong <djwong@kernel.org> | 2024-04-22 19:48:16 +0300 |
---|---|---|
committer | Darrick J. Wong <djwong@kernel.org> | 2024-04-24 02:55:15 +0300 |
commit | a26dc21309af68623b82b4e366cbbeb5a85ce65b (patch) | |
tree | 3703a8518aa178121f79c5762e91354ff6703169 /fs/xfs/libxfs/xfs_attr.h | |
parent | 6efbbdeb140603351e1413aee79e789bf2279a2b (diff) | |
download | linux-a26dc21309af68623b82b4e366cbbeb5a85ce65b.tar.xz |
xfs: actually rebuild the parent pointer xattrs
Once we've assembled all the parent pointers for a file, we need to
commit the new dataset atomically to that file. Parent pointer records
are embedded in the xattr structure, which means that we must write a
new extended attribute structure, again, atomically. Therefore, we must
copy the non-parent-pointer attributes from the file being repaired into
the temporary file's extended attributes and then call the atomic extent
swap mechanism to exchange the blocks.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/xfs/libxfs/xfs_attr.h')
-rw-r--r-- | fs/xfs/libxfs/xfs_attr.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/xfs/libxfs/xfs_attr.h b/fs/xfs/libxfs/xfs_attr.h index 43dee4cbaab2..088cb7b30168 100644 --- a/fs/xfs/libxfs/xfs_attr.h +++ b/fs/xfs/libxfs/xfs_attr.h @@ -648,5 +648,6 @@ int __init xfs_attr_intent_init_cache(void); void xfs_attr_intent_destroy_cache(void); int xfs_attr_sf_totsize(struct xfs_inode *dp); +int xfs_attr_add_fork(struct xfs_inode *ip, int size, int rsvd); #endif /* __XFS_ATTR_H__ */ |