1*dfc11533SChris Williamson#!/bin/ksh -p 2*dfc11533SChris Williamson# 3*dfc11533SChris Williamson# This file and its contents are supplied under the terms of the 4*dfc11533SChris Williamson# Common Development and Distribution License ("CDDL"), version 1.0. 5*dfc11533SChris Williamson# You may only use this file in accordance with the terms of version 6*dfc11533SChris Williamson# 1.0 of the CDDL. 7*dfc11533SChris Williamson# 8*dfc11533SChris Williamson# A full copy of the text of the CDDL should have accompanied this 9*dfc11533SChris Williamson# source. A copy of the CDDL is also available via the Internet at 10*dfc11533SChris Williamson# http://www.illumos.org/license/CDDL. 11*dfc11533SChris Williamson# 12*dfc11533SChris Williamson 13*dfc11533SChris Williamson# 14*dfc11533SChris Williamson# Copyright (c) 2016 by Delphix. All rights reserved. 15*dfc11533SChris Williamson# 16*dfc11533SChris Williamson 17*dfc11533SChris Williamson. $STF_SUITE/tests/functional/channel_program/channel_common.kshlib 18*dfc11533SChris Williamson 19*dfc11533SChris Williamson# 20*dfc11533SChris Williamson# DESCRIPTION: 21*dfc11533SChris Williamson# Getting dataset mountpoint should work correctly. 22*dfc11533SChris Williamson# 23*dfc11533SChris Williamson 24*dfc11533SChris Williamsonverify_runnable "global" 25*dfc11533SChris Williamson 26*dfc11533SChris Williamsonfs=$TESTPOOL/testmount 27*dfc11533SChris Williamsonsnap=$fs@$TESTSNAP 28*dfc11533SChris Williamsonclone=$TESTPOOL/$TESTCLONE 29*dfc11533SChris Williamsonmnt1=/$fs/mnt1 30*dfc11533SChris Williamsonmnt2=/$fs/mnt2 31*dfc11533SChris Williamson 32*dfc11533SChris Williamsonfunction cleanup 33*dfc11533SChris Williamson{ 34*dfc11533SChris Williamson datasetexists $clone && log_must zfs destroy $clone 35*dfc11533SChris Williamson datasetexists $fs && log_must zfs destroy -R $fs 36*dfc11533SChris Williamson log_must rm -rf $mnt1 37*dfc11533SChris Williamson log_must rm -rf $mnt2 38*dfc11533SChris Williamson} 39*dfc11533SChris Williamson 40*dfc11533SChris Williamsonlog_onexit cleanup 41*dfc11533SChris Williamson 42*dfc11533SChris Williamsonlog_must zfs create $fs 43*dfc11533SChris Williamsoncreate_snapshot $fs $TESTSNAP 44*dfc11533SChris Williamsoncreate_clone $snap $clone 45*dfc11533SChris Williamson 46*dfc11533SChris Williamsonlog_must_program $TESTPOOL - <<-EOF 47*dfc11533SChris Williamson ans, src = zfs.get_prop("$fs", "mountpoint") 48*dfc11533SChris Williamson assert(ans == '/$fs') 49*dfc11533SChris Williamson assert(src == 'default') 50*dfc11533SChris WilliamsonEOF 51*dfc11533SChris Williamson 52*dfc11533SChris Williamsonlog_must_program $TESTPOOL - <<-EOF 53*dfc11533SChris Williamson ans, src = zfs.get_prop("$snap", "mountpoint") 54*dfc11533SChris Williamson assert(ans == nil) 55*dfc11533SChris Williamson assert(src == nil) 56*dfc11533SChris WilliamsonEOF 57*dfc11533SChris Williamson 58*dfc11533SChris Williamsonlog_must_program $TESTPOOL - <<-EOF 59*dfc11533SChris Williamson ans, src = zfs.get_prop("$clone", "mountpoint") 60*dfc11533SChris Williamson assert(ans == '/$clone') 61*dfc11533SChris Williamson assert(src == 'default') 62*dfc11533SChris WilliamsonEOF 63*dfc11533SChris Williamson 64*dfc11533SChris Williamsonlog_must mkdir $mnt1 65*dfc11533SChris Williamsonlog_must mkdir $mnt2 66*dfc11533SChris Williamson 67*dfc11533SChris Williamsonlog_must zfs set mountpoint=$mnt1 $fs 68*dfc11533SChris Williamsonlog_must zfs set mountpoint=$mnt2 $clone 69*dfc11533SChris Williamson 70*dfc11533SChris Williamsonlog_must_program $TESTPOOL - <<-EOF 71*dfc11533SChris Williamson ans, src = zfs.get_prop("$fs", "mountpoint") 72*dfc11533SChris Williamson assert(ans == '$mnt1') 73*dfc11533SChris Williamson assert(src == '$fs') 74*dfc11533SChris WilliamsonEOF 75*dfc11533SChris Williamson 76*dfc11533SChris Williamsonlog_must_program $TESTPOOL - <<-EOF 77*dfc11533SChris Williamson ans, src = zfs.get_prop("$snap", "mountpoint") 78*dfc11533SChris Williamson assert(ans == nil) 79*dfc11533SChris Williamson assert(src == nil) 80*dfc11533SChris WilliamsonEOF 81*dfc11533SChris Williamson 82*dfc11533SChris Williamsonlog_must_program $TESTPOOL - <<-EOF 83*dfc11533SChris Williamson ans, src = zfs.get_prop("$clone", "mountpoint") 84*dfc11533SChris Williamson assert(ans == '$mnt2') 85*dfc11533SChris Williamson assert(src == '$clone') 86*dfc11533SChris WilliamsonEOF 87*dfc11533SChris Williamson 88*dfc11533SChris Williamsonlog_pass "Getting dataset mountpoint should work correctly." 89