mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-24 03:08:51 +03:00
Add createtxg sort support for simple snapshot iterator
- When iterating snapshots with name only, e.g., "-o name -s name", libzfs uses simple snapshot iterator and results are displayed in alphabetic order. This PR adds support for faster version of createtxg sort by avoiding nvlist parsing for properties. Flags "-o name -s createtxg" will enable createtxg sort while using simple snapshot iterator. - Added support to read createtxg property directly from zfs handle for filesystem, volume and snapshot types instead of parsing nvlist. Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Reviewed-by: Alexander Motin <mav@FreeBSD.org> Signed-off-by: Ameer Hamza <ahamza@ixsystems.com> Closes #13577
This commit is contained in:
@@ -527,6 +527,7 @@ make_dataset_simple_handle_zc(zfs_handle_t *pzhp, zfs_cmd_t *zc)
|
||||
zhp->zfs_head_type = pzhp->zfs_type;
|
||||
zhp->zfs_type = ZFS_TYPE_SNAPSHOT;
|
||||
zhp->zpool_hdl = zpool_handle(zhp);
|
||||
zhp->zfs_dmustats = zc->zc_objset_stats;
|
||||
|
||||
return (zhp);
|
||||
}
|
||||
@@ -2283,6 +2284,19 @@ get_numeric_property(zfs_handle_t *zhp, zfs_prop_t prop, zprop_source_t *src,
|
||||
*val = zhp->zfs_dmustats.dds_redacted;
|
||||
break;
|
||||
|
||||
case ZFS_PROP_CREATETXG:
|
||||
/*
|
||||
* We can directly read createtxg property from zfs
|
||||
* handle for Filesystem, Snapshot and ZVOL types.
|
||||
*/
|
||||
if ((zhp->zfs_type == ZFS_TYPE_FILESYSTEM) ||
|
||||
(zhp->zfs_type == ZFS_TYPE_SNAPSHOT) ||
|
||||
(zhp->zfs_type == ZFS_TYPE_VOLUME)) {
|
||||
*val = zhp->zfs_dmustats.dds_creation_txg;
|
||||
break;
|
||||
}
|
||||
zfs_fallthrough;
|
||||
|
||||
default:
|
||||
switch (zfs_prop_get_type(prop)) {
|
||||
case PROP_TYPE_NUMBER:
|
||||
|
||||
Reference in New Issue
Block a user