#!/bin/sh
# DF-3072: server-side tmpfs unlinked-file reclaim vs client GETATTR-by-fh
mkdir -p /mnt/cli3072
mount -t nfs -o tcp 127.0.0.1:/export /mnt/cli3072 && echo MOUNT_OK
rm -f /mnt/cli3072/big3072
( su maxx -c "/tmp/v30bin/df3072 /mnt/cli3072/big3072" > /tmp/df3072.out 2>&1 ) &
CLI=$!
# wait for READY
n=0
while [ $n -lt 120 ]; do
  grep -q READY /tmp/df3072.out 2>/dev/null && break
  sleep 1; n=$((n+1))
done
echo "client ready after ${n}s: $(head -1 /tmp/df3072.out)"
sleep 1
echo "=== server-side rm of /export/big3072 (triggers tmpfs_inactive DOOMED window)"
rm -f /export/big3072
sleep 10
echo "=== after 10s: client output:"
tail -3 /tmp/df3072.out
echo "=== guest still alive: $(date)"
kill -9 $CLI 2>/dev/null
pkill -9 df3072 2>/dev/null
echo DF3072_RUN_DONE
