]> git.proxmox.com Git - mirror_zfs.git/blobdiff - module/zfs/brt.c
BRT: Change brt_pending_tree sorting order
[mirror_zfs.git] / module / zfs / brt.c
index 225ddaca1e5410c7245645a4fbf45255c20c18a8..3d565cd1397c7633d464438ca723a11521c79bbe 100644 (file)
@@ -1420,13 +1420,14 @@ brt_pending_entry_compare(const void *x1, const void *x2)
        const blkptr_t *bp1 = &bpe1->bpe_bp, *bp2 = &bpe2->bpe_bp;
        int cmp;
 
-       cmp = TREE_CMP(BP_PHYSICAL_BIRTH(bp1), BP_PHYSICAL_BIRTH(bp2));
+       cmp = TREE_CMP(DVA_GET_VDEV(&bp1->blk_dva[0]),
+           DVA_GET_VDEV(&bp2->blk_dva[0]));
        if (cmp == 0) {
-               cmp = TREE_CMP(DVA_GET_VDEV(&bp1->blk_dva[0]),
-                   DVA_GET_VDEV(&bp2->blk_dva[0]));
-               if (cmp == 0) {
-                       cmp = TREE_CMP(DVA_GET_OFFSET(&bp1->blk_dva[0]),
-                           DVA_GET_OFFSET(&bp2->blk_dva[0]));
+               cmp = TREE_CMP(DVA_GET_OFFSET(&bp1->blk_dva[0]),
+                   DVA_GET_OFFSET(&bp2->blk_dva[0]));
+               if (unlikely(cmp == 0)) {
+                       cmp = TREE_CMP(BP_PHYSICAL_BIRTH(bp1),
+                           BP_PHYSICAL_BIRTH(bp2));
                }
        }