18a272653SPeter Holm#!/bin/sh 28a272653SPeter Holm 38a272653SPeter Holm# 4*4d846d26SWarner Losh# SPDX-License-Identifier: BSD-2-Clause 58a272653SPeter Holm# 68a272653SPeter Holm# Copyright (c) 2018 Dell EMC Isilon 78a272653SPeter Holm# 88a272653SPeter Holm# Redistribution and use in source and binary forms, with or without 98a272653SPeter Holm# modification, are permitted provided that the following conditions 108a272653SPeter Holm# are met: 118a272653SPeter Holm# 1. Redistributions of source code must retain the above copyright 128a272653SPeter Holm# notice, this list of conditions and the following disclaimer. 138a272653SPeter Holm# 2. Redistributions in binary form must reproduce the above copyright 148a272653SPeter Holm# notice, this list of conditions and the following disclaimer in the 158a272653SPeter Holm# documentation and/or other materials provided with the distribution. 168a272653SPeter Holm# 178a272653SPeter Holm# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 188a272653SPeter Holm# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 198a272653SPeter Holm# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 208a272653SPeter Holm# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 218a272653SPeter Holm# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 228a272653SPeter Holm# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 238a272653SPeter Holm# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 248a272653SPeter Holm# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 258a272653SPeter Holm# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 268a272653SPeter Holm# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 278a272653SPeter Holm# SUCH DAMAGE. 288a272653SPeter Holm# 298a272653SPeter Holm 308a272653SPeter Holm# "panic: ffs_valloc: dup alloc" seen: 318a272653SPeter Holm# https://people.freebsd.org/~pho/stress/log/kostik1128.txt 328a272653SPeter Holm 338a272653SPeter Holm. ../default.cfg 348a272653SPeter Holm[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 358a272653SPeter Holm 368a272653SPeter Holmmd5=c2e2d89745914bf12c5b251c358e1b3f 378a272653SPeter Holmsize=$(((5368709120 + 13964088) / 1024 + 1)) 388a272653SPeter Holmzimg=tmp.disk.xz 398a272653SPeter Holmlog=fsck4.sh.log 408a272653SPeter Holm 418a272653SPeter Holm[ `df -k $(dirname $diskimage) | tail -1 | awk '{print $4}'` -lt $size ] && 428a272653SPeter Holm{ echo "Not enough disk space."; exit 0; } 438a272653SPeter Holm[ -z "`which fetch`" ] && exit 0 448a272653SPeter Holm 458a272653SPeter Holmcd `dirname $diskimage` 468a272653SPeter Holmtrap "rm -f $diskimage $zimg" EXIT INT 478a272653SPeter Holmfetch -q https://people.freebsd.org/~pho/$zimg || exit 0 488a272653SPeter Holm 498a272653SPeter Holmm=`md5 < $zimg` 508a272653SPeter Holm[ $m != $md5 ] && { echo "md5 diff"; rm $zimg; exit 1; } 518a272653SPeter Holmunxz < $zimg > $diskimage 528a272653SPeter Holmrm $zimg 538a272653SPeter Holm 548a272653SPeter Holmmdconfig -a -t vnode -f $diskimage -u $mdstart 558a272653SPeter Holmfsck_ffs -fy $diskimage > $log 2>&1 568a272653SPeter Holmif grep -q "MARKED CLEAN" $log; then 578a272653SPeter Holm mount /dev/md$mdstart $mntpoint 588a272653SPeter Holm touch $mntpoint/xxxxxxxx # Panics here 598a272653SPeter Holm umount $mntpoint 608a272653SPeter Holm s=0 618a272653SPeter Holmelse 628a272653SPeter Holm cat $log 638a272653SPeter Holm s=1 648a272653SPeter Holmfi 658a272653SPeter Holmmdconfig -d -u $mdstart 668a272653SPeter Holm 678a272653SPeter Holmexit $s 68