#!/bin/sh
# DF-2632 run driver (stock kernel): build fs, generate names, dense fill.
# Runs as root on the guest.  Stdout is captured by the caller.
set -e
cd /root/df2632
cc -O2 -o fill2632 fill2632.c
cc -O2 -o gen_names gen_names.c

truncate -s 512M /tmp/h2632.img
vnconfig -c -S 512m -T vn1 /tmp/h2632.img
newfs_hammer2 -L DATA /dev/vn1
mkdir -p /mnt/h2632
mount_hammer2 /dev/vn1@DATA /mnt/h2632
df /mnt/h2632

echo "generating 40000 same-CRC32C names (crc32c target deadbeef)..."
./gen_names deadbeef 40000 /tmp/names.txt
wc -l /tmp/names.txt

mkdir -p /mnt/h2632/dense
echo "filling dense window (batch=128, sync each batch)..."
./fill2632 /mnt/h2632/dense /tmp/names.txt 128
echo "fill exited cleanly (no panic)"
ls /mnt/h2632/dense | wc -l
umount /mnt/h2632
vnconfig -u vn1
