From: Darrick J. Wong Date: Wed, 21 Jun 2017 22:14:30 +0000 (-0500) Subject: xfs_repair: replace rmap_compare with libxfs version X-Git-Tag: v4.12.0-rc1~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=197c2c6ad21b8c31b16a2e1c1ec08200c7d61af7;p=thirdparty%2Fxfsprogs-dev.git xfs_repair: replace rmap_compare with libxfs version Now that libxfs has a function to compare rmaps, replace xfs_repair's helper function with that. Signed-off-by: Darrick J. Wong Reviewed-by: Eric Sandeen Signed-off-by: Eric Sandeen --- diff --git a/libxfs/libxfs_api_defs.h b/libxfs/libxfs_api_defs.h index 34716c49c..d299b7a24 100644 --- a/libxfs/libxfs_api_defs.h +++ b/libxfs/libxfs_api_defs.h @@ -145,5 +145,6 @@ #define xfs_refcount_get_rec libxfs_refcount_get_rec #define xfs_rmap_lookup_le_range libxfs_rmap_lookup_le_range #define xfs_refc_block libxfs_refc_block +#define xfs_rmap_compare libxfs_rmap_compare #endif /* __LIBXFS_API_DEFS_H__ */ diff --git a/repair/rmap.c b/repair/rmap.c index 7508973c5..ab6e58396 100644 --- a/repair/rmap.c +++ b/repair/rmap.c @@ -49,37 +49,9 @@ static struct xfs_ag_rmap *ag_rmaps; static bool rmapbt_suspect; static bool refcbt_suspect; -/* - * Compare rmap observations for array sorting. - */ -static int -rmap_compare( - const void *a, - const void *b) +static inline int rmap_compare(const void *a, const void *b) { - const struct xfs_rmap_irec *pa; - const struct xfs_rmap_irec *pb; - __u64 oa; - __u64 ob; - - pa = a; pb = b; - oa = libxfs_rmap_irec_offset_pack(pa); - ob = libxfs_rmap_irec_offset_pack(pb); - - if (pa->rm_startblock < pb->rm_startblock) - return -1; - else if (pa->rm_startblock > pb->rm_startblock) - return 1; - else if (pa->rm_owner < pb->rm_owner) - return -1; - else if (pa->rm_owner > pb->rm_owner) - return 1; - else if (oa < ob) - return -1; - else if (oa > ob) - return 1; - else - return 0; + return libxfs_rmap_compare(a, b); } /*