git: be2f92a96b96 - main - makefs/zfs: Add a helper function for adding ZAP entries
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 01 Jun 2024 15:18:14 UTC
The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=be2f92a96b96149fccb4ec9e9f9c42ee29b455e6 commit be2f92a96b96149fccb4ec9e9f9c42ee29b455e6 Author: Mark Johnston <markj@FreeBSD.org> AuthorDate: 2024-06-01 15:16:18 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2024-06-01 15:16:18 +0000 makefs/zfs: Add a helper function for adding ZAP entries Some ZAPs are used to represent sets, in which keys and values are the same. Add a helper function for this case. No functional change intended. MFC after: 1 week --- usr.sbin/makefs/zfs/dsl.c | 4 +--- usr.sbin/makefs/zfs/zap.c | 9 +++++++++ usr.sbin/makefs/zfs/zfs.h | 1 + 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/usr.sbin/makefs/zfs/dsl.c b/usr.sbin/makefs/zfs/dsl.c index 93083f286e81..f7264b9d2ca7 100644 --- a/usr.sbin/makefs/zfs/dsl.c +++ b/usr.sbin/makefs/zfs/dsl.c @@ -490,7 +490,6 @@ dsl_dir_finalize_props(zfs_dsl_dir_t *dir) static void dsl_dir_finalize(zfs_opt_t *zfs, zfs_dsl_dir_t *dir, void *arg __unused) { - char key[32]; zfs_dsl_dir_t *cdir; dnode_phys_t *snapnames; zfs_dsl_dataset_t *headds; @@ -519,8 +518,7 @@ dsl_dir_finalize(zfs_opt_t *zfs, zfs_dsl_dir_t *dir, void *arg __unused) objset_root_blkptr_copy(os, &headds->phys->ds_bp); zfs->snapds->phys->ds_num_children++; - snprintf(key, sizeof(key), "%jx", (uintmax_t)headds->dsid); - zap_add_uint64(zfs->cloneszap, key, headds->dsid); + zap_add_uint64_self(zfs->cloneszap, headds->dsid); bytes = objset_space(os); headds->phys->ds_used_bytes = bytes; diff --git a/usr.sbin/makefs/zfs/zap.c b/usr.sbin/makefs/zfs/zap.c index 2437ee3bfd1e..d01f7527adf9 100644 --- a/usr.sbin/makefs/zfs/zap.c +++ b/usr.sbin/makefs/zfs/zap.c @@ -166,6 +166,15 @@ zap_add_uint64(zfs_zap_t *zap, const char *name, uint64_t val) zap_add(zap, name, sizeof(uint64_t), 1, (uint8_t *)&val); } +void +zap_add_uint64_self(zfs_zap_t *zap, uint64_t val) +{ + char name[32]; + + snprintf(name, sizeof(name), "%jx", (uintmax_t)val); + zap_add(zap, name, sizeof(uint64_t), 1, (uint8_t *)&val); +} + void zap_add_string(zfs_zap_t *zap, const char *name, const char *val) { diff --git a/usr.sbin/makefs/zfs/zfs.h b/usr.sbin/makefs/zfs/zfs.h index 9af090b14912..ff94c270bbf6 100644 --- a/usr.sbin/makefs/zfs/zfs.h +++ b/usr.sbin/makefs/zfs/zfs.h @@ -159,6 +159,7 @@ void vdev_fini(zfs_opt_t *zfs); zfs_zap_t *zap_alloc(zfs_objset_t *, dnode_phys_t *); void zap_add(zfs_zap_t *, const char *, size_t, size_t, const uint8_t *); void zap_add_uint64(zfs_zap_t *, const char *, uint64_t); +void zap_add_uint64_self(zfs_zap_t *, uint64_t); void zap_add_string(zfs_zap_t *, const char *, const char *); bool zap_entry_exists(zfs_zap_t *, const char *); void zap_write(zfs_opt_t *, zfs_zap_t *);