diff options
| author | Christoph Hellwig <hch@lst.de> | 2024-04-25 15:17:03 +0200 |
|---|---|---|
| committer | Chandan Babu R <chandanbabu@kernel.org> | 2024-04-26 11:21:46 +0530 |
| commit | e58ac1770ded2a316447ca7608bb7809af82eca6 (patch) | |
| tree | 872ed3e02ec6d24782694ff4086f610bfdff87c3 /fs/xfs/libxfs/xfs_exchmaps.c | |
| parent | dfe5febe2b6a175d730861441bff4f726fc58a6c (diff) | |
xfs: refactor dir format helpers
Add a new enum and a xfs_dir2_format helper that returns it to allow
the code to switch on the format of a directory in a single operation
and switch all helpers of xfs_dir2_isblock and xfs_dir2_isleaf to it.
This also removes the explicit xfs_iread_extents call in a few of the
call sites given that xfs_bmap_last_offset already takes care of it
underneath.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>
Diffstat (limited to 'fs/xfs/libxfs/xfs_exchmaps.c')
| -rw-r--r-- | fs/xfs/libxfs/xfs_exchmaps.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/fs/xfs/libxfs/xfs_exchmaps.c b/fs/xfs/libxfs/xfs_exchmaps.c index 44ab6a9235c0..2021396651de 100644 --- a/fs/xfs/libxfs/xfs_exchmaps.c +++ b/fs/xfs/libxfs/xfs_exchmaps.c @@ -465,17 +465,12 @@ xfs_exchmaps_dir_to_sf( }; struct xfs_dir2_sf_hdr sfh; struct xfs_buf *bp; - bool isblock; int size; - int error; + int error = 0; - error = xfs_dir2_isblock(&args, &isblock); - if (error) + if (xfs_dir2_format(&args, &error) != XFS_DIR2_FMT_BLOCK) return error; - if (!isblock) - return 0; - error = xfs_dir3_block_read(tp, xmi->xmi_ip2, xmi->xmi_ip2->i_ino, &bp); if (error) return error; |