diff options
Diffstat (limited to 'include/sys/space_map.h')
-rw-r--r-- | include/sys/space_map.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/include/sys/space_map.h b/include/sys/space_map.h index 457300d05..98b87269c 100644 --- a/include/sys/space_map.h +++ b/include/sys/space_map.h @@ -24,7 +24,7 @@ */ /* - * Copyright (c) 2012, 2015 by Delphix. All rights reserved. + * Copyright (c) 2012, 2017 by Delphix. All rights reserved. */ #ifndef _SYS_SPACE_MAP_H @@ -57,7 +57,7 @@ extern "C" { typedef struct space_map_phys { uint64_t smp_object; /* on-disk space map object */ uint64_t smp_objsize; /* size of the object */ - uint64_t smp_alloc; /* space allocated from the map */ + int64_t smp_alloc; /* space allocated from the map */ uint64_t smp_pad[5]; /* reserved */ /* @@ -82,7 +82,7 @@ typedef struct space_map { uint64_t sm_size; /* size of map */ uint8_t sm_shift; /* unit shift */ uint64_t sm_length; /* synced length */ - uint64_t sm_alloc; /* synced space allocated */ + int64_t sm_alloc; /* synced space allocated */ objset_t *sm_os; /* objset for this map */ uint64_t sm_object; /* object id for this map */ uint32_t sm_blksz; /* block size for space map */ @@ -140,6 +140,8 @@ typedef int (*sm_cb_t)(maptype_t type, uint64_t offset, uint64_t size, int space_map_load(space_map_t *sm, range_tree_t *rt, maptype_t maptype); int space_map_iterate(space_map_t *sm, sm_cb_t callback, void *arg); +int space_map_incremental_destroy(space_map_t *sm, sm_cb_t callback, void *arg, + dmu_tx_t *tx); void space_map_histogram_clear(space_map_t *sm); void space_map_histogram_add(space_map_t *sm, range_tree_t *rt, @@ -153,8 +155,8 @@ uint64_t space_map_length(space_map_t *sm); void space_map_write(space_map_t *sm, range_tree_t *rt, maptype_t maptype, dmu_tx_t *tx); -void space_map_truncate(space_map_t *sm, dmu_tx_t *tx); -uint64_t space_map_alloc(objset_t *os, dmu_tx_t *tx); +void space_map_truncate(space_map_t *sm, int blocksize, dmu_tx_t *tx); +uint64_t space_map_alloc(objset_t *os, int blocksize, dmu_tx_t *tx); void space_map_free(space_map_t *sm, dmu_tx_t *tx); void space_map_free_obj(objset_t *os, uint64_t smobj, dmu_tx_t *tx); |