mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
fill files with random data
snapshot data integrity test-case needs filesystem with random data. Signed-off-by: Anand Jain <Anand.Jain@oracle.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
committed by
Christoph Hellwig
parent
26b97f0480
commit
2ef3d4e4c6
@@ -1490,6 +1490,7 @@ _die()
|
||||
exit 1
|
||||
}
|
||||
|
||||
#takes files, randomdata
|
||||
_nfiles()
|
||||
{
|
||||
f=0
|
||||
@@ -1498,20 +1499,24 @@ _nfiles()
|
||||
file=f$f
|
||||
echo > $file
|
||||
if [ $size -gt 0 ]; then
|
||||
dd if=/dev/zero of=$file bs=1024 count=$size
|
||||
if [ $2 == false ]; then
|
||||
dd if=/dev/zero of=$file bs=1024 count=$size 2>&1 | _filter_dd
|
||||
else
|
||||
dd if=/dev/urandom of=$file bs=1024 count=$size 2>&1 | _filter_dd
|
||||
fi
|
||||
fi
|
||||
let f=$f+1
|
||||
done
|
||||
}
|
||||
|
||||
# takes dirname, depth
|
||||
# takes dirname, depth, randomdata
|
||||
_descend()
|
||||
{
|
||||
dirname=$1; depth=$2
|
||||
dirname=$1; depth=$2; randomdata=$3
|
||||
mkdir $dirname || die "mkdir $dirname failed"
|
||||
cd $dirname
|
||||
|
||||
_nfiles $files # files for this dir
|
||||
_nfiles $files $randomdata # files for this dir and data type
|
||||
|
||||
[ $depth -eq 0 ] && return
|
||||
let deep=$depth-1 # go 1 down
|
||||
@@ -1529,7 +1534,7 @@ _descend()
|
||||
|
||||
# Populate a filesystem with inodes for performance experiments
|
||||
#
|
||||
# usage: populate [-v] [-n ndirs] [-f nfiles] [-d depth] [-r root] [-s size]
|
||||
# usage: populate [-v] [-n ndirs] [-f nfiles] [-d depth] [-r root] [-s size] [-x]
|
||||
#
|
||||
_populate_fs()
|
||||
{
|
||||
@@ -1540,8 +1545,9 @@ _populate_fs()
|
||||
depth=2 # depth of tree from root to leaves
|
||||
verbose=false
|
||||
root=root # path of initial root of directory tree
|
||||
randomdata=false # -x data type urandom or zero
|
||||
|
||||
while getopts "d:f:n:r:s:v" c
|
||||
while getopts "d:f:n:r:s:v:x" c
|
||||
do
|
||||
case $c in
|
||||
d) depth=$OPTARG;;
|
||||
@@ -1550,10 +1556,11 @@ _populate_fs()
|
||||
s) size=$OPTARG;;
|
||||
v) verbose=true;;
|
||||
r) root=$OPTARG;;
|
||||
x) randomdata=true;;
|
||||
esac
|
||||
done
|
||||
|
||||
_descend $root $depth
|
||||
_descend $root $depth $randomdata
|
||||
wait
|
||||
|
||||
cd $here
|
||||
|
||||
Reference in New Issue
Block a user