if (!list_empty(&prev->list) || !list_empty(&next->list))
                return 0;
 
+       ASSERT(next->block_start != EXTENT_MAP_DELALLOC &&
+              prev->block_start != EXTENT_MAP_DELALLOC);
+
        if (extent_map_end(prev) == next->start &&
            prev->flags == next->flags &&
            prev->bdev == next->bdev &&
              prev->block_start == EXTENT_MAP_HOLE) ||
             (next->block_start == EXTENT_MAP_INLINE &&
              prev->block_start == EXTENT_MAP_INLINE) ||
-            (next->block_start == EXTENT_MAP_DELALLOC &&
-             prev->block_start == EXTENT_MAP_DELALLOC) ||
             (next->block_start < EXTENT_MAP_LAST_BYTE - 1 &&
              next->block_start == extent_map_block_end(prev)))) {
                return 1;
 
 #define EXTENT_MAP_LAST_BYTE ((u64)-4)
 #define EXTENT_MAP_HOLE ((u64)-3)
 #define EXTENT_MAP_INLINE ((u64)-2)
+/* used only during fiemap calls */
 #define EXTENT_MAP_DELALLOC ((u64)-1)
 
 /* bits for the extent_map::flags field */