Lines Matching refs:ha
4447 struct holdarg *ha = arg;
4452 "%s@%s", zhp->zfs_name, ha->snapname);
4455 fnvlist_add_string(ha->nvl, name, ha->tag);
4457 if (ha->recursive)
4458 rv = zfs_iter_filesystems(zhp, zfs_hold_one, ha);
4468 struct holdarg ha;
4470 ha.nvl = fnvlist_alloc();
4471 ha.snapname = snapname;
4472 ha.tag = tag;
4473 ha.recursive = recursive;
4474 (void) zfs_hold_one(zfs_handle_dup(zhp), &ha);
4476 if (nvlist_empty(ha.nvl)) {
4479 fnvlist_free(ha.nvl);
4489 ret = zfs_hold_nvl(zhp, cleanup_fd, ha.nvl);
4490 fnvlist_free(ha.nvl);
4566 struct holdarg *ha = arg;
4572 "%s@%s", zhp->zfs_name, ha->snapname);
4575 ha->error = ENOENT;
4576 } else if (!nvlist_exists(existing_holds, ha->tag)) {
4577 ha->error = ESRCH;
4580 fnvlist_add_boolean(torelease, ha->tag);
4581 fnvlist_add_nvlist(ha->nvl, name, torelease);
4585 if (ha->recursive)
4586 rv = zfs_iter_filesystems(zhp, zfs_release_one, ha);
4596 struct holdarg ha;
4602 ha.nvl = fnvlist_alloc();
4603 ha.snapname = snapname;
4604 ha.tag = tag;
4605 ha.recursive = recursive;
4606 ha.error = 0;
4607 (void) zfs_release_one(zfs_handle_dup(zhp), &ha);
4609 if (nvlist_empty(ha.nvl)) {
4610 fnvlist_free(ha.nvl);
4611 ret = ha.error;
4624 ret = lzc_release(ha.nvl, &errors);
4625 fnvlist_free(ha.nvl);