15184Sek110237# 25184Sek110237# CDDL HEADER START 35184Sek110237# 45184Sek110237# The contents of this file are subject to the terms of the 55184Sek110237# Common Development and Distribution License (the "License"). 65184Sek110237# You may not use this file except in compliance with the License. 75184Sek110237# 85184Sek110237# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 95184Sek110237# or http://www.opensolaris.org/os/licensing. 105184Sek110237# See the License for the specific language governing permissions 115184Sek110237# and limitations under the License. 125184Sek110237# 135184Sek110237# When distributing Covered Code, include this CDDL HEADER in each 145184Sek110237# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 155184Sek110237# If applicable, add the following below this CDDL HEADER, with the 165184Sek110237# fields enclosed by brackets "[]" replaced with your own identifying 175184Sek110237# information: Portions Copyright [yyyy] [name of copyright owner] 185184Sek110237# 195184Sek110237# CDDL HEADER END 205184Sek110237# 215184Sek110237# 226305Saw148015# Copyright 2008 Sun Microsystems, Inc. All rights reserved. 235184Sek110237# Use is subject to license terms. 245184Sek110237# 255184Sek110237# ident "%Z%%M% %I% %E% SMI" 265184Sek110237 276333Sek110237# Create a fileset of 50,000 entries ($nfiles), where each file's size is set 286333Sek110237# via a gamma distribution with the median size of 16KB ($filesize). 296333Sek110237# Fire off 16 threads ($nthreads), where each thread stops after 306333Sek110237# deleting 1000 ($count) files. 315184Sek110237 325184Sek110237set $dir=/tmp 336333Sek110237set $count=1000 345184Sek110237set $filesize=16k 356333Sek110237set $nfiles=5000 366333Sek110237set $meandirwidth=100 375184Sek110237set $nthreads=16 385184Sek110237 39*6701Saw148015set mode quit firstdone 406305Saw148015 416333Sek110237define fileset name=bigfileset,path=$dir,size=$filesize,entries=$nfiles,dirwidth=$meandirwidth,prealloc=100,paralloc 425184Sek110237 435184Sek110237define process name=filedelete,instances=1 445184Sek110237{ 455184Sek110237 thread name=filedeletethread,memsize=10m,instances=$nthreads 465184Sek110237 { 476391Saw148015 flowop deletefile name=deletefile1,filesetname=bigfileset 485184Sek110237 flowop opslimit name=limit 495184Sek110237 flowop finishoncount name=finish,value=$count 505184Sek110237 } 515184Sek110237} 525184Sek110237 53*6701Saw148015echo "FileMicro-Delete Version 2.4 personality successfully loaded" 54*6701Saw148015usage "Usage: set \$dir=<dir> defaults to $dir" 556333Sek110237usage " set \$count=<value> defaults to $count" 565184Sek110237usage " set \$filesize=<size> defaults to $filesize" 575184Sek110237usage " set \$nfiles=<value> defaults to $nfiles" 586333Sek110237usage " set \$meandirwidth=<size> defaults to $meandirwidth" 595184Sek110237usage " set \$nthreads=<value> defaults to $nthreads" 605184Sek110237usage "(sets mean dir width and dir depth is calculated as log (width, nfiles)" 615184Sek110237usage " " 626305Saw148015usage " run" 636305Saw148015 64