aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2016-08-02 22:22:12 -0400
committerDave Chinner <david@fromorbit.com>2016-08-02 22:22:12 -0400
commit973b83194bf12f7e315aace57ae2096ff7b82360 (patch)
tree108b1c595c1f83d42491c60db077df15028b2333 /fs/xfs
parent1c0607ace9bd639d22ad1bd453ffeb7d55913f88 (diff)
xfs: remove the get*keys and update_keys btree ops pointers
These are internal btree functions; we don't need them to be dispatched via function pointers. Make them static again and just check the overlapped flag to figure out what we need to do. The strategy behind this patch was suggested by Christoph. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Suggested-by: Christoph Hellwig <hch@infradead.org> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/xfs')
-rw-r--r--fs/xfs/libxfs/xfs_alloc_btree.c4
-rw-r--r--fs/xfs/libxfs/xfs_bmap_btree.c4
-rw-r--r--fs/xfs/libxfs/xfs_btree.c153
-rw-r--r--fs/xfs/libxfs/xfs_btree.h24
-rw-r--r--fs/xfs/libxfs/xfs_ialloc_btree.c8
-rw-r--r--fs/xfs/libxfs/xfs_rmap_btree.c4
6 files changed, 61 insertions, 136 deletions
diff --git a/fs/xfs/libxfs/xfs_alloc_btree.c b/fs/xfs/libxfs/xfs_alloc_btree.c
index c60eeb826b9d..5ba2dac5e67c 100644
--- a/fs/xfs/libxfs/xfs_alloc_btree.c
+++ b/fs/xfs/libxfs/xfs_alloc_btree.c
@@ -403,10 +403,6 @@ static const struct xfs_btree_ops xfs_allocbt_ops = {
403 .keys_inorder = xfs_allocbt_keys_inorder, 403 .keys_inorder = xfs_allocbt_keys_inorder,
404 .recs_inorder = xfs_allocbt_recs_inorder, 404 .recs_inorder = xfs_allocbt_recs_inorder,
405#endif 405#endif
406
407 .get_leaf_keys = xfs_btree_get_leaf_keys,
408 .get_node_keys = xfs_btree_get_node_keys,
409 .update_keys = xfs_btree_update_keys,
410}; 406};
411 407
412/* 408/*
diff --git a/fs/xfs/libxfs/xfs_bmap_btree.c b/fs/xfs/libxfs/xfs_bmap_btree.c
index 9e34ca413e53..cd85274e810c 100644
--- a/fs/xfs/libxfs/xfs_bmap_btree.c
+++ b/fs/xfs/libxfs/xfs_bmap_btree.c
@@ -763,10 +763,6 @@ static const struct xfs_btree_ops xfs_bmbt_ops = {
763 .keys_inorder = xfs_bmbt_keys_inorder, 763 .keys_inorder = xfs_bmbt_keys_inorder,
764 .recs_inorder = xfs_bmbt_recs_inorder, 764 .recs_inorder = xfs_bmbt_recs_inorder,
765#endif 765#endif
766
767 .get_leaf_keys = xfs_btree_get_leaf_keys,
768 .get_node_keys = xfs_btree_get_node_keys,
769 .update_keys = xfs_btree_update_keys,
770}; 766};
771 767
772/* 768/*
diff --git a/fs/xfs/libxfs/xfs_btree.c b/fs/xfs/libxfs/xfs_btree.c
index fe5f27e4cdc5..2a13d418ed4b 100644
--- a/fs/xfs/libxfs/xfs_btree.c
+++ b/fs/xfs/libxfs/xfs_btree.c
@@ -1951,29 +1951,6 @@ error0:
1951 return error; 1951 return error;
1952} 1952}
1953 1953
1954/* Determine the low key of a leaf block (simple) */
1955void
1956xfs_btree_get_leaf_keys(
1957 struct xfs_btree_cur *cur,
1958 struct xfs_btree_block *block,
1959 union xfs_btree_key *key)
1960{
1961 union xfs_btree_rec *rec;
1962
1963 rec = xfs_btree_rec_addr(cur, 1, block);
1964 cur->bc_ops->init_key_from_rec(key, rec);
1965}
1966
1967/* Determine the low key of a node block (simple) */
1968void
1969xfs_btree_get_node_keys(
1970 struct xfs_btree_cur *cur,
1971 struct xfs_btree_block *block,
1972 union xfs_btree_key *key)
1973{
1974 memcpy(key, xfs_btree_key_addr(cur, 1, block), cur->bc_ops->key_len);
1975}
1976
1977/* Find the high key storage area from a regular key. */ 1954/* Find the high key storage area from a regular key. */
1978STATIC union xfs_btree_key * 1955STATIC union xfs_btree_key *
1979xfs_btree_high_key_from_key( 1956xfs_btree_high_key_from_key(
@@ -1985,60 +1962,67 @@ xfs_btree_high_key_from_key(
1985 (cur->bc_ops->key_len / 2)); 1962 (cur->bc_ops->key_len / 2));
1986} 1963}
1987 1964
1988/* Determine the low and high keys of a leaf block (overlapped) */ 1965/* Determine the low (and high if overlapped) keys of a leaf block */
1989void 1966STATIC void
1990xfs_btree_get_leaf_keys_overlapped( 1967xfs_btree_get_leaf_keys(
1991 struct xfs_btree_cur *cur, 1968 struct xfs_btree_cur *cur,
1992 struct xfs_btree_block *block, 1969 struct xfs_btree_block *block,
1993 union xfs_btree_key *key) 1970 union xfs_btree_key *key)
1994{ 1971{
1995 int n;
1996 union xfs_btree_rec *rec;
1997 union xfs_btree_key max_hkey; 1972 union xfs_btree_key max_hkey;
1998 union xfs_btree_key hkey; 1973 union xfs_btree_key hkey;
1974 union xfs_btree_rec *rec;
1999 union xfs_btree_key *high; 1975 union xfs_btree_key *high;
1976 int n;
2000 1977
2001 ASSERT(cur->bc_flags & XFS_BTREE_OVERLAPPING);
2002 rec = xfs_btree_rec_addr(cur, 1, block); 1978 rec = xfs_btree_rec_addr(cur, 1, block);
2003 cur->bc_ops->init_key_from_rec(key, rec); 1979 cur->bc_ops->init_key_from_rec(key, rec);
2004 1980
2005 cur->bc_ops->init_high_key_from_rec(&max_hkey, rec); 1981 if (cur->bc_flags & XFS_BTREE_OVERLAPPING) {
2006 for (n = 2; n <= xfs_btree_get_numrecs(block); n++) { 1982
2007 rec = xfs_btree_rec_addr(cur, n, block); 1983 cur->bc_ops->init_high_key_from_rec(&max_hkey, rec);
2008 cur->bc_ops->init_high_key_from_rec(&hkey, rec); 1984 for (n = 2; n <= xfs_btree_get_numrecs(block); n++) {
2009 if (cur->bc_ops->diff_two_keys(cur, &hkey, &max_hkey) > 0) 1985 rec = xfs_btree_rec_addr(cur, n, block);
2010 max_hkey = hkey; 1986 cur->bc_ops->init_high_key_from_rec(&hkey, rec);
2011 } 1987 if (cur->bc_ops->diff_two_keys(cur, &hkey, &max_hkey)
1988 > 0)
1989 max_hkey = hkey;
1990 }
2012 1991
2013 high = xfs_btree_high_key_from_key(cur, key); 1992 high = xfs_btree_high_key_from_key(cur, key);
2014 memcpy(high, &max_hkey, cur->bc_ops->key_len / 2); 1993 memcpy(high, &max_hkey, cur->bc_ops->key_len / 2);
1994 }
2015} 1995}
2016 1996
2017/* Determine the low and high keys of a node block (overlapped) */ 1997/* Determine the low (and high if overlapped) keys of a node block */
2018void 1998STATIC void
2019xfs_btree_get_node_keys_overlapped( 1999xfs_btree_get_node_keys(
2020 struct xfs_btree_cur *cur, 2000 struct xfs_btree_cur *cur,
2021 struct xfs_btree_block *block, 2001 struct xfs_btree_block *block,
2022 union xfs_btree_key *key) 2002 union xfs_btree_key *key)
2023{ 2003{
2024 int n;
2025 union xfs_btree_key *hkey; 2004 union xfs_btree_key *hkey;
2026 union xfs_btree_key *max_hkey; 2005 union xfs_btree_key *max_hkey;
2027 union xfs_btree_key *high; 2006 union xfs_btree_key *high;
2007 int n;
2028 2008
2029 ASSERT(cur->bc_flags & XFS_BTREE_OVERLAPPING); 2009 if (cur->bc_flags & XFS_BTREE_OVERLAPPING) {
2030 memcpy(key, xfs_btree_key_addr(cur, 1, block), 2010 memcpy(key, xfs_btree_key_addr(cur, 1, block),
2031 cur->bc_ops->key_len / 2); 2011 cur->bc_ops->key_len / 2);
2032 2012
2033 max_hkey = xfs_btree_high_key_addr(cur, 1, block); 2013 max_hkey = xfs_btree_high_key_addr(cur, 1, block);
2034 for (n = 2; n <= xfs_btree_get_numrecs(block); n++) { 2014 for (n = 2; n <= xfs_btree_get_numrecs(block); n++) {
2035 hkey = xfs_btree_high_key_addr(cur, n, block); 2015 hkey = xfs_btree_high_key_addr(cur, n, block);
2036 if (cur->bc_ops->diff_two_keys(cur, hkey, max_hkey) > 0) 2016 if (cur->bc_ops->diff_two_keys(cur, hkey, max_hkey) > 0)
2037 max_hkey = hkey; 2017 max_hkey = hkey;
2038 } 2018 }
2039 2019
2040 high = xfs_btree_high_key_from_key(cur, key); 2020 high = xfs_btree_high_key_from_key(cur, key);
2041 memcpy(high, max_hkey, cur->bc_ops->key_len / 2); 2021 memcpy(high, max_hkey, cur->bc_ops->key_len / 2);
2022 } else {
2023 memcpy(key, xfs_btree_key_addr(cur, 1, block),
2024 cur->bc_ops->key_len);
2025 }
2042} 2026}
2043 2027
2044/* Derive the keys for any btree block. */ 2028/* Derive the keys for any btree block. */
@@ -2049,9 +2033,9 @@ xfs_btree_get_keys(
2049 union xfs_btree_key *key) 2033 union xfs_btree_key *key)
2050{ 2034{
2051 if (be16_to_cpu(block->bb_level) == 0) 2035 if (be16_to_cpu(block->bb_level) == 0)
2052 cur->bc_ops->get_leaf_keys(cur, block, key); 2036 xfs_btree_get_leaf_keys(cur, block, key);
2053 else 2037 else
2054 cur->bc_ops->get_node_keys(cur, block, key); 2038 xfs_btree_get_node_keys(cur, block, key);
2055} 2039}
2056 2040
2057/* 2041/*
@@ -2125,28 +2109,12 @@ __xfs_btree_updkeys(
2125 xfs_btree_log_keys(cur, bp, ptr, ptr); 2109 xfs_btree_log_keys(cur, bp, ptr, ptr);
2126 if (level + 1 >= cur->bc_nlevels) 2110 if (level + 1 >= cur->bc_nlevels)
2127 break; 2111 break;
2128 cur->bc_ops->get_node_keys(cur, block, lkey); 2112 xfs_btree_get_node_keys(cur, block, lkey);
2129 } 2113 }
2130 2114
2131 return 0; 2115 return 0;
2132} 2116}
2133 2117
2134/*
2135 * Update all the keys from some level in cursor back to the root, stopping
2136 * when we find a key pair that don't need updating.
2137 */
2138int
2139xfs_btree_update_keys_overlapped(
2140 struct xfs_btree_cur *cur,
2141 int level)
2142{
2143 struct xfs_buf *bp;
2144 struct xfs_btree_block *block;
2145
2146 block = xfs_btree_get_block(cur, level, &bp);
2147 return __xfs_btree_updkeys(cur, level, block, bp, false);
2148}
2149
2150/* Update all the keys from some level in cursor back to the root. */ 2118/* Update all the keys from some level in cursor back to the root. */
2151STATIC int 2119STATIC int
2152xfs_btree_updkeys_force( 2120xfs_btree_updkeys_force(
@@ -2163,7 +2131,7 @@ xfs_btree_updkeys_force(
2163/* 2131/*
2164 * Update the parent keys of the given level, progressing towards the root. 2132 * Update the parent keys of the given level, progressing towards the root.
2165 */ 2133 */
2166int 2134STATIC int
2167xfs_btree_update_keys( 2135xfs_btree_update_keys(
2168 struct xfs_btree_cur *cur, 2136 struct xfs_btree_cur *cur,
2169 int level) 2137 int level)
@@ -2174,20 +2142,21 @@ xfs_btree_update_keys(
2174 union xfs_btree_key key; 2142 union xfs_btree_key key;
2175 int ptr; 2143 int ptr;
2176 2144
2177 ASSERT(!(cur->bc_flags & XFS_BTREE_OVERLAPPING)); 2145 ASSERT(level >= 0);
2146
2147 block = xfs_btree_get_block(cur, level, &bp);
2148 if (cur->bc_flags & XFS_BTREE_OVERLAPPING)
2149 return __xfs_btree_updkeys(cur, level, block, bp, false);
2178 2150
2179 XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY); 2151 XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
2180 XFS_BTREE_TRACE_ARGIK(cur, level, keyp); 2152 XFS_BTREE_TRACE_ARGIK(cur, level, keyp);
2181 2153
2182 ASSERT(level >= 0);
2183
2184 /* 2154 /*
2185 * Go up the tree from this level toward the root. 2155 * Go up the tree from this level toward the root.
2186 * At each level, update the key value to the value input. 2156 * At each level, update the key value to the value input.
2187 * Stop when we reach a level where the cursor isn't pointing 2157 * Stop when we reach a level where the cursor isn't pointing
2188 * at the first entry in the block. 2158 * at the first entry in the block.
2189 */ 2159 */
2190 block = xfs_btree_get_block(cur, level, &bp);
2191 xfs_btree_get_keys(cur, block, &key); 2160 xfs_btree_get_keys(cur, block, &key);
2192 for (level++, ptr = 1; ptr == 1 && level < cur->bc_nlevels; level++) { 2161 for (level++, ptr = 1; ptr == 1 && level < cur->bc_nlevels; level++) {
2193#ifdef DEBUG 2162#ifdef DEBUG
@@ -2257,7 +2226,7 @@ xfs_btree_update(
2257 2226
2258 /* Pass new key value up to our parent. */ 2227 /* Pass new key value up to our parent. */
2259 if (xfs_btree_needs_key_update(cur, ptr)) { 2228 if (xfs_btree_needs_key_update(cur, ptr)) {
2260 error = cur->bc_ops->update_keys(cur, 0); 2229 error = xfs_btree_update_keys(cur, 0);
2261 if (error) 2230 if (error)
2262 goto error0; 2231 goto error0;
2263 } 2232 }
@@ -2447,13 +2416,13 @@ xfs_btree_lshift(
2447 goto error1; 2416 goto error1;
2448 2417
2449 /* Update the parent keys of the right block. */ 2418 /* Update the parent keys of the right block. */
2450 error = cur->bc_ops->update_keys(cur, level); 2419 error = xfs_btree_update_keys(cur, level);
2451 if (error) 2420 if (error)
2452 goto error1; 2421 goto error1;
2453 2422
2454 /* Update the parent high keys of the left block, if needed. */ 2423 /* Update the parent high keys of the left block, if needed. */
2455 if (tcur->bc_flags & XFS_BTREE_OVERLAPPING) { 2424 if (tcur->bc_flags & XFS_BTREE_OVERLAPPING) {
2456 error = tcur->bc_ops->update_keys(tcur, level); 2425 error = xfs_btree_update_keys(tcur, level);
2457 if (error) 2426 if (error)
2458 goto error1; 2427 goto error1;
2459 } 2428 }
@@ -2633,13 +2602,13 @@ xfs_btree_rshift(
2633 2602
2634 /* Update the parent high keys of the left block, if needed. */ 2603 /* Update the parent high keys of the left block, if needed. */
2635 if (cur->bc_flags & XFS_BTREE_OVERLAPPING) { 2604 if (cur->bc_flags & XFS_BTREE_OVERLAPPING) {
2636 error = cur->bc_ops->update_keys(cur, level); 2605 error = xfs_btree_update_keys(cur, level);
2637 if (error) 2606 if (error)
2638 goto error1; 2607 goto error1;
2639 } 2608 }
2640 2609
2641 /* Update the parent keys of the right block. */ 2610 /* Update the parent keys of the right block. */
2642 error = cur->bc_ops->update_keys(tcur, level); 2611 error = xfs_btree_update_keys(tcur, level);
2643 if (error) 2612 if (error)
2644 goto error1; 2613 goto error1;
2645 2614
@@ -2778,7 +2747,7 @@ __xfs_btree_split(
2778 xfs_btree_log_ptrs(cur, rbp, 1, rrecs); 2747 xfs_btree_log_ptrs(cur, rbp, 1, rrecs);
2779 2748
2780 /* Stash the keys of the new block for later insertion. */ 2749 /* Stash the keys of the new block for later insertion. */
2781 cur->bc_ops->get_node_keys(cur, right, key); 2750 xfs_btree_get_node_keys(cur, right, key);
2782 } else { 2751 } else {
2783 /* It's a leaf. Move records. */ 2752 /* It's a leaf. Move records. */
2784 union xfs_btree_rec *lrp; /* left record pointer */ 2753 union xfs_btree_rec *lrp; /* left record pointer */
@@ -2792,7 +2761,7 @@ __xfs_btree_split(
2792 xfs_btree_log_recs(cur, rbp, 1, rrecs); 2761 xfs_btree_log_recs(cur, rbp, 1, rrecs);
2793 2762
2794 /* Stash the keys of the new block for later insertion. */ 2763 /* Stash the keys of the new block for later insertion. */
2795 cur->bc_ops->get_leaf_keys(cur, right, key); 2764 xfs_btree_get_leaf_keys(cur, right, key);
2796 } 2765 }
2797 2766
2798 /* 2767 /*
@@ -2822,7 +2791,7 @@ __xfs_btree_split(
2822 2791
2823 /* Update the parent high keys of the left block, if needed. */ 2792 /* Update the parent high keys of the left block, if needed. */
2824 if (cur->bc_flags & XFS_BTREE_OVERLAPPING) { 2793 if (cur->bc_flags & XFS_BTREE_OVERLAPPING) {
2825 error = cur->bc_ops->update_keys(cur, level); 2794 error = xfs_btree_update_keys(cur, level);
2826 if (error) 2795 if (error)
2827 goto error0; 2796 goto error0;
2828 } 2797 }
@@ -3143,9 +3112,9 @@ xfs_btree_new_root(
3143 * Get the keys for the left block's keys and put them directly 3112 * Get the keys for the left block's keys and put them directly
3144 * in the parent block. Do the same for the right block. 3113 * in the parent block. Do the same for the right block.
3145 */ 3114 */
3146 cur->bc_ops->get_node_keys(cur, left, 3115 xfs_btree_get_node_keys(cur, left,
3147 xfs_btree_key_addr(cur, 1, new)); 3116 xfs_btree_key_addr(cur, 1, new));
3148 cur->bc_ops->get_node_keys(cur, right, 3117 xfs_btree_get_node_keys(cur, right,
3149 xfs_btree_key_addr(cur, 2, new)); 3118 xfs_btree_key_addr(cur, 2, new));
3150 } else { 3119 } else {
3151 /* 3120 /*
@@ -3153,9 +3122,9 @@ xfs_btree_new_root(
3153 * directly in the parent block. Do the same for the right 3122 * directly in the parent block. Do the same for the right
3154 * block. 3123 * block.
3155 */ 3124 */
3156 cur->bc_ops->get_leaf_keys(cur, left, 3125 xfs_btree_get_leaf_keys(cur, left,
3157 xfs_btree_key_addr(cur, 1, new)); 3126 xfs_btree_key_addr(cur, 1, new));
3158 cur->bc_ops->get_leaf_keys(cur, right, 3127 xfs_btree_get_leaf_keys(cur, right,
3159 xfs_btree_key_addr(cur, 2, new)); 3128 xfs_btree_key_addr(cur, 2, new));
3160 } 3129 }
3161 xfs_btree_log_keys(cur, nbp, 1, 2); 3130 xfs_btree_log_keys(cur, nbp, 1, 2);
@@ -3434,7 +3403,7 @@ xfs_btree_insrec(
3434 if (bp && bp->b_bn != old_bn) { 3403 if (bp && bp->b_bn != old_bn) {
3435 xfs_btree_get_keys(cur, block, lkey); 3404 xfs_btree_get_keys(cur, block, lkey);
3436 } else if (xfs_btree_needs_key_update(cur, optr)) { 3405 } else if (xfs_btree_needs_key_update(cur, optr)) {
3437 error = cur->bc_ops->update_keys(cur, level); 3406 error = xfs_btree_update_keys(cur, level);
3438 if (error) 3407 if (error)
3439 goto error0; 3408 goto error0;
3440 } 3409 }
@@ -3880,7 +3849,7 @@ xfs_btree_delrec(
3880 * key values above us in the tree. 3849 * key values above us in the tree.
3881 */ 3850 */
3882 if (xfs_btree_needs_key_update(cur, ptr)) { 3851 if (xfs_btree_needs_key_update(cur, ptr)) {
3883 error = cur->bc_ops->update_keys(cur, level); 3852 error = xfs_btree_update_keys(cur, level);
3884 if (error) 3853 if (error)
3885 goto error0; 3854 goto error0;
3886 } 3855 }
diff --git a/fs/xfs/libxfs/xfs_btree.h b/fs/xfs/libxfs/xfs_btree.h
index 9b6d6286466e..04d0865e5e6d 100644
--- a/fs/xfs/libxfs/xfs_btree.h
+++ b/fs/xfs/libxfs/xfs_btree.h
@@ -214,19 +214,6 @@ struct xfs_btree_ops {
214 union xfs_btree_rec *r1, 214 union xfs_btree_rec *r1,
215 union xfs_btree_rec *r2); 215 union xfs_btree_rec *r2);
216#endif 216#endif
217
218 /* derive the low & high keys from the records in a leaf block */
219 void (*get_leaf_keys)(struct xfs_btree_cur *cur,
220 struct xfs_btree_block *block,
221 union xfs_btree_key *key);
222
223 /* derive the low & high keys from the keys in a node block */
224 void (*get_node_keys)(struct xfs_btree_cur *cur,
225 struct xfs_btree_block *block,
226 union xfs_btree_key *key);
227
228 /* update the parent keys of given btree level */
229 int (*update_keys)(struct xfs_btree_cur *cur, int level);
230}; 217};
231 218
232/* 219/*
@@ -527,17 +514,6 @@ bool xfs_btree_sblock_verify(struct xfs_buf *bp, unsigned int max_recs);
527uint xfs_btree_compute_maxlevels(struct xfs_mount *mp, uint *limits, 514uint xfs_btree_compute_maxlevels(struct xfs_mount *mp, uint *limits,
528 unsigned long len); 515 unsigned long len);
529 516
530void xfs_btree_get_leaf_keys(struct xfs_btree_cur *cur,
531 struct xfs_btree_block *block, union xfs_btree_key *key);
532void xfs_btree_get_node_keys(struct xfs_btree_cur *cur,
533 struct xfs_btree_block *block, union xfs_btree_key *key);
534int xfs_btree_update_keys(struct xfs_btree_cur *cur, int level);
535void xfs_btree_get_leaf_keys_overlapped(struct xfs_btree_cur *cur,
536 struct xfs_btree_block *block, union xfs_btree_key *key);
537void xfs_btree_get_node_keys_overlapped(struct xfs_btree_cur *cur,
538 struct xfs_btree_block *block, union xfs_btree_key *key);
539int xfs_btree_update_keys_overlapped(struct xfs_btree_cur *cur, int level);
540
541/* return codes */ 517/* return codes */
542#define XFS_BTREE_QUERY_RANGE_CONTINUE 0 /* keep iterating */ 518#define XFS_BTREE_QUERY_RANGE_CONTINUE 0 /* keep iterating */
543#define XFS_BTREE_QUERY_RANGE_ABORT 1 /* stop iterating */ 519#define XFS_BTREE_QUERY_RANGE_ABORT 1 /* stop iterating */
diff --git a/fs/xfs/libxfs/xfs_ialloc_btree.c b/fs/xfs/libxfs/xfs_ialloc_btree.c
index c83691edf6b2..31ca2208c03d 100644
--- a/fs/xfs/libxfs/xfs_ialloc_btree.c
+++ b/fs/xfs/libxfs/xfs_ialloc_btree.c
@@ -320,10 +320,6 @@ static const struct xfs_btree_ops xfs_inobt_ops = {
320 .keys_inorder = xfs_inobt_keys_inorder, 320 .keys_inorder = xfs_inobt_keys_inorder,
321 .recs_inorder = xfs_inobt_recs_inorder, 321 .recs_inorder = xfs_inobt_recs_inorder,
322#endif 322#endif
323
324 .get_leaf_keys = xfs_btree_get_leaf_keys,
325 .get_node_keys = xfs_btree_get_node_keys,
326 .update_keys = xfs_btree_update_keys,
327}; 323};
328 324
329static const struct xfs_btree_ops xfs_finobt_ops = { 325static const struct xfs_btree_ops xfs_finobt_ops = {
@@ -345,10 +341,6 @@ static const struct xfs_btree_ops xfs_finobt_ops = {
345 .keys_inorder = xfs_inobt_keys_inorder, 341 .keys_inorder = xfs_inobt_keys_inorder,
346 .recs_inorder = xfs_inobt_recs_inorder, 342 .recs_inorder = xfs_inobt_recs_inorder,
347#endif 343#endif
348
349 .get_leaf_keys = xfs_btree_get_leaf_keys,
350 .get_node_keys = xfs_btree_get_node_keys,
351 .update_keys = xfs_btree_update_keys,
352}; 344};
353 345
354/* 346/*
diff --git a/fs/xfs/libxfs/xfs_rmap_btree.c b/fs/xfs/libxfs/xfs_rmap_btree.c
index 232450ce61a8..bc1faebc84ec 100644
--- a/fs/xfs/libxfs/xfs_rmap_btree.c
+++ b/fs/xfs/libxfs/xfs_rmap_btree.c
@@ -453,10 +453,6 @@ static const struct xfs_btree_ops xfs_rmapbt_ops = {
453 .keys_inorder = xfs_rmapbt_keys_inorder, 453 .keys_inorder = xfs_rmapbt_keys_inorder,
454 .recs_inorder = xfs_rmapbt_recs_inorder, 454 .recs_inorder = xfs_rmapbt_recs_inorder,
455#endif 455#endif
456
457 .get_leaf_keys = xfs_btree_get_leaf_keys_overlapped,
458 .get_node_keys = xfs_btree_get_node_keys_overlapped,
459 .update_keys = xfs_btree_update_keys_overlapped,
460}; 456};
461 457
462/* 458/*