mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-24 19:28:53 +03:00
Linux 6.12 compat: Rename range_tree_* to zfs_range_tree_*
Linux 6.12 has conflicting range_tree_{find,destroy,clear} symbols.
Signed-off-by: Ivan Volosyuk <Ivan.Volosyuk@gmail.com>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Rob Norris <robn@despairlabs.com>
This commit is contained in:
committed by
Tony Hutter
parent
db62886d98
commit
d4a5a7e3aa
+43
-40
@@ -149,7 +149,7 @@ typedef struct trim_args {
|
||||
*/
|
||||
vdev_t *trim_vdev; /* Leaf vdev to TRIM */
|
||||
metaslab_t *trim_msp; /* Disabled metaslab */
|
||||
range_tree_t *trim_tree; /* TRIM ranges (in metaslab) */
|
||||
zfs_range_tree_t *trim_tree; /* TRIM ranges (in metaslab) */
|
||||
trim_type_t trim_type; /* Manual or auto TRIM */
|
||||
uint64_t trim_extent_bytes_max; /* Maximum TRIM I/O size */
|
||||
uint64_t trim_extent_bytes_min; /* Minimum TRIM I/O size */
|
||||
@@ -601,10 +601,10 @@ vdev_trim_ranges(trim_args_t *ta)
|
||||
ta->trim_start_time = gethrtime();
|
||||
ta->trim_bytes_done = 0;
|
||||
|
||||
for (range_seg_t *rs = zfs_btree_first(t, &idx); rs != NULL;
|
||||
for (zfs_range_seg_t *rs = zfs_btree_first(t, &idx); rs != NULL;
|
||||
rs = zfs_btree_next(t, &idx, &idx)) {
|
||||
uint64_t size = rs_get_end(rs, ta->trim_tree) - rs_get_start(rs,
|
||||
ta->trim_tree);
|
||||
uint64_t size = zfs_rs_get_end(rs, ta->trim_tree) -
|
||||
zfs_rs_get_start(rs, ta->trim_tree);
|
||||
|
||||
if (extent_bytes_min && size < extent_bytes_min) {
|
||||
spa_iostats_trim_add(spa, ta->trim_type,
|
||||
@@ -617,7 +617,7 @@ vdev_trim_ranges(trim_args_t *ta)
|
||||
|
||||
for (uint64_t w = 0; w < writes_required; w++) {
|
||||
error = vdev_trim_range(ta, VDEV_LABEL_START_SIZE +
|
||||
rs_get_start(rs, ta->trim_tree) +
|
||||
zfs_rs_get_start(rs, ta->trim_tree) +
|
||||
(w *extent_bytes_max), MIN(size -
|
||||
(w * extent_bytes_max), extent_bytes_max));
|
||||
if (error != 0) {
|
||||
@@ -729,13 +729,13 @@ vdev_trim_calculate_progress(vdev_t *vd)
|
||||
*/
|
||||
VERIFY0(metaslab_load(msp));
|
||||
|
||||
range_tree_t *rt = msp->ms_allocatable;
|
||||
zfs_range_tree_t *rt = msp->ms_allocatable;
|
||||
zfs_btree_t *bt = &rt->rt_root;
|
||||
zfs_btree_index_t idx;
|
||||
for (range_seg_t *rs = zfs_btree_first(bt, &idx);
|
||||
for (zfs_range_seg_t *rs = zfs_btree_first(bt, &idx);
|
||||
rs != NULL; rs = zfs_btree_next(bt, &idx, &idx)) {
|
||||
logical_rs.rs_start = rs_get_start(rs, rt);
|
||||
logical_rs.rs_end = rs_get_end(rs, rt);
|
||||
logical_rs.rs_start = zfs_rs_get_start(rs, rt);
|
||||
logical_rs.rs_end = zfs_rs_get_end(rs, rt);
|
||||
|
||||
vdev_xlate_walk(vd, &logical_rs,
|
||||
vdev_trim_xlate_progress, vd);
|
||||
@@ -832,7 +832,7 @@ vdev_trim_xlate_range_add(void *arg, range_seg64_t *physical_rs)
|
||||
|
||||
ASSERT3U(physical_rs->rs_end, >, physical_rs->rs_start);
|
||||
|
||||
range_tree_add(ta->trim_tree, physical_rs->rs_start,
|
||||
zfs_range_tree_add(ta->trim_tree, physical_rs->rs_start,
|
||||
physical_rs->rs_end - physical_rs->rs_start);
|
||||
}
|
||||
|
||||
@@ -858,7 +858,8 @@ vdev_trim_range_add(void *arg, uint64_t start, uint64_t size)
|
||||
metaslab_t *msp = ta->trim_msp;
|
||||
VERIFY0(metaslab_load(msp));
|
||||
VERIFY3B(msp->ms_loaded, ==, B_TRUE);
|
||||
VERIFY(range_tree_contains(msp->ms_allocatable, start, size));
|
||||
VERIFY(zfs_range_tree_contains(msp->ms_allocatable, start,
|
||||
size));
|
||||
}
|
||||
|
||||
ASSERT(vd->vdev_ops->vdev_op_leaf);
|
||||
@@ -900,7 +901,7 @@ vdev_trim_thread(void *arg)
|
||||
ta.trim_vdev = vd;
|
||||
ta.trim_extent_bytes_max = zfs_trim_extent_bytes_max;
|
||||
ta.trim_extent_bytes_min = zfs_trim_extent_bytes_min;
|
||||
ta.trim_tree = range_tree_create(NULL, RANGE_SEG64, NULL, 0, 0);
|
||||
ta.trim_tree = zfs_range_tree_create(NULL, ZFS_RANGE_SEG64, NULL, 0, 0);
|
||||
ta.trim_type = TRIM_TYPE_MANUAL;
|
||||
ta.trim_flags = 0;
|
||||
|
||||
@@ -946,22 +947,23 @@ vdev_trim_thread(void *arg)
|
||||
}
|
||||
|
||||
ta.trim_msp = msp;
|
||||
range_tree_walk(msp->ms_allocatable, vdev_trim_range_add, &ta);
|
||||
range_tree_vacate(msp->ms_trim, NULL, NULL);
|
||||
zfs_range_tree_walk(msp->ms_allocatable, vdev_trim_range_add,
|
||||
&ta);
|
||||
zfs_range_tree_vacate(msp->ms_trim, NULL, NULL);
|
||||
mutex_exit(&msp->ms_lock);
|
||||
|
||||
error = vdev_trim_ranges(&ta);
|
||||
metaslab_enable(msp, B_TRUE, B_FALSE);
|
||||
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
|
||||
|
||||
range_tree_vacate(ta.trim_tree, NULL, NULL);
|
||||
zfs_range_tree_vacate(ta.trim_tree, NULL, NULL);
|
||||
if (error != 0)
|
||||
break;
|
||||
}
|
||||
|
||||
spa_config_exit(spa, SCL_CONFIG, FTAG);
|
||||
|
||||
range_tree_destroy(ta.trim_tree);
|
||||
zfs_range_tree_destroy(ta.trim_tree);
|
||||
|
||||
mutex_enter(&vd->vdev_trim_lock);
|
||||
if (!vd->vdev_trim_exit_wanted) {
|
||||
@@ -1204,7 +1206,7 @@ vdev_trim_range_verify(void *arg, uint64_t start, uint64_t size)
|
||||
|
||||
VERIFY3B(msp->ms_loaded, ==, B_TRUE);
|
||||
VERIFY3U(msp->ms_disabled, >, 0);
|
||||
VERIFY(range_tree_contains(msp->ms_allocatable, start, size));
|
||||
VERIFY(zfs_range_tree_contains(msp->ms_allocatable, start, size));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1261,7 +1263,7 @@ vdev_autotrim_thread(void *arg)
|
||||
for (uint64_t i = shift % txgs_per_trim; i < vd->vdev_ms_count;
|
||||
i += txgs_per_trim) {
|
||||
metaslab_t *msp = vd->vdev_ms[i];
|
||||
range_tree_t *trim_tree;
|
||||
zfs_range_tree_t *trim_tree;
|
||||
boolean_t issued_trim = B_FALSE;
|
||||
boolean_t wait_aborted = B_FALSE;
|
||||
|
||||
@@ -1276,7 +1278,7 @@ vdev_autotrim_thread(void *arg)
|
||||
* or when there are no recent frees to trim.
|
||||
*/
|
||||
if (msp->ms_sm == NULL ||
|
||||
range_tree_is_empty(msp->ms_trim)) {
|
||||
zfs_range_tree_is_empty(msp->ms_trim)) {
|
||||
mutex_exit(&msp->ms_lock);
|
||||
metaslab_enable(msp, B_FALSE, B_FALSE);
|
||||
continue;
|
||||
@@ -1302,10 +1304,10 @@ vdev_autotrim_thread(void *arg)
|
||||
* Allocate an empty range tree which is swapped in
|
||||
* for the existing ms_trim tree while it is processed.
|
||||
*/
|
||||
trim_tree = range_tree_create(NULL, RANGE_SEG64, NULL,
|
||||
0, 0);
|
||||
range_tree_swap(&msp->ms_trim, &trim_tree);
|
||||
ASSERT(range_tree_is_empty(msp->ms_trim));
|
||||
trim_tree = zfs_range_tree_create(NULL, ZFS_RANGE_SEG64,
|
||||
NULL, 0, 0);
|
||||
zfs_range_tree_swap(&msp->ms_trim, &trim_tree);
|
||||
ASSERT(zfs_range_tree_is_empty(msp->ms_trim));
|
||||
|
||||
/*
|
||||
* There are two cases when constructing the per-vdev
|
||||
@@ -1357,9 +1359,9 @@ vdev_autotrim_thread(void *arg)
|
||||
if (!cvd->vdev_ops->vdev_op_leaf)
|
||||
continue;
|
||||
|
||||
ta->trim_tree = range_tree_create(NULL,
|
||||
RANGE_SEG64, NULL, 0, 0);
|
||||
range_tree_walk(trim_tree,
|
||||
ta->trim_tree = zfs_range_tree_create(NULL,
|
||||
ZFS_RANGE_SEG64, NULL, 0, 0);
|
||||
zfs_range_tree_walk(trim_tree,
|
||||
vdev_trim_range_add, ta);
|
||||
}
|
||||
|
||||
@@ -1406,13 +1408,13 @@ vdev_autotrim_thread(void *arg)
|
||||
mutex_enter(&msp->ms_lock);
|
||||
VERIFY0(metaslab_load(msp));
|
||||
VERIFY3P(tap[0].trim_msp, ==, msp);
|
||||
range_tree_walk(trim_tree,
|
||||
zfs_range_tree_walk(trim_tree,
|
||||
vdev_trim_range_verify, &tap[0]);
|
||||
mutex_exit(&msp->ms_lock);
|
||||
}
|
||||
|
||||
range_tree_vacate(trim_tree, NULL, NULL);
|
||||
range_tree_destroy(trim_tree);
|
||||
zfs_range_tree_vacate(trim_tree, NULL, NULL);
|
||||
zfs_range_tree_destroy(trim_tree);
|
||||
|
||||
/*
|
||||
* Wait for couples of kicks, to ensure the trim io is
|
||||
@@ -1434,8 +1436,9 @@ vdev_autotrim_thread(void *arg)
|
||||
if (ta->trim_tree == NULL)
|
||||
continue;
|
||||
|
||||
range_tree_vacate(ta->trim_tree, NULL, NULL);
|
||||
range_tree_destroy(ta->trim_tree);
|
||||
zfs_range_tree_vacate(ta->trim_tree, NULL,
|
||||
NULL);
|
||||
zfs_range_tree_destroy(ta->trim_tree);
|
||||
}
|
||||
|
||||
kmem_free(tap, sizeof (trim_args_t) * children);
|
||||
@@ -1474,7 +1477,7 @@ vdev_autotrim_thread(void *arg)
|
||||
metaslab_t *msp = vd->vdev_ms[i];
|
||||
|
||||
mutex_enter(&msp->ms_lock);
|
||||
range_tree_vacate(msp->ms_trim, NULL, NULL);
|
||||
zfs_range_tree_vacate(msp->ms_trim, NULL, NULL);
|
||||
mutex_exit(&msp->ms_lock);
|
||||
}
|
||||
}
|
||||
@@ -1596,7 +1599,7 @@ vdev_trim_l2arc_thread(void *arg)
|
||||
vd->vdev_trim_secure = 0;
|
||||
|
||||
ta.trim_vdev = vd;
|
||||
ta.trim_tree = range_tree_create(NULL, RANGE_SEG64, NULL, 0, 0);
|
||||
ta.trim_tree = zfs_range_tree_create(NULL, ZFS_RANGE_SEG64, NULL, 0, 0);
|
||||
ta.trim_type = TRIM_TYPE_MANUAL;
|
||||
ta.trim_extent_bytes_max = zfs_trim_extent_bytes_max;
|
||||
ta.trim_extent_bytes_min = SPA_MINBLOCKSIZE;
|
||||
@@ -1606,7 +1609,7 @@ vdev_trim_l2arc_thread(void *arg)
|
||||
physical_rs.rs_end = vd->vdev_trim_bytes_est =
|
||||
vdev_get_min_asize(vd);
|
||||
|
||||
range_tree_add(ta.trim_tree, physical_rs.rs_start,
|
||||
zfs_range_tree_add(ta.trim_tree, physical_rs.rs_start,
|
||||
physical_rs.rs_end - physical_rs.rs_start);
|
||||
|
||||
mutex_enter(&vd->vdev_trim_lock);
|
||||
@@ -1622,8 +1625,8 @@ vdev_trim_l2arc_thread(void *arg)
|
||||
}
|
||||
mutex_exit(&vd->vdev_trim_io_lock);
|
||||
|
||||
range_tree_vacate(ta.trim_tree, NULL, NULL);
|
||||
range_tree_destroy(ta.trim_tree);
|
||||
zfs_range_tree_vacate(ta.trim_tree, NULL, NULL);
|
||||
zfs_range_tree_destroy(ta.trim_tree);
|
||||
|
||||
mutex_enter(&vd->vdev_trim_lock);
|
||||
if (!vd->vdev_trim_exit_wanted && vdev_writeable(vd)) {
|
||||
@@ -1731,7 +1734,7 @@ vdev_trim_simple(vdev_t *vd, uint64_t start, uint64_t size)
|
||||
ASSERT(!vd->vdev_top->vdev_rz_expanding);
|
||||
|
||||
ta.trim_vdev = vd;
|
||||
ta.trim_tree = range_tree_create(NULL, RANGE_SEG64, NULL, 0, 0);
|
||||
ta.trim_tree = zfs_range_tree_create(NULL, ZFS_RANGE_SEG64, NULL, 0, 0);
|
||||
ta.trim_type = TRIM_TYPE_SIMPLE;
|
||||
ta.trim_extent_bytes_max = zfs_trim_extent_bytes_max;
|
||||
ta.trim_extent_bytes_min = SPA_MINBLOCKSIZE;
|
||||
@@ -1740,7 +1743,7 @@ vdev_trim_simple(vdev_t *vd, uint64_t start, uint64_t size)
|
||||
ASSERT3U(physical_rs.rs_end, >=, physical_rs.rs_start);
|
||||
|
||||
if (physical_rs.rs_end > physical_rs.rs_start) {
|
||||
range_tree_add(ta.trim_tree, physical_rs.rs_start,
|
||||
zfs_range_tree_add(ta.trim_tree, physical_rs.rs_start,
|
||||
physical_rs.rs_end - physical_rs.rs_start);
|
||||
} else {
|
||||
ASSERT3U(physical_rs.rs_end, ==, physical_rs.rs_start);
|
||||
@@ -1754,8 +1757,8 @@ vdev_trim_simple(vdev_t *vd, uint64_t start, uint64_t size)
|
||||
}
|
||||
mutex_exit(&vd->vdev_trim_io_lock);
|
||||
|
||||
range_tree_vacate(ta.trim_tree, NULL, NULL);
|
||||
range_tree_destroy(ta.trim_tree);
|
||||
zfs_range_tree_vacate(ta.trim_tree, NULL, NULL);
|
||||
zfs_range_tree_destroy(ta.trim_tree);
|
||||
|
||||
return (error);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user