Lines Matching defs:ha
4439 struct holdarg *ha = arg;
4444 "%s@%s", zhp->zfs_name, ha->snapname);
4447 fnvlist_add_string(ha->nvl, name, ha->tag);
4449 if (ha->recursive)
4450 rv = zfs_iter_filesystems(zhp, zfs_hold_one, ha);
4460 struct holdarg ha;
4462 ha.nvl = fnvlist_alloc();
4463 ha.snapname = snapname;
4464 ha.tag = tag;
4465 ha.recursive = recursive;
4466 (void) zfs_hold_one(zfs_handle_dup(zhp), &ha);
4468 if (nvlist_empty(ha.nvl)) {
4471 fnvlist_free(ha.nvl);
4481 ret = zfs_hold_nvl(zhp, cleanup_fd, ha.nvl);
4482 fnvlist_free(ha.nvl);
4558 struct holdarg *ha = arg;
4564 "%s@%s", zhp->zfs_name, ha->snapname);
4567 ha->error = ENOENT;
4568 } else if (!nvlist_exists(existing_holds, ha->tag)) {
4569 ha->error = ESRCH;
4572 fnvlist_add_boolean(torelease, ha->tag);
4573 fnvlist_add_nvlist(ha->nvl, name, torelease);
4577 if (ha->recursive)
4578 rv = zfs_iter_filesystems(zhp, zfs_release_one, ha);
4588 struct holdarg ha;
4594 ha.nvl = fnvlist_alloc();
4595 ha.snapname = snapname;
4596 ha.tag = tag;
4597 ha.recursive = recursive;
4598 ha.error = 0;
4599 (void) zfs_release_one(zfs_handle_dup(zhp), &ha);
4601 if (nvlist_empty(ha.nvl)) {
4602 fnvlist_free(ha.nvl);
4603 ret = ha.error;
4616 ret = lzc_release(ha.nvl, &errors);
4617 fnvlist_free(ha.nvl);