1#! /usr/bin/ksh -p 2# 3# 4# This file and its contents are supplied under the terms of the 5# Common Development and Distribution License ("CDDL"), version 1.0. 6# You may only use this file in accordance with the terms of version 7# 1.0 of the CDDL. 8# 9# A full copy of the text of the CDDL should have accompanied this 10# source. A copy of the CDDL is also available via the Internet at 11# http://www.illumos.org/license/CDDL. 12# 13 14# 15# Copyright 2016 Nexenta Systems, Inc. All rights reserved. 16# 17 18. $STF_SUITE/include/libtest.shlib 19 20# 21# DESCRIPTION: 22# zfs umount should not fail because flushing of DNLC 23# uses async implementation of zfs_inactive 24# 25# STRATEGY: 26# 1. Call zfs unmount/mount to be sure DNLC is empty 27# 2. Create a lot of files 28# 3. Call zfs unmount command 29# 4. Make sure the file systems were unmounted 30# 5. Mount them back 31# 32 33for fs in 1 2 3; do 34 log_must mounted $TESTDIR.$fs 35 log_must zfs umount $TESTPOOL/$TESTFS.$fs 36 log_must unmounted $TESTDIR.$fs 37 log_must zfs mount $TESTPOOL/$TESTFS.$fs 38 log_must mounted $TESTDIR.$fs 39 40 for fn in $(seq 1 8096); do 41 log_must dd if=/dev/urandom of=$TESTDIR.$fs/file$fn bs=1024 \ 42 count=1 43 done 44 45 log_must zfs umount $TESTPOOL/$TESTFS.$fs 46 log_must unmounted $TESTDIR.$fs 47 log_must zfs mount $TESTPOOL/$TESTFS.$fs 48 log_must mounted $TESTDIR.$fs 49 log_must rm -f $TESTDIR.$fs/file* 50done 51 52log_pass "All file systems are unmounted" 53