mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-23 10:54:35 +03:00
Add snapshots_changed_nsecs dataset property
Add a read-only dataset property, snapshots_changed_nsecs, which exposes the nanosecond resolution version of snapshots_changed. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com> Signed-off-by: Wolfgang Hoschek <wolfgang.hoschek@mac.com> Closes #17998 Closes #18031
This commit is contained in:
@@ -2855,8 +2855,14 @@ dsl_dataset_stats(dsl_dataset_t *ds, nvlist_t *nv)
|
||||
dsl_get_userrefs(ds));
|
||||
dsl_prop_nvlist_add_uint64(nv, ZFS_PROP_DEFER_DESTROY,
|
||||
dsl_get_defer_destroy(ds));
|
||||
inode_timespec_t snap_cmtime = dsl_dir_snap_cmtime(ds->ds_dir);
|
||||
dsl_prop_nvlist_add_uint64(nv, ZFS_PROP_SNAPSHOTS_CHANGED,
|
||||
dsl_dir_snap_cmtime(ds->ds_dir).tv_sec);
|
||||
snap_cmtime.tv_sec);
|
||||
uint64_t snap_cmtime_ns =
|
||||
((uint64_t)snap_cmtime.tv_sec * NANOSEC) +
|
||||
snap_cmtime.tv_nsec;
|
||||
dsl_prop_nvlist_add_uint64(nv, ZFS_PROP_SNAPSHOTS_CHANGED_NSECS,
|
||||
snap_cmtime_ns);
|
||||
dsl_dataset_crypt_stats(ds, nv);
|
||||
|
||||
if (dsl_dataset_phys(ds)->ds_prev_snap_obj != 0) {
|
||||
|
||||
@@ -434,6 +434,14 @@ get_special_prop(lua_State *state, dsl_dataset_t *ds, const char *dsname,
|
||||
numval = dsl_dir_snap_cmtime(ds->ds_dir).tv_sec;
|
||||
break;
|
||||
|
||||
case ZFS_PROP_SNAPSHOTS_CHANGED_NSECS: {
|
||||
inode_timespec_t snap_cmtime =
|
||||
dsl_dir_snap_cmtime(ds->ds_dir);
|
||||
numval = ((uint64_t)snap_cmtime.tv_sec * NANOSEC) +
|
||||
snap_cmtime.tv_nsec;
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
/* Did not match these props, check in the dsl_dir */
|
||||
error = get_dsl_dir_prop(ds, zfs_prop, &numval);
|
||||
|
||||
Reference in New Issue
Block a user