1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21#
22# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24#
25# ident	"%Z%%M%	%I%	%E% SMI"
26
27#  3- open() and allocation of a 1GB file with write()
28#     of size picked uniformly in [1K,8K] range and issuing
29#     fsync() every 10MB.
30#     fm_create8k
31
32
33set $dir=/tmp
34set $nthreads=1
35set $iosize=1m
36set $count=1280
37set $bytes=1g
38set $sync=0
39
40define fileset name=bigfileset,path=$dir,size=0,entries=128,dirwidth=1024,prealloc=100
41
42define process name=filecreater,instances=1
43{
44  thread name=filecreaterthread,memsize=10m,instances=$nthreads
45  {
46    flowop appendfilerand name=append-file,filesetname=bigfileset,dsync=$sync,iosize=$iosize,fd=1
47    flowop fsync name=sync,fd=1
48    flowop finishonbytes name=finish,value=$bytes
49  }
50}
51
52echo  "FileMicro-CreateRand Version 2.0 personality successfully loaded"
53usage "Usage: set \$dir=<dir>"
54usage "       set \$iosize=<size>    defaults to $iosize"
55usage "       set \$bytes=<value>    defaults to $bytes"
56usage "       set \$count=<value>    defaults to $count"
57usage "       set \$nthreads=<value> defaults to $nthreads"
58usage "       set \$sync=<bool>      defaults to $sync"
59usage " "
60usage "       run runtime (e.g. run 60)"
61