mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
range_tree: convert remaining range_* defs to zfs_range_*
Signed-off-by: Rob Norris <robn@despairlabs.com> Reviewed-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: Rob Norris <robn@despairlabs.com>
This commit is contained in:
@@ -200,7 +200,7 @@ struct metaslab_class {
|
||||
uint64_t mc_deferred; /* total deferred frees */
|
||||
uint64_t mc_space; /* total space (alloc + free) */
|
||||
uint64_t mc_dspace; /* total deflated space */
|
||||
uint64_t mc_histogram[RANGE_TREE_HISTOGRAM_SIZE];
|
||||
uint64_t mc_histogram[ZFS_RANGE_TREE_HISTOGRAM_SIZE];
|
||||
|
||||
/*
|
||||
* List of all loaded metaslabs in the class, sorted in order of most
|
||||
@@ -290,7 +290,7 @@ struct metaslab_group {
|
||||
uint64_t mg_allocations;
|
||||
uint64_t mg_failed_allocations;
|
||||
uint64_t mg_fragmentation;
|
||||
uint64_t mg_histogram[RANGE_TREE_HISTOGRAM_SIZE];
|
||||
uint64_t mg_histogram[ZFS_RANGE_TREE_HISTOGRAM_SIZE];
|
||||
|
||||
int mg_ms_disabled;
|
||||
boolean_t mg_disabled_updating;
|
||||
|
||||
+25
-25
@@ -37,7 +37,7 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define RANGE_TREE_HISTOGRAM_SIZE 64
|
||||
#define ZFS_RANGE_TREE_HISTOGRAM_SIZE 64
|
||||
|
||||
typedef struct zfs_range_tree_ops zfs_range_tree_ops_t;
|
||||
|
||||
@@ -72,34 +72,34 @@ typedef struct zfs_range_tree {
|
||||
* rt_histogram[i], contains the number of ranges whose size is:
|
||||
* 2^i <= size of range in bytes < 2^(i+1)
|
||||
*/
|
||||
uint64_t rt_histogram[RANGE_TREE_HISTOGRAM_SIZE];
|
||||
uint64_t rt_histogram[ZFS_RANGE_TREE_HISTOGRAM_SIZE];
|
||||
} zfs_range_tree_t;
|
||||
|
||||
typedef struct range_seg32 {
|
||||
typedef struct zfs_range_seg32 {
|
||||
uint32_t rs_start; /* starting offset of this segment */
|
||||
uint32_t rs_end; /* ending offset (non-inclusive) */
|
||||
} range_seg32_t;
|
||||
} zfs_range_seg32_t;
|
||||
|
||||
/*
|
||||
* Extremely large metaslabs, vdev-wide trees, and dnode-wide trees may
|
||||
* require 64-bit integers for ranges.
|
||||
*/
|
||||
typedef struct range_seg64 {
|
||||
typedef struct zfs_range_seg64 {
|
||||
uint64_t rs_start; /* starting offset of this segment */
|
||||
uint64_t rs_end; /* ending offset (non-inclusive) */
|
||||
} range_seg64_t;
|
||||
} zfs_range_seg64_t;
|
||||
|
||||
typedef struct range_seg_gap {
|
||||
typedef struct zfs_range_seg_gap {
|
||||
uint64_t rs_start; /* starting offset of this segment */
|
||||
uint64_t rs_end; /* ending offset (non-inclusive) */
|
||||
uint64_t rs_fill; /* actual fill if gap mode is on */
|
||||
} range_seg_gap_t;
|
||||
} zfs_range_seg_gap_t;
|
||||
|
||||
/*
|
||||
* This type needs to be the largest of the range segs, since it will be stack
|
||||
* allocated and then cast the actual type to do tree operations.
|
||||
*/
|
||||
typedef range_seg_gap_t range_seg_max_t;
|
||||
typedef zfs_range_seg_gap_t zfs_range_seg_max_t;
|
||||
|
||||
/*
|
||||
* This is just for clarity of code purposes, so we can make it clear that a
|
||||
@@ -122,11 +122,11 @@ zfs_rs_get_start_raw(const zfs_range_seg_t *rs, const zfs_range_tree_t *rt)
|
||||
ASSERT3U(rt->rt_type, <=, ZFS_RANGE_SEG_NUM_TYPES);
|
||||
switch (rt->rt_type) {
|
||||
case ZFS_RANGE_SEG32:
|
||||
return (((const range_seg32_t *)rs)->rs_start);
|
||||
return (((const zfs_range_seg32_t *)rs)->rs_start);
|
||||
case ZFS_RANGE_SEG64:
|
||||
return (((const range_seg64_t *)rs)->rs_start);
|
||||
return (((const zfs_range_seg64_t *)rs)->rs_start);
|
||||
case ZFS_RANGE_SEG_GAP:
|
||||
return (((const range_seg_gap_t *)rs)->rs_start);
|
||||
return (((const zfs_range_seg_gap_t *)rs)->rs_start);
|
||||
default:
|
||||
VERIFY(0);
|
||||
return (0);
|
||||
@@ -139,11 +139,11 @@ zfs_rs_get_end_raw(const zfs_range_seg_t *rs, const zfs_range_tree_t *rt)
|
||||
ASSERT3U(rt->rt_type, <=, ZFS_RANGE_SEG_NUM_TYPES);
|
||||
switch (rt->rt_type) {
|
||||
case ZFS_RANGE_SEG32:
|
||||
return (((const range_seg32_t *)rs)->rs_end);
|
||||
return (((const zfs_range_seg32_t *)rs)->rs_end);
|
||||
case ZFS_RANGE_SEG64:
|
||||
return (((const range_seg64_t *)rs)->rs_end);
|
||||
return (((const zfs_range_seg64_t *)rs)->rs_end);
|
||||
case ZFS_RANGE_SEG_GAP:
|
||||
return (((const range_seg_gap_t *)rs)->rs_end);
|
||||
return (((const zfs_range_seg_gap_t *)rs)->rs_end);
|
||||
default:
|
||||
VERIFY(0);
|
||||
return (0);
|
||||
@@ -156,15 +156,15 @@ zfs_rs_get_fill_raw(const zfs_range_seg_t *rs, const zfs_range_tree_t *rt)
|
||||
ASSERT3U(rt->rt_type, <=, ZFS_RANGE_SEG_NUM_TYPES);
|
||||
switch (rt->rt_type) {
|
||||
case ZFS_RANGE_SEG32: {
|
||||
const range_seg32_t *r32 = (const range_seg32_t *)rs;
|
||||
const zfs_range_seg32_t *r32 = (const zfs_range_seg32_t *)rs;
|
||||
return (r32->rs_end - r32->rs_start);
|
||||
}
|
||||
case ZFS_RANGE_SEG64: {
|
||||
const range_seg64_t *r64 = (const range_seg64_t *)rs;
|
||||
const zfs_range_seg64_t *r64 = (const zfs_range_seg64_t *)rs;
|
||||
return (r64->rs_end - r64->rs_start);
|
||||
}
|
||||
case ZFS_RANGE_SEG_GAP:
|
||||
return (((const range_seg_gap_t *)rs)->rs_fill);
|
||||
return (((const zfs_range_seg_gap_t *)rs)->rs_fill);
|
||||
default:
|
||||
VERIFY(0);
|
||||
return (0);
|
||||
@@ -197,13 +197,13 @@ zfs_rs_set_start_raw(zfs_range_seg_t *rs, zfs_range_tree_t *rt, uint64_t start)
|
||||
switch (rt->rt_type) {
|
||||
case ZFS_RANGE_SEG32:
|
||||
ASSERT3U(start, <=, UINT32_MAX);
|
||||
((range_seg32_t *)rs)->rs_start = (uint32_t)start;
|
||||
((zfs_range_seg32_t *)rs)->rs_start = (uint32_t)start;
|
||||
break;
|
||||
case ZFS_RANGE_SEG64:
|
||||
((range_seg64_t *)rs)->rs_start = start;
|
||||
((zfs_range_seg64_t *)rs)->rs_start = start;
|
||||
break;
|
||||
case ZFS_RANGE_SEG_GAP:
|
||||
((range_seg_gap_t *)rs)->rs_start = start;
|
||||
((zfs_range_seg_gap_t *)rs)->rs_start = start;
|
||||
break;
|
||||
default:
|
||||
VERIFY(0);
|
||||
@@ -217,13 +217,13 @@ zfs_rs_set_end_raw(zfs_range_seg_t *rs, zfs_range_tree_t *rt, uint64_t end)
|
||||
switch (rt->rt_type) {
|
||||
case ZFS_RANGE_SEG32:
|
||||
ASSERT3U(end, <=, UINT32_MAX);
|
||||
((range_seg32_t *)rs)->rs_end = (uint32_t)end;
|
||||
((zfs_range_seg32_t *)rs)->rs_end = (uint32_t)end;
|
||||
break;
|
||||
case ZFS_RANGE_SEG64:
|
||||
((range_seg64_t *)rs)->rs_end = end;
|
||||
((zfs_range_seg64_t *)rs)->rs_end = end;
|
||||
break;
|
||||
case ZFS_RANGE_SEG_GAP:
|
||||
((range_seg_gap_t *)rs)->rs_end = end;
|
||||
((zfs_range_seg_gap_t *)rs)->rs_end = end;
|
||||
break;
|
||||
default:
|
||||
VERIFY(0);
|
||||
@@ -243,7 +243,7 @@ zfs_zfs_rs_set_fill_raw(zfs_range_seg_t *rs, zfs_range_tree_t *rt,
|
||||
zfs_rs_get_start_raw(rs, rt));
|
||||
break;
|
||||
case ZFS_RANGE_SEG_GAP:
|
||||
((range_seg_gap_t *)rs)->rs_fill = fill;
|
||||
((zfs_range_seg_gap_t *)rs)->rs_fill = fill;
|
||||
break;
|
||||
default:
|
||||
VERIFY(0);
|
||||
|
||||
+5
-5
@@ -106,12 +106,12 @@ extern void vdev_expand(vdev_t *vd, uint64_t txg);
|
||||
extern void vdev_split(vdev_t *vd);
|
||||
extern void vdev_deadman(vdev_t *vd, const char *tag);
|
||||
|
||||
typedef void vdev_xlate_func_t(void *arg, range_seg64_t *physical_rs);
|
||||
typedef void vdev_xlate_func_t(void *arg, zfs_range_seg64_t *physical_rs);
|
||||
|
||||
extern boolean_t vdev_xlate_is_empty(range_seg64_t *rs);
|
||||
extern void vdev_xlate(vdev_t *vd, const range_seg64_t *logical_rs,
|
||||
range_seg64_t *physical_rs, range_seg64_t *remain_rs);
|
||||
extern void vdev_xlate_walk(vdev_t *vd, const range_seg64_t *logical_rs,
|
||||
extern boolean_t vdev_xlate_is_empty(zfs_range_seg64_t *rs);
|
||||
extern void vdev_xlate(vdev_t *vd, const zfs_range_seg64_t *logical_rs,
|
||||
zfs_range_seg64_t *physical_rs, zfs_range_seg64_t *remain_rs);
|
||||
extern void vdev_xlate_walk(vdev_t *vd, const zfs_range_seg64_t *logical_rs,
|
||||
vdev_xlate_func_t *func, void *arg);
|
||||
|
||||
extern void vdev_get_stats_ex(vdev_t *vd, vdev_stat_t *vs, vdev_stat_ex_t *vsx);
|
||||
|
||||
@@ -91,8 +91,8 @@ typedef void vdev_remap_func_t(vdev_t *vd, uint64_t offset, uint64_t size,
|
||||
* Given a target vdev, translates the logical range "in" to the physical
|
||||
* range "res"
|
||||
*/
|
||||
typedef void vdev_xlation_func_t(vdev_t *cvd, const range_seg64_t *logical,
|
||||
range_seg64_t *physical, range_seg64_t *remain);
|
||||
typedef void vdev_xlation_func_t(vdev_t *cvd, const zfs_range_seg64_t *logical,
|
||||
zfs_range_seg64_t *physical, zfs_range_seg64_t *remain);
|
||||
typedef uint64_t vdev_rebuild_asize_func_t(vdev_t *vd, uint64_t start,
|
||||
uint64_t size, uint64_t max_segment);
|
||||
typedef void vdev_metaslab_init_func_t(vdev_t *vd, uint64_t *startp,
|
||||
@@ -616,8 +616,8 @@ extern vdev_ops_t vdev_indirect_ops;
|
||||
/*
|
||||
* Common size functions
|
||||
*/
|
||||
extern void vdev_default_xlate(vdev_t *vd, const range_seg64_t *logical_rs,
|
||||
range_seg64_t *physical_rs, range_seg64_t *remain_rs);
|
||||
extern void vdev_default_xlate(vdev_t *vd, const zfs_range_seg64_t *logical_rs,
|
||||
zfs_range_seg64_t *physical_rs, zfs_range_seg64_t *remain_rs);
|
||||
extern uint64_t vdev_default_asize(vdev_t *vd, uint64_t psize, uint64_t txg);
|
||||
extern uint64_t vdev_default_min_asize(vdev_t *vd);
|
||||
extern uint64_t vdev_get_min_asize(vdev_t *vd);
|
||||
|
||||
Reference in New Issue
Block a user