>Number: 162195 >Category: kern >Synopsis: panic with soft updates journaling during umount -f >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Oct 31 11:30:11 UTC 2011 >Closed-Date: >Last-Modified: >Originator: Kirk Russell >Release: FreeBSD 9.0-RC1 >Organization: bstg >Environment: FreeBSD kleenex 9.0-RC1 FreeBSD 9.0-RC1 #0: Sun Oct 30 15:34:30 GMT 2011 root@kleenex:/usr/obj/usr/src/sys/KLEENEX i386
>Description: I have been testing a scratch filesystem, with soft updates journaling enabled. During a test, if I run umount -f, I will see this panic: panic: check_inode_unwritten: busy inode Here is the source to the load test: http://www.ba23.org/bstgbugs/bstg0004.sh Here is the output from /var/crash/core.txt: http://www.ba23.org/bstgbugs/bstg0004.core.txt.gz kleenex# sh bstg0004.sh /dev/ada0p4: 56320.0MB (115343360 sectors) block size 32768, fragment size 4096 using 77 cylinder groups of 740.00MB, 23680 blks, 47360 inodes. with soft updates super-block backups (for fsck -b #) at: 192, 1515712, 3031232, 4546752, 6062272, 7577792, 9093312, 10608832, 12124352, 13639872, 15155392, 16670912, 18186432, 19701952, 21217472, 22732992, 24248512, 25764032, 27279552, 28795072, 30310592, 31826112, 33341632, 34857152, 36372672, 37888192, 39403712, 40919232, 42434752, 43950272, 45465792, 46981312, 48496832, 50012352, 51527872, 53043392, 54558912, 56074432, 57589952, 59105472, 60620992, 62136512, 63652032, 65167552, 66683072, 68198592, 69714112, 71229632, 72745152, 74260672, 75776192, 77291712, 78807232, 80322752, 81838272, 83353792, 84869312, 86384832, 87900352, 89415872, 90931392, 92446912, 93962432, 95477952, 96993472, 98508992, 100024512, 101540032, 103055552, 104571072, 106086592, 107602112, 109117632, 110633152, 112148672, 113664192, 115179712 Using inode 4 in cg 0 for 33554432 byte journal newfs: soft updates journaling set Test started [fstorture 2.1-pfh]: Mon Oct 31 11:24:34 GMT 2011 Running for 3 seconds panic: check_inode_unwritten: busy inode cpuid = 0 KDB: enter: panic [ thread pid 1383 tid 100058 ] Stopped at kdb_enter+0x3a: movl $0,kdb_why db> >How-To-Repeat: Change the variables to match your installation. Then run the script. #!/bin/sh # # Copyright 2011 Kirk J. Russell # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # Web page about FsTorture # - http://fstools.macosforge.org/trac/wiki/FsTorture # # Port FsTorture to Freebsd # - get source http://fstools.macosforge.org/trac/wiki/ToolsDevelopment # - get membership.h http://www.ba23.org/~kirk/bstgbugs/membership.h # - get patch http://www.ba23.org/~kirk/bstgbugs/fstorture.patch # - gmake CFLAGS=-I. LDFLAGS="-lpthread -lm" # # Run this script and you will get a panic with FreeBSD 9.0-RC1 # panic: check_inode_unwritten: busy inode # # If you disable soft updates journaling, the panic will not happen. # fstorture=../fstorture/fstorture # block special device used for testing fsspec=/dev/ada0p4 # mount point used for filesystem testing fsfile=/fubar mkdir -p ${fsfile} # run the test for less then 2 minutes for tries in 1 2 3 do for secs in 1 1 2 3 5 7 13 do # Enable soft updates journaling newfs -j ${fsspec} mount ${fsspec} ${fsfile} # run fstorture in the background mkdir ${fsfile}/a ${fsfile}/b timeout="$(printf "%d+2\n" ${secs} | bc)" ${fstorture} ${fsfile}/a ${fsfile}/b 25 -t ${timeout}s & # block and then force the umount sleep ${secs} umount -f ${fsfile} # clean up killall fstorture fstorture fstorture wait done done >Fix: >Release-Note: >Audit-Trail: >Unformatted: _______________________________________________ freebsd-bugs@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"