diff options
Diffstat (limited to 'fs/xfs/libxfs/xfs_alloc_btree.c')
| -rw-r--r-- | fs/xfs/libxfs/xfs_alloc_btree.c | 52 | 
1 files changed, 22 insertions, 30 deletions
diff --git a/fs/xfs/libxfs/xfs_alloc_btree.c b/fs/xfs/libxfs/xfs_alloc_btree.c index a4ac37ba5d51..fa1f03c1331e 100644 --- a/fs/xfs/libxfs/xfs_alloc_btree.c +++ b/fs/xfs/libxfs/xfs_alloc_btree.c @@ -186,35 +186,32 @@ xfs_allocbt_init_ptr_from_cur(  		ptr->s = agf->agf_cnt_root;  } -STATIC int64_t -xfs_bnobt_key_diff( +STATIC int +xfs_bnobt_cmp_key_with_cur(  	struct xfs_btree_cur		*cur,  	const union xfs_btree_key	*key)  {  	struct xfs_alloc_rec_incore	*rec = &cur->bc_rec.a;  	const struct xfs_alloc_rec	*kp = &key->alloc; -	return (int64_t)be32_to_cpu(kp->ar_startblock) - rec->ar_startblock; +	return cmp_int(be32_to_cpu(kp->ar_startblock), +		       rec->ar_startblock);  } -STATIC int64_t -xfs_cntbt_key_diff( +STATIC int +xfs_cntbt_cmp_key_with_cur(  	struct xfs_btree_cur		*cur,  	const union xfs_btree_key	*key)  {  	struct xfs_alloc_rec_incore	*rec = &cur->bc_rec.a;  	const struct xfs_alloc_rec	*kp = &key->alloc; -	int64_t				diff; -	diff = (int64_t)be32_to_cpu(kp->ar_blockcount) - rec->ar_blockcount; -	if (diff) -		return diff; - -	return (int64_t)be32_to_cpu(kp->ar_startblock) - rec->ar_startblock; +	return cmp_int(be32_to_cpu(kp->ar_blockcount), rec->ar_blockcount) ?: +	       cmp_int(be32_to_cpu(kp->ar_startblock), rec->ar_startblock);  } -STATIC int64_t -xfs_bnobt_diff_two_keys( +STATIC int +xfs_bnobt_cmp_two_keys(  	struct xfs_btree_cur		*cur,  	const union xfs_btree_key	*k1,  	const union xfs_btree_key	*k2, @@ -222,29 +219,24 @@ xfs_bnobt_diff_two_keys(  {  	ASSERT(!mask || mask->alloc.ar_startblock); -	return (int64_t)be32_to_cpu(k1->alloc.ar_startblock) - -			be32_to_cpu(k2->alloc.ar_startblock); +	return cmp_int(be32_to_cpu(k1->alloc.ar_startblock), +		       be32_to_cpu(k2->alloc.ar_startblock));  } -STATIC int64_t -xfs_cntbt_diff_two_keys( +STATIC int +xfs_cntbt_cmp_two_keys(  	struct xfs_btree_cur		*cur,  	const union xfs_btree_key	*k1,  	const union xfs_btree_key	*k2,  	const union xfs_btree_key	*mask)  { -	int64_t				diff; -  	ASSERT(!mask || (mask->alloc.ar_blockcount &&  			 mask->alloc.ar_startblock)); -	diff =  be32_to_cpu(k1->alloc.ar_blockcount) - -		be32_to_cpu(k2->alloc.ar_blockcount); -	if (diff) -		return diff; - -	return  be32_to_cpu(k1->alloc.ar_startblock) - -		be32_to_cpu(k2->alloc.ar_startblock); +	return cmp_int(be32_to_cpu(k1->alloc.ar_blockcount), +		       be32_to_cpu(k2->alloc.ar_blockcount)) ?: +	       cmp_int(be32_to_cpu(k1->alloc.ar_startblock), +		       be32_to_cpu(k2->alloc.ar_startblock));  }  static xfs_failaddr_t @@ -438,9 +430,9 @@ const struct xfs_btree_ops xfs_bnobt_ops = {  	.init_high_key_from_rec	= xfs_bnobt_init_high_key_from_rec,  	.init_rec_from_cur	= xfs_allocbt_init_rec_from_cur,  	.init_ptr_from_cur	= xfs_allocbt_init_ptr_from_cur, -	.key_diff		= xfs_bnobt_key_diff, +	.cmp_key_with_cur	= xfs_bnobt_cmp_key_with_cur,  	.buf_ops		= &xfs_bnobt_buf_ops, -	.diff_two_keys		= xfs_bnobt_diff_two_keys, +	.cmp_two_keys		= xfs_bnobt_cmp_two_keys,  	.keys_inorder		= xfs_bnobt_keys_inorder,  	.recs_inorder		= xfs_bnobt_recs_inorder,  	.keys_contiguous	= xfs_allocbt_keys_contiguous, @@ -468,9 +460,9 @@ const struct xfs_btree_ops xfs_cntbt_ops = {  	.init_high_key_from_rec	= xfs_cntbt_init_high_key_from_rec,  	.init_rec_from_cur	= xfs_allocbt_init_rec_from_cur,  	.init_ptr_from_cur	= xfs_allocbt_init_ptr_from_cur, -	.key_diff		= xfs_cntbt_key_diff, +	.cmp_key_with_cur	= xfs_cntbt_cmp_key_with_cur,  	.buf_ops		= &xfs_cntbt_buf_ops, -	.diff_two_keys		= xfs_cntbt_diff_two_keys, +	.cmp_two_keys		= xfs_cntbt_cmp_two_keys,  	.keys_inorder		= xfs_cntbt_keys_inorder,  	.recs_inorder		= xfs_cntbt_recs_inorder,  	.keys_contiguous	= NULL, /* not needed right now */  | 
