mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 18:40:43 +03:00
Remove code for zfs remap
The "zfs remap" command was disabled by
6e91a72fe3, because it has little utility
and introduced some tricky bugs. This commit removes the code for it,
the associated ZFS_IOC_REMAP ioctl, and tests.
Note that the ioctl and property will remain, but have no functionality.
This allows older software to fail gracefully if it attempts to use
these, and avoids a backwards incompatibility that would be introduced if
we renumbered the later ioctls/props.
Reviewed-by: Tom Caputi <tcaputi@datto.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Matthew Ahrens <mahrens@delphix.com>
Closes #8944
This commit is contained in:
committed by
Brian Behlendorf
parent
53864800f6
commit
59ec30a329
@@ -336,8 +336,6 @@ void dbuf_unoverride(dbuf_dirty_record_t *dr);
|
||||
void dbuf_sync_list(list_t *list, int level, dmu_tx_t *tx);
|
||||
void dbuf_release_bp(dmu_buf_impl_t *db);
|
||||
|
||||
boolean_t dbuf_can_remap(const dmu_buf_impl_t *buf);
|
||||
|
||||
void dbuf_free_range(struct dnode *dn, uint64_t start, uint64_t end,
|
||||
struct dmu_tx *);
|
||||
|
||||
|
||||
@@ -342,7 +342,6 @@ int dmu_objset_find(char *name, int func(const char *, void *), void *arg,
|
||||
void dmu_objset_byteswap(void *buf, size_t size);
|
||||
int dsl_dataset_rename_snapshot(const char *fsname,
|
||||
const char *oldsnapname, const char *newsnapname, boolean_t recursive);
|
||||
int dmu_objset_remap_indirects(const char *fsname);
|
||||
|
||||
typedef struct dmu_buf {
|
||||
uint64_t db_object; /* object that this buffer is part of */
|
||||
@@ -498,9 +497,6 @@ void dmu_object_set_checksum(objset_t *os, uint64_t object, uint8_t checksum,
|
||||
void dmu_object_set_compress(objset_t *os, uint64_t object, uint8_t compress,
|
||||
dmu_tx_t *tx);
|
||||
|
||||
|
||||
int dmu_object_remap_indirects(objset_t *os, uint64_t object, uint64_t txg);
|
||||
|
||||
void dmu_write_embedded(objset_t *os, uint64_t object, uint64_t offset,
|
||||
void *data, uint8_t etype, uint8_t comp, int uncompressed_size,
|
||||
int compressed_size, int byteorder, dmu_tx_t *tx);
|
||||
@@ -777,7 +773,6 @@ void dmu_tx_hold_free(dmu_tx_t *tx, uint64_t object, uint64_t off,
|
||||
uint64_t len);
|
||||
void dmu_tx_hold_free_by_dnode(dmu_tx_t *tx, dnode_t *dn, uint64_t off,
|
||||
uint64_t len);
|
||||
void dmu_tx_hold_remap_l1indirect(dmu_tx_t *tx, uint64_t object);
|
||||
void dmu_tx_hold_zap(dmu_tx_t *tx, uint64_t object, int add, const char *name);
|
||||
void dmu_tx_hold_zap_by_dnode(dmu_tx_t *tx, dnode_t *dn, int add,
|
||||
const char *name);
|
||||
|
||||
@@ -440,7 +440,6 @@ int dnode_next_offset(dnode_t *dn, int flags, uint64_t *off,
|
||||
void dnode_evict_dbufs(dnode_t *dn);
|
||||
void dnode_evict_bonus(dnode_t *dn);
|
||||
void dnode_free_interior_slots(dnode_t *dn);
|
||||
boolean_t dnode_needs_remap(const dnode_t *dn);
|
||||
|
||||
#define DNODE_IS_DIRTY(_dn) \
|
||||
((_dn)->dn_dirty_txg >= spa_syncing_txg((_dn)->dn_objset->os_spa))
|
||||
|
||||
@@ -61,7 +61,6 @@ extern "C" {
|
||||
#define ZFS_DELEG_PERM_RELEASE "release"
|
||||
#define ZFS_DELEG_PERM_DIFF "diff"
|
||||
#define ZFS_DELEG_PERM_BOOKMARK "bookmark"
|
||||
#define ZFS_DELEG_PERM_REMAP "remap"
|
||||
#define ZFS_DELEG_PERM_LOAD_KEY "load-key"
|
||||
#define ZFS_DELEG_PERM_CHANGE_KEY "change-key"
|
||||
#define ZFS_DELEG_PERM_PROJECTUSED "projectused"
|
||||
|
||||
@@ -49,7 +49,6 @@ struct dsl_dataset;
|
||||
#define DD_FIELD_FILESYSTEM_COUNT "com.joyent:filesystem_count"
|
||||
#define DD_FIELD_SNAPSHOT_COUNT "com.joyent:snapshot_count"
|
||||
#define DD_FIELD_CRYPTO_KEY_OBJ "com.datto:crypto_key_obj"
|
||||
#define DD_FIELD_LAST_REMAP_TXG "com.delphix:last_remap_txg"
|
||||
|
||||
typedef enum dd_used {
|
||||
DD_USED_HEAD,
|
||||
@@ -154,7 +153,6 @@ void dsl_dir_stats(dsl_dir_t *dd, nvlist_t *nv);
|
||||
uint64_t dsl_dir_space_available(dsl_dir_t *dd,
|
||||
dsl_dir_t *ancestor, int64_t delta, int ondiskonly);
|
||||
void dsl_dir_dirty(dsl_dir_t *dd, dmu_tx_t *tx);
|
||||
int dsl_dir_get_remaptxg(dsl_dir_t *dd, uint64_t *count);
|
||||
void dsl_dir_sync(dsl_dir_t *dd, dmu_tx_t *tx);
|
||||
int dsl_dir_tempreserve_space(dsl_dir_t *dd, uint64_t mem,
|
||||
uint64_t asize, boolean_t netfree, void **tr_cookiep, dmu_tx_t *tx);
|
||||
@@ -172,7 +170,6 @@ int dsl_dir_activate_fs_ss_limit(const char *);
|
||||
int dsl_fs_ss_limit_check(dsl_dir_t *, uint64_t, zfs_prop_t, dsl_dir_t *,
|
||||
cred_t *);
|
||||
void dsl_fs_ss_count_adjust(dsl_dir_t *, int64_t, const char *, dmu_tx_t *);
|
||||
int dsl_dir_update_last_remap_txg(dsl_dir_t *, uint64_t);
|
||||
int dsl_dir_rename(const char *oldname, const char *newname);
|
||||
int dsl_dir_transfer_possible(dsl_dir_t *sdd, dsl_dir_t *tdd,
|
||||
uint64_t fs_cnt, uint64_t ss_cnt, uint64_t space, cred_t *);
|
||||
|
||||
@@ -181,7 +181,7 @@ typedef enum {
|
||||
ZFS_PROP_ENCRYPTION_ROOT,
|
||||
ZFS_PROP_KEY_GUID,
|
||||
ZFS_PROP_KEYSTATUS,
|
||||
ZFS_PROP_REMAPTXG, /* not exposed to the user */
|
||||
ZFS_PROP_REMAPTXG, /* obsolete - no longer used */
|
||||
ZFS_PROP_SPECIAL_SMALL_BLOCKS,
|
||||
ZFS_PROP_IVSET_GUID, /* not exposed to the user */
|
||||
ZFS_PROP_REDACTED,
|
||||
|
||||
Reference in New Issue
Block a user