GENERIC HEAD from 2011-05-14 05:43:33 UTC, r221878M, No vmcore KDB: debugger backends: ddb KDB: current backend: ddb 524288K of memory above 4GB ignored Copyright (c) 1992-2011 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 9.0-CURRENT #0 r221878M: Sun May 15 10:44:58 CEST 2011 pho@x4.osted.lan:/usr/src/sys/i386/compile/PHO i386 WARNING: WITNESS option enabled, expect reduced performance. WARNING: DIAGNOSTIC option enabled, expect reduced performance. CPU: AMD Phenom(tm) 9150e Quad-Core Processor (1800.02-MHz 686-class CPU) Origin = "AuthenticAMD" Id = 0x100f23 Family = 10 Model = 2 Stepping = 3 Features=0x178bfbff Features2=0x802009 AMD Features=0xee500800 AMD Features2=0x7ff TSC: P-state invariant real memory = 4294967296 (4096 MB) avail memory = 3536019456 (3372 MB) : Trying to mount root from ufs:/dev/ad4s1a [rw]... WARNING: / was not properly dismounted Setting hostuuid: 00000000-0000-0000-0000-00218515337d. Setting hostid: 0x6b64ac17. Starting ddb. Entropy harvesting: interrupts ethernet point_to_point kickstart. Starting file system checks: /dev/ad4s1a: 3672 files, 801170 used, 211845 free (1453 frags, 26299 blocks, 0.1% fragmentation) /dev/ad4s1f: 15570 files, 821620 used, 191395 free (4203 frags, 23399 blocks, 0.4% fragmentation) /dev/label/tmp: 301351 files, 26976673 used, 91337308 free (3140 frags, 11416771 blocks, 0.0% fragmentation) /dev/ad4s1d: 764516 files, 7656494 used, 2497705 free (226041 frags, 283958 blocks, 2.2% fragmentation) /dev/ad4s1e: UNREF FILE I=1742870 OWNER=operator MODE=100400 /dev/ad4s1e: SIZE=0 MTIME=May 15 11:22 2011 (CLEARED) /dev/ad4s1e: UNREF FILE I=1742872 OWNER=operator MODE=100400 /dev/ad4s1e: SIZE=0 MTIME=May 15 12:11 2011 (CLEARED) /dev/ad4s1e: UNREF FILE I=1742883 OWNER=operator MODE=100400 /dev/ad4s1e: SIZE=0 MTIME=May 15 11:33 2011 (CLEARED) /dev/ad4s1e: UNREF FILE I=1742886 OWNER=operator MODE=100400 /dev/ad4s1e: SIZE=0 MTIME=May 15 12:00 2011 (CLEARED) /dev/ad4s1e: UNREF FILE I=1742923 OWNER=operator MODE=100400 /dev/ad4s1e: SIZE=0 MTIME=May 15 11:55 2011 (CLEARED) /dev/ad4s1e: UNREF FILE I=1742938 OWNER=operator MODE=100400 /dev/ad4s1e: SIZE=0 MTIME=May 15 12:22 2011 (CLEARED) /dev/ad4s1e: LINK COUNT FILE I=1742941 OWNER=operator MODE=100400 /dev/ad4s1e: SIZE=2048 MTIME=May 15 11:11 2011 COUNT 2 SHOULD BE 1 (ADJUSTED) /dev/ad4s1e: UNREF FILE I=1742942 OWNER=root MODE=100644 /dev/ad4s1e: SIZE=0 MTIME=May 15 12:03 2011 (CLEARED) /dev/ad4s1e: UNREF FILE I=1742945 OWNER=operator MODE=100400 /dev/ad4s1e: SIZE=0 MTIME=May 15 11:44 2011 (CLEARED) /dev/ad4s1e: SUMMARY INFORMATION BAD (SALVAGED) /dev/ad4s1e: BLK(S) MISSING IN BIT MAPS (SALVAGED) /dev/ad4s1e: 552981 files, 13974529 used, 11413988 free (56604 frags, 1419673 blocks, 0.2% fragmentation) Mounting local file systems:. Setting hostname: x4.osted.lan. re0: link state changed to DOWN Starting Network: lo0 re0 fwe0 fwip0. lo0: flags=8049 metric 0 mtu 16384 options=3 inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0xa nd6 options=21 re0: flags=8843 metric 0 mtu 1500 options=389b ether 00:21:85:15:33:7d inet 192.168.1.101 netmask 0xffffff00 broadcast 192.168.1.255 inet6 fe80::221:85ff:fe15:337d%re0 prefixlen 64 tentative scopeid 0x1 nd6 options=29 media: Ethernet autoselect (none) status: no carrier fwe0: flags=8802 metric 0 mtu 1500 options=8 ether 02:dc:10:62:ad:eb ch 1 dma -1 fwip0: flags=8802 metric 0 mtu 1500 lladdr 0.dc.10.0.1.62.ad.eb.a.2.ff.fe.0.0.0.0 Starting devd. Starting Network: usbus0. Starting Network: usbus1. Starting Network: usbus2. Starting Network: usbus3. Starting Network: usbus4. Starting Network: usbus5. Starting Network: fwe0. fwe0: flags=8802 metric 0 mtu 1500 options=8 ether 02:dc:10:62:ad:eb ch 1 dma -1 re0: link state changed to UP Starting Network: fwip0. fwip0: flags=8802 metric 0 mtu 1500 lladdr 0.dc.10.0.1.62.ad.eb.a.2.ff.fe.0.0.0.0 add net default: gateway 192.168.1.1 add net ::ffff:0.0.0.0: gateway ::1 add net ::0.0.0.0: gateway ::1 add net fe80::: gateway ::1 add net ff02::: gateway ::1 ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib /usr/local/lib/compat/pkg /usr/local/kde4/lib /usr/local/lib /usr/local/lib/compat /usr/local/lib/compat/pkg /usr/local/lib/nss /usr/local/lib/qt4 /usr/local/lib/virtualbox /usr/local/lib/wine a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout Creating and/or trimming log files. Starting syslogd. savecore: reboot May 15 13:17:4lock order rever4 x4 savecore: rsal: eboot 1st 0xe0718520 bufwait (bufwait) @ kern/vfs_bio.c:2658 2nd 0xc7770200 dirhash (dirhash) @ ufs/ufs/ufs_dirhash.c:284 KDB: stack backtrace: db_trace_self_wrapper(c0e89956,2e687361,38323a63,a0d34,a7a,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c09e0e4b,c0e8d273,c6d5e2a0,c6d61ec0,ef1f77e8,...) at kdb_backtrace+0x2a _witness_debugger(c0e8d273,c7770200,c0ebc0da,c6d61ec0,c0ebbd6c,...) at _witness_debugger+0x25 witness_checkorder(c7770200,9,c0ebbd63,11c,0,...) at witness_checkorder+0x839 _sx_xlock(c7770200,0,c0ebbd63,11c,c79ccbc8,...) at _sx_xlock+0x85 ufsdirhash_acquire(e07184c0,ef1f7914,d4,e130a140,ef1f78b8,...) at ufsdirhash_acquire+0x48 ufsdirhash_add(c79ccbc8,ef1f7914,2140,ef1f78a4,ef1f78a8,...) at ufsdirhash_add+0x13 ufs_direnter(c79d5828,c79d52b8,ef1f7914,ef1f7ba4,0,...) at ufs_direnter+0x749 ufs_makeinode(ef1f7ba4,c0fbb860,ef1f7b00,ef1f7a5c,c0cf5c75,...) at ufs_makeinode+0x5c5 ufs_create(ef1f7b00,c0ed9edb,0,0,ef1f7b78,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb360,ef1f7b00,ef1f7ba4,ef1f7a98,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef1f7b78,ef1f7c2c,180,0,c6d9ee80,...) at vn_open_cred+0x205 vn_open(ef1f7b78,ef1f7c2c,180,c7434af0,0,...) at vn_open+0x3b kern_openat(c74aab80,ffffff9c,28450000,0,602,...) at kern_openat+0x12f kern_open(c74aab80,28450000,0,601,180,...) at kern_open+0x35 open(c74aab80,ef1f7cec,ef1f7d80,ef1f7c88,0,...) at open+0x30 syscallenter(c74aab80,ef1f7ce4,c0cd2a16,0,0,...) at syscallenter+0x263 syscall(ef1f7d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x28189683, esp = 0xbfbfe2ac, ebp = 0xbfbfedb8 --- savecore: writing core to vmcore.138 Writing crash summary to /var/crash/core.txt.138. Additional ABI support: linux. Starting rpcbind. NFS access cache time=60 sysctl: unknown oid 'vfs.nfs.access_cache_timeout' /etc/rc: WARNING: failed to set access cache timeout Clearing /tmp (X related). Starting mountd. Starting nfsd. Recovering vi editor sessions:. Updating motd:. Starting ntpd. Starting default moused. Configuring syscons: keymap blanktime. Starting sshd. Starting cron. Local package initialization: backuplock order reversal: 1st 0xc7513c94 ufs (ufs) @ kern/vfs_subr.c:2134 2nd 0xe08bb920 bufwait (bufwait) @ ufs/ffs/ffs_softdep.c:12664 3rd 0xc7b6d5c8 ufs (ufs) @ kern/vfs_subr.c:2134 KDB: stack backtrace: db_trace_self_wrapper(c0e89956,2e706564,32313a63,d343636,c09f000a,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c09e0e4b,c0e8d28c,c6d5e2a0,c6d61e58,ef20388c,...) at kdb_backtrace+0x2a _witness_debugger(c0e8d28c,c7b6d5c8,c0e7c770,c6d61e58,c0e94e9b,...) at _witness_debugger+0x25 witness_checkorder(c7b6d5c8,9,c0e94e92,856,0,...) at witness_checkorder+0x839 __lockmgr_args(c7b6d5c8,80100,c7b6d634,0,0,...) at __lockmgr_args+0x814 ffs_lock(ef2039b0,c09f23db,c0e941f7,80100,c7b6d570,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb360,ef2039b0,109,c0fd6320,c7b6d570,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7b6d570,80100,c0e94e92,856,4,...) at _vn_lock+0x78 vget(c7b6d570,80100,c74aa000,50,0,...) at vget+0xbb vfs_hash_get(c7760000,239400,80000,c74aa000,ef203b08,...) at vfs_hash_get+0xed ffs_vgetf(c7760000,239400,80000,ef203b08,1,...) at ffs_vgetf+0x49 softdep_sync_metadata(c7513c3c,0,c0ebb859,144,0,...) at softdep_sync_metadata+0xac3 ffs_syncvnode(c7513c3c,1,c74aa000,566,0,...) at ffs_syncvnode+0x3e2 ffs_sync(c7760000,1,ef203c14,4ee,80,...) at ffs_sync+0x26f dounmount(c7760000,8080000,c74aa000,473,5b85c5ea,...) at dounmount+0x447 unmount(c74aa000,ef203cec,281766e5,1,0,...) at unmount+0x310 syscallenter(c74aa000,ef203ce4,c0cd2d5d,c1010ff0,0,...) at syscallenter+0x263 syscall(ef203d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (22, FreeBSD ELF32, unmount), eip = 0x280dcd6b, esp = 0xbfbfe64c, ebp = 0xbfbfe718 --- lock order reversal: 1st 0xc751e5c8 ufs (ufs) @ kern/vfs_mount.c:1193 2nd 0xc749db38 devfs (devfs) @ ufs/ffs/ffs_softdep.c:1729 KDB: stack backtrace: db_trace_self_wrapper(c0e89956,37313a63,a0d3932,ef203900,c09f23db,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c09e0e4b,c0e8d273,c6d61e58,c6d61d88,ef203a04,...) at kdb_backtrace+0x2a _witness_debugger(c0e8d273,c749db38,c0e74927,c6d61d88,c0eb8525,...) at _witness_debugger+0x25 witness_checkorder(c749db38,9,c0eb851c,6c1,c749dba4,...) at witness_checkorder+0x839 __lockmgr_args(c749db38,80400,c749dba4,0,0,...) at __lockmgr_args+0x814 vop_stdlock(ef203b24,4,c0e84007,80400,c749dae0,...) at vop_stdlock+0x65 VOP_LOCK1_APV(c0f91100,ef203b24,c118efa8,c0fd6320,c749dae0,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c749dae0,80400,c0eb851c,6c1,c7760000,...) at _vn_lock+0x78 softdep_flushworklist(c7760000,ef203bd0,c74aa000,574,0,...) at softdep_flushworklist+0x47 ffs_sync(c7760000,1,ef203c14,4ee,80,...) at ffs_sync+0x2fd dounmount(c7760000,8080000,c74aa000,473,5b85c5ea,...) at dounmount+0x447 unmount(c74aa000,ef203cec,281766e5,1,0,...) at unmount+0x310 syscallenter(c74aa000,ef203ce4,c0cd2d5d,c1010ff0,0,...) at syscallenter+0x263 syscall(ef203d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (22, FreeBSD ELF32, unmount), eip = 0x280dcd6b, esp = 0xbfbfe64c, ebp = 0xbfbfe718 --- fsck -y /tmp watchdogd. lock order reversal: 1st 0xc776a9dc pseudofs (pseudofs) @ kern/vfs_subr.c:2134 2nd 0xc1011210 allproc (allproc) @ kern/kern_proc.c:291 KDB: stack backtrace: db_trace_self_wrapper(c0e89956,3139323a,a000a0d,ef2ec700,c09b4925,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c09e0e4b,c0e8d273,c6d61f90,c6d5a0d0,ef2ec838,...) at kdb_backtrace+0x2a _witness_debugger(c0e8d273,c1011210,c0e7e102,c6d5a0d0,c0e84a5b,...) at _witness_debugger+0x25 witness_checkorder(c1011210,1,c0e84a52,123,0,...) at witness_checkorder+0x839 _sx_slock(c1011210,0,c0e84a52,123,c6dbba00,...) at _sx_slock+0x85 pfind(897,c6dbbc20,4,c0e84007,c7e535c0,...) at pfind+0x2f pfs_visible(0,0,c0e78f82,7c,c776a984,...) at pfs_visible+0x3a pfs_lookup(ef2ec938,c0ed99d7,c776a984,c776a984,ef2ecba4,...) at pfs_lookup+0x3dd VOP_CACHEDLOOKUP_APV(c0f941a0,ef2ec938,ef2ecba4,ef2ecb90,c6d9ee80,...) at VOP_CACHEDLOOKUP_APV+0xc5 vfs_cache_lookup(ef2ec9cc,c0e95c03,c0fd5f60,200000,ef2ecb78,...) at vfs_cache_lookup+0xd6 VOP_LOOKUP_APV(c0f941a0,ef2ec9cc,ef2ecba4,30f,ef2ecb90,...) at VOP_LOOKUP_APV+0xe5 lookup(ef2ecb78,c0e942dd,ee,c9,c78c9834,...) at lookup+0x67b namei(ef2ecb78,ef2ecac4,c0e7f509,c78c98bc,0,...) at namei+0x592 vn_open_cred(ef2ecb78,ef2ecc2c,0,0,c6d9ee80,...) at vn_open_cred+0x31f vn_open(ef2ecb78,ef2ecc2c,0,c744fa48,0,...) at vn_open+0x3b kern_openat(c7e535c0,ffffff9c,bfbfda48,0,1,...) at kern_openat+0x12f kern_open(c7e535c0,bfbfda48,0,0,0,...) at kern_open+0x35 open(c7e535c0,ef2eccec,2819d6e5,1,0,...) at open+0x30 syscallenter(c7e535c0,ef2ecce4,c0cd2d5d,c1010ff0,0,...) at syscallenter+0x263 syscall(ef2ecd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x2819b683, esp = 0xbfbfda0c, ebp = 0xbfbfde58 --- Starting inetd. Sun May 15 13:18:07 CEST 2011 FreeBSD/i386 (x4.osted.lan) (console) login: May 15 13:18:39 x4 su: pho to root on /dev/pts/0 lock order reversal: 1st 0xe08b5fc0 bufwait (bufwait) @ kern/vfs_bio.c:2658 2nd 0xc1011224 proctree (proctree) @ kern/subr_prf.c:140 KDB: stack backtrace: db_trace_self_wrapper(c0e89956,34313a63,a0d30,0,0,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c09e0e4b,c0e8d273,c6d5e2a0,c6d5a068,ef35e7b4,...) at kdb_backtrace+0x2a _witness_debugger(c0e8d273,c1011224,c0e84b7b,c6d5a068,c0e8a111,...) at _witness_debugger+0x25 witness_checkorder(c1011224,1,c0e8a108,8c,0,...) at witness_checkorder+0x839 May 15 15:44:51 x4 kernel: pid 1_6452 (rw), uid 1s001 inumber 2358x5 on /mnt: files_ystem full slock(c1011224,0,c0e8a108,8c,c0bb01d9,...) at _sx_slock+0x85 uprintf(c0eb7772,ced6b0d4,1,e1,1,...) at uprintf+0x42 ffs_alloc(cc61f32c,802,0,ff98,0,...) at ffs_alloc+0x469 ffs_balloc_ufs2(c825b828,2008000,0,1000,cbcb6c80,...) at ffs_balloc_ufs2+0x1b5a ffs_write(ef35eb94,c0ed9e11,c825b828,0,c825b828,...) at ffs_write+0x2ad VOP_WRITE_APV(c0fbb360,ef35eb94,c825b828,264,0,...) at VOP_WRITE_APV+0x136 vn_write(c75177e0,ef35ec28,cbcb6c80,0,c96262e0,...) at vn_write+0x1ca dofilewrite(ef35ec28,ffffffff,ffffffff,0,c75177e0,...) at dofilewrite+0x95 kern_writev(c96262e0,4,ef35ec28,ef35ec48,1,...) at kern_writev+0x58 write(c96262e0,ef35ecec,ef35ed28,c0e8babe,0,...) at write+0x4f syscallenter(c96262e0,ef35ece4,ef35ece4,0,c101fc00,...) at syscallenter+0x263 syscall(ef35ed28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (4, FreeBSD ELF32, write), eip = 0x28195603, esp = 0xbfbfd77c, ebp = 0xbfbfe838 --- May 15 15:45:08 x4 kernel: pid 16454 (rw), uid 1001 inumber 47109 on /mnt: filesystem full May 15 15:45:30 x4 kernel: pid 16454 (rw), uid 1001 inumber 47109 on /mnt: filesystem full May 15 15:45:41 x4 kernel: pid 16463 (rw), uid 1001 inumber 23582 on /mnt: filesystem full May 15 15:45:48 x4 kernel: pid 16452 (rw), uid 1001 inumber 23589 on /mnt: filesystem full May 15 15:45:56 x4 kernel: pid 16456 (rw), uid 1001 inumber 23593 on /mnt: filesystem full May 15 15:46:02 x4 kernel: pid 16465 (rw), uid 1001 inumber 23602 on /mnt: filesystem full May 15 15:46:08 x4 kernel: pid 16454 (rw), uid 1001 inumber 47108 on /mnt: filesystem full May 15 15:46:14 x4 kernel: pid 16461 (rw), uid 1001 inumber 23566 on /mnt: filesystem full May 15 15:46:28 x4 kernel: pid 16465 (rw), uid 1001 inumber 23585 on /mnt: filesystem full May 15 15:46:33 x4 kernel: pid 16465 (rw), uid 1001 inumber 23602 on /mnt: filesystem full May 15 15:48:55 x4 kernel: pid 16891 (rw), uid 1001 inumber 23583 on /mnt: filesystem full May 15 15:49:04 x4 kernel: pid 16893 (rw), uid 1001 inumber 23589 on /mnt: filesystem full May 15 15:49:09 x4 kernel: pid 16893 (rw), uid 1001 inumber 23589 on /mnt: filesystem full May 15 15:49:17 x4 kernel: pid 16885 (rw), uid 1001 inumber 23574 on /mnt: filesystem full May 15 15:49:21 x4 kernel: pid 16885 (rw), uid 1001 inumber 23592 on /mnt: filesystem full May 15 15:49:27 x4 kernel: pid 16894 (rw), uid 1001 inumber 23579 on /mnt: filesystem full May 15 15:49:33 x4 kernel: pid 16890 (rw), uid 1001 inumber 23577 on /mnt: filesystem full May 15 15:49:39 x4 kernel: pid 16892 (rw), uid 1001 inumber 23574 on /mnt: filesystem full May 15 15:49:43 x4 kernel: pid 16893 (rw), uid 1001 inumber 23592 on /mnt: filesystem full May 15 15:49:48 x4 kernel: pid 16893 (rw), uid 1001 inumber 23601 on /mnt: filesystem full May 15 15:49:52 x4 kernel: pid 16894 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 15 15:49:58 x4 kernel: pid 16894 (rw), uid 1001 inumber 23577 on /mnt: filesystem full May 15 15:50:06 x4 kernel: pid 16898 (rw), uid 1001 inumber 23594 on /mnt: filesystem full May 15 15:50:12 x4 kernel: pid 16890 (rw), uid 1001 inumber 23585 on /mnt: filesystem full May 15 15:50:18 x4 kernel: pid 16898 (rw), uid 1001 inumber 23565 on /mnt: filesystem full May 15 15:50:28 x4 kernel: pid 16890 (rw), uid 1001 inumber 23596 on /mnt: filesystem full May 15 15:50:33 x4 kernel: pid 16890 (rw), uid 1001 inumber 23581 on /mnt: filesystem full May 15 15:50:39 x4 kernel: pid 16897 (rw), uid 1001 inumber 23573 on /mnt: filesystem full May 15 15:50:43 x4 kernel: pid 16895 (rw), uid 1001 inumber 23601 on /mnt: filesystem full May 15 15:53:01 x4 kernel: pid 17316 (rw), uid 1001 inumber 23554 on /mnt: filesystem full May 15 15:53:07 x4 kernel: pid 17319 (rw), uid 1001 inumber 23558 on /mnt: filesystem full May 15 15:53:12 x4 kernel: pid 17319 (rw), uid 1001 inumber 23580 on /mnt: filesystem full May 15 15:53:22 x4 kernel: pid 17316 (rw), uid 1001 inumber 23577 on /mnt: filesystem full May 15 15:53:26 x4 kernel: pid 17314 (rw), uid 1001 inumber 23586 on /mnt: filesystem full May 15 15:53:35 x4 kernel: pid 17320 (rw), uid 1001 inumber 23566 on /mnt: filesystem full May 15 15:53:40 x4 kernel: pid 17316 (rw), uid 1001 inumber 23554 on /mnt: filesystem full May 15 15:53:46 x4 kernel: pid 17317 (rw), uid 1001 inumber 23570 on /mnt: filesystem full May 15 15:53:52 x4 kernel: pid 17312 (rw), uid 1001 inumber 23585 on /mnt: filesystem full May 15 15:54:04 x4 kernel: pid 17319 (rw), uid 1001 inumber 23569 on /mnt: filesystem full May 15 15:54:10 x4 kernel: pid 17318 (rw), uid 1001 inumber 23579 on /mnt: filesystem full May 15 15:54:19 x4 kernel: pid 17312 (rw), uid 1001 inumber 23570 on /mnt: filesystem full May 15 15:54:27 x4 kernel: pid 17315 (rw), uid 1001 inumber 23579 on /mnt: filesystem full May 15 15:54:33 x4 kernel: pid 17320 (rw), uid 1001 inumber 23562 on /mnt: filesystem full May 15 15:54:44 x4 kernel: pid 17312 (rw), uid 1001 inumber 23572 on /mnt: filesystem full May 15 15:54:49 x4 kernel: pid 17315 (rw), uid 1001 inumber 23554 on /mnt: filesystem full May 15 15:56:59 x4 kernel: pid 17750 (rw), uid 1001 inumber 23562 on /mnt: filesystem full May 15 15:57:05 x4 kernel: pid 17749 (rw), uid 1001 inumber 23564 on /mnt: filesystem full May 15 15:57:11 x4 kernel: pid 17749 (rw), uid 1001 inumber 23568 on /mnt: filesystem full May 15 15:57:34 x4 kernel: pid 17751 (rw), uid 1001 inumber 23558 on /mnt: filesystem full May 15 15:57:38 x4 kernel: pid 17748 (rw), uid 1001 inumber 23562 on /mnt: filesystem full May 15 15:57:43 x4 kernel: pid 17751 (rw), uid 1001 inumber 23568 on /mnt: filesystem full May 15 15:57:49 x4 kernel: pid 17750 (rw), uid 1001 inumber 23561 on /mnt: filesystem full May 15 15:57:54 x4 kernel: pid 17751 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 15 15:57:59 x4 kernel: pid 17751 (rw), uid 1001 inumber 23567 on /mnt: filesystem full May 15 15:58:09 x4 kernel: pid 17750 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 15 15:58:14 x4 kernel: pid 17748 (rw), uid 1001 inumber 23560 on /mnt: filesystem full May 15 15:58:24 x4 kernel: pid 17748 (rw), uid 1001 inumber 23560 on /mnt: filesystem full May 15 15:58:29 x4 kernel: pid 17749 (rw), uid 1001 inumber 23564 on /mnt: filesystem full May 15 15:58:34 x4 kernel: pid 17749 (rw), uid 1001 inumber 23557 on /mnt: filesystem full May 15 15:58:49 x4 kernel: pid 17748 (rw), uid 1001 inumber 23567 on /mnt: filesystem full May 15 16:01:04 x4 kernel: pid 18146 (rw), uid 1001 inumber 23558 on /mnt: filesystem full May 15 16:01:14 x4 kernel: pid 18143 (rw), uid 1001 inumber 47108 on /mnt: filesystem full May 15 16:01:17 x4 kernel: pid 18142 (rw), uid 1001 inumber 47115 on /mnt: filesystem full May 15 16:01:26 x4 kernel: pid 18154 (rw), uid 1001 inumber 23578 on /mnt: filesystem full May 15 16:01:32 x4 kernel: pid 18148 (rw), uid 1001 inumber 23570 on /mnt: filesystem full May 15 16:01:49 x4 kernel: pid 18147 (rw), uid 1001 inumber 23586 on /mnt: filesystem full May 15 16:01:53 x4 kernel: pid 18151 (rw), uid 1001 inumber 23571 on /mnt: filesystem full May 15 16:02:03 x4 kernel: pid 18142 (rw), uid 1001 inumber 47111 on /mnt: filesystem full May 15 16:02:06 x4 kernel: pid 18148 (rw), uid 1001 inumber 23585 on /mnt: filesystem full May 15 16:02:17 x4 kernel: pid 18145 (rw), uid 1001 inumber 23572 on /mnt: filesystem full May 15 16:02:24 x4 kernel: pid 18154 (rw), uid 1001 inumber 23574 on /mnt: filesystem full May 15 16:02:31 x4 kernel: pid 18149 (rw), uid 1001 inumber 23586 on /mnt: filesystem full May 15 16:02:36 x4 kernel: pid 18142 (rw), uid 1001 inumber 47108 on /mnt: filesystem full cryptosoft0: on motherboard lock order reversal: 1st 0xc100f308 GEOM topology (GEOM topology) @ /usr/src/sys/modules/geom/geom_eli/../../../geom/eli/g_eli.c:600 2nd 0xc1011224 proctree (proctree) @ kern/kern_fork.c:809 KDB: stack backtrace: db_trace_self_wrapper(c0e89956,383a632e,a0d3930,646f6d00,73656c75,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c09e0e4b,c0e8d273,c6d5ed98,c6d5a068,c6b495bc,...) at kdb_backtrace+0x2a _witness_debugger(c0e8d273,c1011224,c0e84b7b,c6d5a068,c0e80375,...) at _witness_debugger+0x25 witness_checkorder(c1011224,1,c0e8036c,329,0,...) at witness_checkorder+0x839 _sx_slock(c1011224,0,c0e8036c,329,0,...) at _sx_slock+0x85 fork1(c100f6e0,20034,0,c6b49664,0,...) at fork1+0x3c5 kproc_create(cee48320,ca640940,ca640944,0,0,...) at kproc_create+0x47 g_eli_create(c751c480,cee530c0,c9240580,c6b499f1,c6b49bf0,...) at g_eli_create+0x5e5 g_eli_config(c751c480,cee530c0,c715c710,1b6,cbb85a00,...) at g_eli_config+0x168b g_ctl_req(c751c480,0,c0e7a373,d3,0,...) at g_ctl_req+0xae g_run_events(c101f580,0,c0e7a9e5,79,c6b49d14,...) at g_run_events+0x335 g_event_procbody(0,c6b49d28,c0e8036c,390,c6dbd2bc,...) at g_event_procbody+0x90 fork_exit(c093e8b0,0,c6b49d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b49d60, ebp = 0 --- lock order reversal: 1st 0xc100f308 GEOM topology (GEOM topology) @ /usr/src/sys/modules/geom/geom_eli/../../../geom/eli/g_eli.c:600 2nd 0xc6da302c filedesc structure (filedesc structure) @ kern/kern_descrip.c:1627 KDB: stack backtrace: db_trace_self_wrapper(c0e89956,20296572,656b2040,6b2f6e72,5f6e7265,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c09e0e4b,c0e8d273,c6d5ed98,c6d5e6b0,c6b49570,...) at kdb_backtrace+0x2a _witness_debugger(c0e8d273,c6da302c,c0e7f749,c6d5e6b0,c0e7f509,...) at _witness_debugger+0x25 witness_checkorder(c6da302c,9,c0e7f500,65b,0,...) at witness_checkorder+0x839 _sx_xlock(c6da302c,0,c0e7f500,65b,0,...) at _sx_xlock+0x85 fdinit(c6da3000,c6b495e4,c09a9565,c8bd8aa8,c0e85b52,...) at fdinit+0x6c fdcopy(c6da3000,0,c0e8036c,184,0,...) at fdcopy+0x21 fork1(c100f6e0,20034,0,c6b49664,0,...) at fork1+0x9e0 kproc_create(cee48320,ca640940,ca640944,0,0,...) at kproc_create+0x47 g_eli_create(c751c480,cee530c0,c9240580,c6b499f1,c6b49bf0,...) at g_eli_create+0x5e5 g_eli_config(c751c480,cee530c0,c715c710,1b6,cbb85a00,...) at g_eli_config+0x168b g_ctl_req(c751c480,0,c0e7a373,d3,0,...) at g_ctl_req+0xae g_run_events(c101f580,0,c0e7a9e5,79,c6b49d14,...) at g_run_events+0x335 g_event_procbody(0,c6b49d28,c0e8036c,390,c6dbd2bc,...) at g_event_procbody+0x90 fork_exit(c093e8b0,0,c6b49d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b49d60, ebp = 0 --- GEOM_ELI: Device md5.eli created. GEOM_ELI: Encryption: AES-XTS 128 GEOM_ELI: Crypto: software May 15 16:05:24 x4 kernel: pid 18864 (rw), uid 1001 inumber 32780 on /mnt: filesystem full May 15 16:05:43 x4 kernel: pid 18864 (rw), uid 1001 inumber 32780 on /mnt: filesystem full May 15 16:06:05 x4 kernel: pid 18864 (rw), uid 1001 inumber 32775 on /mnt: filesystem full May 15 16:06:28 x4 kernel: pid 18861 (rw), uid 1001 inumber 49158 on /mnt: filesystem full May 15 16:06:37 x4 kernel: pid 18862 (rw), uid 1001 inumber 32775 on /mnt: filesystem full May 15 16:06:46 x4 kernel: pid 18859 (rw), uid 1001 inumber 32777 on /mnt: filesystem full May 15 16:07:07 x4 kernel: pid 18862 (rw), uid 1001 inumber 32771 on /mnt: filesystem full May 15 16:09:26 x4 kernel: pid 19272 (rw), uid 1001 inumber 32774 on /mnt: filesystem full May 15 16:09:37 x4 kernel: pid 19274 (rw), uid 1001 inumber 32770 on /mnt: filesystem full May 15 16:09:47 x4 kernel: pid 19274 (rw), uid 1001 inumber 32774 on /mnt: filesystem full May 15 16:09:58 x4 kernel: pid 19273 (rw), uid 1001 inumber 32777 on /mnt: filesystem full May 15 16:10:08 x4 kernel: pid 19274 (rw), uid 1001 inumber 32774 on /mnt: filesystem full May 15 16:10:21 x4 kernel: pid 19272 (rw), uid 1001 inumber 32772 on /mnt: filesystem full May 15 16:10:32 x4 kernel: pid 19272 (rw), uid 1001 inumber 32776 on /mnt: filesystem full May 15 16:10:42 x4 kernel: pid 19272 (rw), uid 1001 inumber 32772 on /mnt: filesystem full May 15 16:10:52 x4 kernel: pid 19274 (rw), uid 1001 inumber 32780 on /mnt: filesystem full May 15 16:11:03 x4 kernel: pid 19274 (rw), uid 1001 inumber 32774 on /mnt: filesystem full May 15 16:11:13 x4 kernel: pid 19274 (rw), uid 1001 inumber 32777 on /mnt: filesystem full GEOM_ELI: md5 has been killed. GEOM_ELI: Device md5.eli destroyed. May 15 16:11:56 x4 kernel: pid 19639 (rw), uid 1001 inumber 23572 on /mnt: filesystem full May 15 16:12:04 x4 kernel: pid 19634 (rw), uid 1001 inumber 47111 on /mnt: filesystem full May 15 16:12:19 x4 kernel: pid 19641 (rw), uid 1001 inumber 23579 on /mnt: filesystem full May 15 16:12:29 x4 kernel: pid 19634 (rw), uid 1001 inumber 47111 on /mnt: filesystem full May 15 16:12:36 x4 kernel: pid 19638 (rw), uid 1001 inumber 23575 on /mnt: filesystem full May 15 16:12:52 x4 kernel: pid 19637 (rw), uid 1001 inumber 23564 on /mnt: filesystem full May 15 16:13:08 x4 kernel: pid 19642 (rw), uid 1001 inumber 23574 on /mnt: filesystem full May 15 16:13:17 x4 kernel: pid 19636 (rw), uid 1001 inumber 23565 on /mnt: filesystem full May 15 16:13:31 x4 kernel: pid 19844 (rw), uid 1001 inumber 47123 on /mnt: filesystem full May 15 16:13:47 x4 kernel: pid 19851 (rw), uid 1001 inumber 70658 on /mnt: filesystem full May 15 16:13:58 x4 kernel: pid 19851 (rw), uid 1001 inumber 70658 on /mnt: filesystem full May 15 16:14:12 x4 kernel: pid 19845 (rw), uid 1001 inumber 23559 on /mnt: filesystem full May 15 16:14:17 x4 kernel: pid 19846 (rw), uid 1001 inumber 23561 on /mnt: filesystem full May 15 16:14:40 x4 kernel: pid 19850 (rw), uid 1001 inumber 47131 on /mnt: filesystem full May 15 16:14:47 x4 kernel: pid 19850 (rw), uid 1001 inumber 47111 on /mnt: filesystem full May 15 16:14:54 x4 kernel: pid 19852 (rw), uid 1001 inumber 47128 on /mnt: filesystem full May 15 16:15:00 x4 kernel: pid 19844 (rw), uid 1001 inumber 47112 on /mnt: filesystem full May 15 16:15:05 x4 kernel: pid 19847 (rw), uid 1001 inumber 47130 on /mnt: filesystem full May 15 16:15:53 x4 kernel: pid 20064 (rw), uid 1001 inumber 47142 on /mnt: filesystem full May 15 16:16:11 x4 kernel: pid 20064 (rw), uid 1001 inumber 47128 on /mnt: filesystem full May 15 16:16:36 x4 kernel: pid 20057 (rw), uid 1001 inumber 47137 on /mnt: filesystem full May 15 16:16:48 x4 kernel: pid 20062 (rw), uid 1001 inumber 47133 on /mnt: filesystem full May 15 16:17:21 x4 kernel: pid 20061 (rw), uid 1001 inumber 47123 on /mnt: filesystem full May 15 16:17:28 x4 kernel: pid 20059 (rw), uid 1001 inumber 47136 on /mnt: filesystem full May 15 16:17:39 x4 kernel: pid 20274 (rw), uid 1001 inumber 47123 on /mnt: filesystem full May 15 16:18:10 x4 kernel: pid 20273 (rw), uid 1001 inumber 47106 on /mnt: filesystem full May 15 16:18:19 x4 kernel: pid 20277 (rw), uid 1001 inumber 47108 on /mnt: filesystem full May 15 16:18:24 x4 kernel: pid 20277 (rw), uid 1001 inumber 47104 on /mnt: filesystem full May 15 16:18:31 x4 kernel: pid 20276 (rw), uid 1001 inumber 47125 on /mnt: filesystem full May 15 16:18:39 x4 kernel: pid 20270 (rw), uid 1001 inumber 70664 on /mnt: filesystem full May 15 16:18:55 x4 kernel: pid 20268 (rw), uid 1001 inumber 47111 on /mnt: filesystem full May 15 16:19:03 x4 kernel: pid 20269 (rw), uid 1001 inumber 70658 on /mnt: filesystem full May 15 16:19:40 x4 kernel: pid 20486 (rw), uid 1001 inumber 23564 on /mnt: filesystem full May 15 16:20:03 x4 kernel: pid 20481 (rw), uid 1001 inumber 23582 on /mnt: filesystem full May 15 16:20:27 x4 kernel: pid 20487 (rw), uid 1001 inumber 23574 on /mnt: filesystem full May 15 16:20:44 x4 kernel: pid 20485 (rw), uid 1001 inumber 23592 on /mnt: filesystem full May 15 16:21:01 x4 kernel: pid 20490 (rw), uid 1001 inumber 23554 on /mnt: filesystem full May 15 16:21:08 x4 kernel: pid 20481 (rw), uid 1001 inumber 23564 on /mnt: filesystem full May 15 16:21:35 x4 kernel: pid 20699 (rw), uid 1001 inumber 94215 on /mnt: filesystem full May 15 16:21:58 x4 kernel: pid 20700 (rw), uid 1001 inumber 11 on /mnt: filesystem full May 15 16:22:16 x4 kernel: pid 20698 (rw), uid 1001 inumber 9 on /mnt: filesystem full May 15 16:22:20 x4 kernel: pid 20702 (rw), uid 1001 inumber 70664 on /mnt: filesystem full May 15 16:22:33 x4 kernel: pid 20699 (rw), uid 1001 inumber 94219 on /mnt: filesystem full May 15 16:22:41 x4 kernel: pid 20701 (rw), uid 1001 inumber 70661 on /mnt: filesystem full May 15 16:22:55 x4 kernel: pid 20697 (rw), uid 1001 inumber 94220 on /mnt: filesystem full May 15 16:23:09 x4 kernel: pid 20698 (rw), uid 1001 inumber 11 on /mnt: filesystem full May 15 16:23:18 x4 kernel: pid 20702 (rw), uid 1001 inumber 70661 on /mnt: filesystem full May 15 16:23:22 x4 kernel: pid 20702 (rw), uid 1001 inumber 70659 on /mnt: filesystem full May 15 16:23:27 x4 kernel: pid 20696 (rw), uid 1001 inumber 94216 on /mnt: filesystem full May 15 16:23:39 x4 kernel: pid 20923 (rw), uid 1001 inumber 70663 on /mnt: filesystem full May 15 16:24:07 x4 kernel: pid 20926 (rw), uid 1001 inumber 47116 on /mnt: filesystem full May 15 16:24:11 x4 kernel: pid 20925 (rw), uid 1001 inumber 23560 on /mnt: filesystem full May 15 16:24:18 x4 kernel: pid 20918 (rw), uid 1001 inumber 47118 on /mnt: filesystem full May 15 16:24:30 x4 kernel: pid 20920 (rw), uid 1001 inumber 7 on /mnt: filesystem full May 15 16:24:39 x4 kernel: pid 20926 (rw), uid 1001 inumber 47125 on /mnt: filesystem full May 15 16:24:45 x4 kernel: pid 20917 (rw), uid 1001 inumber 23556 on /mnt: filesystem full May 15 16:24:59 x4 kernel: pid 20924 (rw), uid 1001 inumber 47119 on /mnt: filesystem full May 15 16:25:05 x4 kernel: pid 20925 (rw), uid 1001 inumber 23554 on /mnt: filesystem full May 15 16:25:07 x4 kernel: pid 20922 (rw), uid 1001 inumber 47108 on /mnt: filesystem full May 15 16:25:14 x4 kernel: pid 20923 (rw), uid 1001 inumber 70659 on /mnt: filesystem full May 15 16:25:19 x4 kernel: pid 20919 (rw), uid 1001 inumber 47106 on /mnt: filesystem full May 15 16:25:26 x4 kernel: pid 20918 (rw), uid 1001 inumber 47114 on /mnt: filesystem full May 15 16:25:31 x4 kernel: pid 20923 (rw), uid 1001 inumber 70660 on /mnt: filesystem full May 15 16:25:39 x4 kernel: pid 21130 (rw), uid 1001 inumber 23571 on /mnt: filesystem full May 15 16:25:46 x4 kernel: pid 21138 (rw), uid 1001 inumber 23580 on /mnt: filesystem full May 15 16:26:00 x4 kernel: pid 21138 (rw), uid 1001 inumber 23561 on /mnt: filesystem full May 15 16:26:11 x4 kernel: pid 21136 (rw), uid 1001 inumber 23565 on /mnt: filesystem full May 15 16:26:21 x4 kernel: pid 21136 (rw), uid 1001 inumber 23553 on /mnt: filesystem full May 15 16:26:33 x4 kernel: pid 21137 (rw), uid 1001 inumber 23575 on /mnt: filesystem full May 15 16:26:38 x4 kernel: pid 21131 (rw), uid 1001 inumber 70658 on /mnt: filesystem full May 15 16:26:55 x4 kernel: pid 21134 (rw), uid 1001 inumber 23571 on /mnt: filesystem full May 15 16:27:01 x4 kernel: pid 21130 (rw), uid 1001 inumber 23568 on /mnt: filesystem full May 15 16:27:13 x4 kernel: pid 21131 (rw), uid 1001 inumber 70659 on /mnt: filesystem full May 15 16:27:25 x4 kernel: pid 21132 (rw), uid 1001 inumber 94210 on /mnt: filesystem full May 15 16:27:33 x4 kernel: pid 21139 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 15 16:27:45 x4 kernel: pid 21345 (rw), uid 1001 inumber 23583 on /mnt: filesystem full May 15 16:27:51 x4 kernel: pid 21346 (rw), uid 1001 inumber 23561 on /mnt: filesystem full May 15 16:28:02 x4 kernel: pid 21345 (rw), uid 1001 inumber 23560 on /mnt: filesystem full May 15 16:28:58 x4 kernel: pid 21348 (rw), uid 1001 inumber 47112 on /mnt: filesystem full May 15 16:29:11 x4 kernel: pid 21341 (rw), uid 1001 inumber 23571 on /mnt: filesystem full May 15 16:29:23 x4 kernel: pid 21342 (rw), uid 1001 inumber 47105 on /mnt: filesystem full May 15 16:29:29 x4 kernel: pid 21346 (rw), uid 1001 inumber 23574 on /mnt: filesystem full May 15 16:30:20 x4 kernel: pid 21552 (rw), uid 1001 inumber 23583 on /mnt: filesystem full May 15 16:31:14 x4 kernel: pid 21552 (rw), uid 1001 inumber 23564 on /mnt: filesystem full May 15 16:31:21 x4 kernel: pid 21559 (rw), uid 1001 inumber 23594 on /mnt: filesystem full May 15 16:31:28 x4 kernel: pid 21557 (rw), uid 1001 inumber 23557 on /mnt: filesystem full May 15 16:32:00 x4 kernel: pid 21774 (rw), uid 1001 inumber 23579 on /mnt: filesystem full May 15 16:32:07 x4 kernel: pid 21774 (rw), uid 1001 inumber 23566 on /mnt: filesystem full May 15 16:32:15 x4 kernel: pid 21773 (rw), uid 1001 inumber 23576 on /mnt: filesystem full May 15 16:32:28 x4 kernel: pid 21773 (rw), uid 1001 inumber 23586 on /mnt: filesystem full May 15 16:32:49 x4 kernel: pid 21767 (rw), uid 1001 inumber 23562 on /mnt: filesystem full May 15 16:32:56 x4 kernel: pid 21774 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 15 16:33:20 x4 kernel: pid 21766 (rw), uid 1001 inumber 47106 on /mnt: filesystem full May 15 16:33:34 x4 kernel: pid 21766 (rw), uid 1001 inumber 47106 on /mnt: filesystem full May 15 16:33:50 x4 kernel: pid 21996 (rw), uid 1001 inumber 117762 on /mnt: filesystem full May 15 16:34:07 x4 kernel: pid 21993 (rw), uid 1001 inumber 47117 on /mnt: filesystem full May 15 16:34:14 x4 kernel: pid 21995 (rw), uid 1001 inumber 16 on /mnt: filesystem full May 15 16:34:28 x4 kernel: pid 21996 (rw), uid 1001 inumber 117763 on /mnt: filesystem full May 15 16:34:35 x4 kernel: pid 21989 (rw), uid 1001 inumber 47107 on /mnt: filesystem full May 15 16:34:40 x4 kernel: pid 21988 (rw), uid 1001 inumber 94215 on /mnt: filesystem full May 15 16:34:45 x4 kernel: pid 21992 (rw), uid 1001 inumber 94220 on /mnt: filesystem full May 15 16:35:00 x4 kernel: pid 21996 (rw), uid 1001 inumber 117764 on /mnt: filesystem full May 15 16:35:06 x4 kernel: pid 21989 (rw), uid 1001 inumber 47113 on /mnt: filesystem full May 15 16:35:19 x4 kernel: pid 21994 (rw), uid 1001 inumber 6 on /mnt: filesystem full May 15 16:35:42 x4 kernel: pid 21993 (rw), uid 1001 inumber 47112 on /mnt: filesystem full May 15 16:36:07 x4 kernel: pid 22210 (rw), uid 1001 inumber 23590 on /mnt: filesystem full May 15 16:36:17 x4 kernel: pid 22207 (rw), uid 1001 inumber 23564 on /mnt: filesystem full May 15 16:36:32 x4 kernel: pid 22209 (rw), uid 1001 inumber 23561 on /mnt: filesystem full May 15 16:36:59 x4 kernel: pid 22209 (rw), uid 1001 inumber 23595 on /mnt: filesystem full May 15 16:37:12 x4 kernel: pid 22212 (rw), uid 1001 inumber 23585 on /mnt: filesystem full May 15 16:37:27 x4 kernel: pid 22212 (rw), uid 1001 inumber 23577 on /mnt: filesystem full May 15 16:37:41 x4 kernel: pid 22207 (rw), uid 1001 inumber 23590 on /mnt: filesystem full May 15 16:37:56 x4 kernel: pid 22416 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 15 16:38:16 x4 kernel: pid 22418 (rw), uid 1001 inumber 23561 on /mnt: filesystem full May 15 16:38:22 x4 kernel: pid 22420 (rw), uid 1001 inumber 23581 on /mnt: filesystem full May 15 16:38:29 x4 kernel: pid 22416 (rw), uid 1001 inumber 23566 on /mnt: filesystem full May 15 16:38:45 x4 kernel: pid 22417 (rw), uid 1001 inumber 23575 on /mnt: filesystem full May 15 16:38:55 x4 kernel: pid 22418 (rw), uid 1001 inumber 23556 on /mnt: filesystem full May 15 16:39:03 x4 kernel: pid 22423 (rw), uid 1001 inumber 70660 on /mnt: filesystem full May 15 16:39:09 x4 kernel: pid 22422 (rw), uid 1001 inumber 23560 on /mnt: filesystem full May 15 16:39:18 x4 kernel: pid 22423 (rw), uid 1001 inumber 70658 on /mnt: filesystem full May 15 16:39:24 x4 kernel: pid 22415 (rw), uid 1001 inumber 23581 on /mnt: filesystem full May 15 16:39:30 x4 kernel: pid 22421 (rw), uid 1001 inumber 47108 on /mnt: filesystem full May 15 16:39:41 x4 kernel: pid 22418 (rw), uid 1001 inumber 23560 on /mnt: filesystem full May 15 16:39:54 x4 kernel: pid 22627 (rw), uid 1001 inumber 23583 on /mnt: filesystem full May 15 16:40:08 x4 kernel: pid 22625 (rw), uid 1001 inumber 23560 on /mnt: filesystem full May 15 16:40:24 x4 kernel: pid 22632 (rw), uid 1001 inumber 23561 on /mnt: filesystem full May 15 16:40:40 x4 kernel: pid 22632 (rw), uid 1001 inumber 23574 on /mnt: filesystem full May 15 16:40:50 x4 kernel: pid 22626 (rw), uid 1001 inumber 23560 on /mnt: filesystem full May 15 16:40:59 x4 kernel: pid 22625 (rw), uid 1001 inumber 23577 on /mnt: filesystem full May 15 16:41:17 x4 kernel: pid 22630 (rw), uid 1001 inumber 23561 on /mnt: filesystem full May 15 16:41:39 x4 kernel: pid 22628 (rw), uid 1001 inumber 23557 on /mnt: filesystem full May 15 16:42:12 x4 kernel: pid 22847 (rw), uid 1001 inumber 23573 on /mnt: filesystem full May 15 16:42:21 x4 kernel: pid 22846 (rw), uid 1001 inumber 23593 on /mnt: filesystem full May 15 16:42:29 x4 kernel: pid 22843 (rw), uid 1001 inumber 23562 on /mnt: filesystem full May 15 16:42:44 x4 kernel: pid 22842 (rw), uid 1001 inumber 23582 on /mnt: filesystem full May 15 16:43:06 x4 kernel: pid 22842 (rw), uid 1001 inumber 23570 on /mnt: filesystem full May 15 16:43:18 x4 kernel: pid 22841 (rw), uid 1001 inumber 23558 on /mnt: filesystem full May 15 16:43:39 x4 kernel: pid 22838 (rw), uid 1001 inumber 23576 on /mnt: filesystem full May 15 16:43:47 x4 kernel: pid 22839 (rw), uid 1001 inumber 23596 on /mnt: filesystem full May 15 16:44:05 x4 kernel: pid 23051 (rw), uid 1001 inumber 47108 on /mnt: filesystem full May 15 16:44:10 x4 kernel: pid 23053 (rw), uid 1001 inumber 23577 on /mnt: filesystem full May 15 16:44:16 x4 kernel: pid 23054 (rw), uid 1001 inumber 23558 on /mnt: filesystem full May 15 16:44:24 x4 kernel: pid 23054 (rw), uid 1001 inumber 23570 on /mnt: filesystem full May 15 16:44:37 x4 kernel: pid 23049 (rw), uid 1001 inumber 23576 on /mnt: filesystem full May 15 16:44:43 x4 kernel: pid 23055 (rw), uid 1001 inumber 70658 on /mnt: filesystem full May 15 16:44:49 x4 kernel: pid 23052 (rw), uid 1001 inumber 23561 on /mnt: filesystem full May 15 16:45:00 x4 kernel: pid 23053 (rw), uid 1001 inumber 23560 on /mnt: filesystem full May 15 16:45:23 x4 kernel: pid 23058 (rw), uid 1001 inumber 23575 on /mnt: filesystem full May 15 16:45:29 x4 kernel: pid 23057 (rw), uid 1001 inumber 94211 on /mnt: filesystem full May 15 16:45:39 x4 kernel: pid 23058 (rw), uid 1001 inumber 23568 on /mnt: filesystem full May 15 16:45:44 x4 kernel: pid 23052 (rw), uid 1001 inumber 23577 on /mnt: filesystem full May 15 16:46:03 x4 kernel: pid 23279 (rw), uid 1001 inumber 23577 on /mnt: filesystem full May 15 16:46:08 x4 kernel: pid 23276 (rw), uid 1001 inumber 70660 on /mnt: filesystem full May 15 16:46:18 x4 kernel: pid 23283 (rw), uid 1001 inumber 23553 on /mnt: filesystem full May 15 16:46:25 x4 kernel: pid 23279 (rw), uid 1001 inumber 23568 on /mnt: filesystem full May 15 16:46:31 x4 kernel: pid 23280 (rw), uid 1001 inumber 23558 on /mnt: filesystem full May 15 16:46:39 x4 kernel: pid 23281 (rw), uid 1001 inumber 23557 on /mnt: filesystem full May 15 16:46:55 x4 kernel: pid 23282 (rw), uid 1001 inumber 47104 on /mnt: filesystem full May 15 16:47:01 x4 kernel: pid 23276 (rw), uid 1001 inumber 70656 on /mnt: filesystem full May 15 16:47:11 x4 kernel: pid 23282 (rw), uid 1001 inumber 47105 on /mnt: filesystem full May 15 16:47:16 x4 kernel: pid 23279 (rw), uid 1001 inumber 23553 on /mnt: filesystem full May 15 16:47:22 x4 kernel: pid 23278 (rw), uid 1001 inumber 23570 on /mnt: filesystem full May 15 16:47:31 x4 kernel: pid 23277 (rw), uid 1001 inumber 47107 on /mnt: filesystem full May 15 16:47:44 x4 kernel: pid 23277 (rw), uid 1001 inumber 47105 on /mnt: filesystem full May 15 16:47:52 x4 kernel: pid 23274 (rw), uid 1001 inumber 23555 on /mnt: filesystem full May 15 16:48:06 x4 kernel: pid 23494 (rw), uid 1001 inumber 23583 on /mnt: filesystem full May 15 16:48:18 x4 kernel: pid 23491 (rw), uid 1001 inumber 23580 on /mnt: filesystem full May 15 16:48:30 x4 kernel: pid 23494 (rw), uid 1001 inumber 23582 on /mnt: filesystem full May 15 16:48:40 x4 kernel: pid 23491 (rw), uid 1001 inumber 23571 on /mnt: filesystem full May 15 16:48:51 x4 kernel: pid 23489 (rw), uid 1001 inumber 23569 on /mnt: filesystem full May 15 16:49:03 x4 kernel: pid 23494 (rw), uid 1001 inumber 23570 on /mnt: filesystem full May 15 16:49:13 x4 kernel: pid 23494 (rw), uid 1001 inumber 23565 on /mnt: filesystem full May 15 16:49:28 x4 kernel: pid 23486 (rw), uid 1001 inumber 23573 on /mnt: filesystem full May 15 16:49:38 x4 kernel: pid 23489 (rw), uid 1001 inumber 23567 on /mnt: filesystem full May 15 16:49:44 x4 kernel: pid 23492 (rw), uid 1001 inumber 47106 on /mnt: filesystem full May 15 16:50:13 x4 kernel: pid 23702 (rw), uid 1001 inumber 47120 on /mnt: filesystem full May 15 16:50:18 x4 kernel: pid 23705 (rw), uid 1001 inumber 47131 on /mnt: filesystem full May 15 16:50:26 x4 kernel: pid 23705 (rw), uid 1001 inumber 47137 on /mnt: filesystem full May 15 16:50:44 x4 kernel: pid 23701 (rw), uid 1001 inumber 47120 on /mnt: filesystem full May 15 16:51:03 x4 kernel: pid 23698 (rw), uid 1001 inumber 47119 on /mnt: filesystem full May 15 16:51:16 x4 kernel: pid 23700 (rw), uid 1001 inumber 70659 on /mnt: filesystem full May 15 16:51:21 x4 kernel: pid 23698 (rw), uid 1001 inumber 47139 on /mnt: filesystem full May 15 16:51:27 x4 kernel: pid 23700 (rw), uid 1001 inumber 70661 on /mnt: filesystem full May 15 16:51:37 x4 kernel: pid 23703 (rw), uid 1001 inumber 47129 on /mnt: filesystem full May 15 16:51:44 x4 kernel: pid 23700 (rw), uid 1001 inumber 70664 on /mnt: filesystem full May 15 16:52:06 x4 kernel: pid 23911 (rw), uid 1001 inumber 23561 on /mnt: filesystem full May 15 16:52:22 x4 kernel: pid 23911 (rw), uid 1001 inumber 23559 on /mnt: filesystem full May 15 16:52:30 x4 kernel: pid 23915 (rw), uid 1001 inumber 47106 on /mnt: filesystem full May 15 16:52:37 x4 kernel: pid 23919 (rw), uid 1001 inumber 47107 on /mnt: filesystem full May 15 16:52:55 x4 kernel: pid 23915 (rw), uid 1001 inumber 47113 on /mnt: filesystem full May 15 16:53:02 x4 kernel: pid 23915 (rw), uid 1001 inumber 47109 on /mnt: filesystem full May 15 16:53:10 x4 kernel: pid 23911 (rw), uid 1001 inumber 23573 on /mnt: filesystem full May 15 16:53:18 x4 kernel: pid 23920 (rw), uid 1001 inumber 23562 on /mnt: filesystem full May 15 16:53:23 x4 kernel: pid 23918 (rw), uid 1001 inumber 23557 on /mnt: filesystem full May 15 16:53:29 x4 kernel: pid 23916 (rw), uid 1001 inumber 23572 on /mnt: filesystem full May 15 16:53:38 x4 kernel: pid 23919 (rw), uid 1001 inumber 47110 on /mnt: filesystem full May 15 16:53:43 x4 kernel: pid 23915 (rw), uid 1001 inumber 47111 on /mnt: filesystem full May 15 16:53:58 x4 kernel: pid 23913 (rw), uid 1001 inumber 70656 on /mnt: filesystem full May 15 16:54:10 x4 kernel: pid 24123 (rw), uid 1001 inumber 94216 on /mnt: filesystem full May 15 16:54:22 x4 kernel: pid 24126 (rw), uid 1001 inumber 47125 on /mnt: filesystem full May 15 16:54:49 x4 kernel: pid 24131 (rw), uid 1001 inumber 47123 on /mnt: filesystem full May 15 16:54:56 x4 kernel: pid 24128 (rw), uid 1001 inumber 47113 on /mnt: filesystem full May 15 16:55:01 x4 kernel: pid 24129 (rw), uid 1001 inumber 47123 on /mnt: filesystem full May 15 16:55:12 x4 kernel: pid 24123 (rw), uid 1001 inumber 94215 on /mnt: filesystem full May 15 16:55:19 x4 kernel: pid 24123 (rw), uid 1001 inumber 94217 on /mnt: filesystem full May 15 16:55:24 x4 kernel: pid 24122 (rw), uid 1001 inumber 47119 on /mnt: filesystem full May 15 16:55:34 x4 kernel: pid 24123 (rw), uid 1001 inumber 94219 on /mnt: filesystem full May 15 16:55:39 x4 kernel: pid 24123 (rw), uid 1001 inumber 94221 on /mnt: filesystem full May 15 16:55:44 x4 kernel: pid 24129 (rw), uid 1001 inumber 47111 on /mnt: filesystem full May 15 16:55:53 x4 kernel: pid 24126 (rw), uid 1001 inumber 47110 on /mnt: filesystem full May 15 16:56:35 x4 kernel: pid 24350 (rw), uid 1001 inumber 23555 on /mnt: filesystem full May 15 16:56:46 x4 kernel: pid 24349 (rw), uid 1001 inumber 23584 on /mnt: filesystem full May 15 16:57:13 x4 kernel: pid 24350 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 15 16:57:23 x4 kernel: pid 24356 (rw), uid 1001 inumber 23560 on /mnt: filesystem full May 15 16:57:43 x4 kernel: pid 24352 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 15 16:58:02 x4 kernel: pid 24348 (rw), uid 1001 inumber 23557 on /mnt: filesystem full May 15 16:58:43 x4 kernel: pid 24565 (rw), uid 1001 inumber 23557 on /mnt: filesystem full May 15 16:59:03 x4 kernel: pid 24566 (rw), uid 1001 inumber 23565 on /mnt: filesystem full May 15 16:59:11 x4 kernel: pid 24561 (rw), uid 1001 inumber 23557 on /mnt: filesystem full May 15 16:59:30 x4 kernel: pid 24566 (rw), uid 1001 inumber 23553 on /mnt: filesystem full May 15 16:59:38 x4 kernel: pid 24562 (rw), uid 1001 inumber 23556 on /mnt: filesystem full May 15 16:59:45 x4 kernel: pid 24562 (rw), uid 1001 inumber 23579 on /mnt: filesystem full May 15 16:59:59 x4 kernel: pid 24559 (rw), uid 1001 inumber 47113 on /mnt: filesystem full May 15 17:00:18 x4 kernel: pid 24789 (rw), uid 1001 inumber 23556 on /mnt: filesystem full May 15 17:00:37 x4 kernel: pid 24785 (rw), uid 1001 inumber 23568 on /mnt: filesystem full May 15 17:00:55 x4 kernel: pid 24790 (rw), uid 1001 inumber 23569 on /mnt: filesystem full May 15 17:01:17 x4 kernel: pid 24786 (rw), uid 1001 inumber 47107 on /mnt: filesystem full May 15 17:01:29 x4 kernel: pid 24793 (rw), uid 1001 inumber 23582 on /mnt: filesystem full May 15 17:01:40 x4 kernel: pid 24786 (rw), uid 1001 inumber 47108 on /mnt: filesystem full May 15 17:01:45 x4 kernel: pid 24785 (rw), uid 1001 inumber 23586 on /mnt: filesystem full May 15 17:01:53 x4 kernel: pid 24788 (rw), uid 1001 inumber 23562 on /mnt: filesystem full May 15 17:02:21 x4 kernel: pid 24998 (rw), uid 1001 inumber 47113 on /mnt: filesystem full May 15 17:02:28 x4 kernel: pid 25000 (rw), uid 1001 inumber 47133 on /mnt: filesystem full May 15 17:02:41 x4 kernel: pid 24999 (rw), uid 1001 inumber 47137 on /mnt: filesystem full May 15 17:02:48 x4 kernel: pid 24998 (rw), uid 1001 inumber 47128 on /mnt: filesystem full May 15 17:03:21 x4 kernel: pid 25000 (rw), uid 1001 inumber 47141 on /mnt: filesystem full May 15 17:03:53 x4 kernel: pid 25001 (rw), uid 1001 inumber 47129 on /mnt: filesystem full May 15 17:04:00 x4 kernel: pid 24998 (rw), uid 1001 inumber 47137 on /mnt: filesystem full May 15 17:04:22 x4 kernel: pid 25223 (rw), uid 1001 inumber 23556 on /mnt: filesystem full May 15 17:04:33 x4 kernel: pid 25229 (rw), uid 1001 inumber 23577 on /mnt: filesystem full May 15 17:05:02 x4 kernel: pid 25231 (rw), uid 1001 inumber 23577 on /mnt: filesystem full May 15 17:05:10 x4 kernel: pid 25225 (rw), uid 1001 inumber 47110 on /mnt: filesystem full May 15 17:05:18 x4 kernel: pid 25232 (rw), uid 1001 inumber 23579 on /mnt: filesystem full May 15 17:05:25 x4 kernel: pid 25231 (rw), uid 1001 inumber 23554 on /mnt: filesystem full May 15 17:05:34 x4 kernel: pid 25228 (rw), uid 1001 inumber 23560 on /mnt: filesystem full May 15 17:05:46 x4 kernel: pid 25226 (rw), uid 1001 inumber 23567 on /mnt: filesystem full May 15 17:06:12 x4 kernel: pid 25224 (rw), uid 1001 inumber 47107 on /mnt: filesystem full May 15 17:06:23 x4 kernel: pid 25430 (rw), uid 1001 inumber 23603 on /mnt: filesystem full May 15 17:06:46 x4 kernel: pid 25423 (rw), uid 1001 inumber 23583 on /mnt: filesystem full May 15 17:07:11 x4 kernel: pid 25423 (rw), uid 1001 inumber 23587 on /mnt: filesystem full May 15 17:07:22 x4 kernel: pid 25422 (rw), uid 1001 inumber 23558 on /mnt: filesystem full May 15 17:07:39 x4 kernel: pid 25425 (rw), uid 1001 inumber 23565 on /mnt: filesystem full May 15 17:08:06 x4 kernel: pid 25422 (rw), uid 1001 inumber 23578 on /mnt: filesystem full May 15 17:08:29 x4 kernel: pid 25652 (rw), uid 1001 inumber 23590 on /mnt: filesystem full May 15 17:09:03 x4 kernel: pid 25651 (rw), uid 1001 inumber 23584 on /mnt: filesystem full May 15 17:09:14 x4 kernel: pid 25649 (rw), uid 1001 inumber 23579 on /mnt: filesystem full May 15 17:09:31 x4 kernel: pid 25651 (rw), uid 1001 inumber 23579 on /mnt: filesystem full May 15 17:09:37 x4 kernel: pid 25652 (rw), uid 1001 inumber 23554 on /mnt: filesystem full May 15 17:10:05 x4 kernel: pid 25653 (rw), uid 1001 inumber 23560 on /mnt: filesystem full May 15 17:10:37 x4 kernel: pid 25867 (rw), uid 1001 inumber 23556 on /mnt: filesystem full May 15 17:10:53 x4 kernel: pid 25865 (rw), uid 1001 inumber 47105 on /mnt: filesystem full May 15 17:11:04 x4 kernel: pid 25865 (rw), uid 1001 inumber 47105 on /mnt: filesystem full May 15 17:11:09 x4 kernel: pid 25865 (rw), uid 1001 inumber 47107 on /mnt: filesystem full May 15 17:11:34 x4 kernel: pid 25865 (rw), uid 1001 inumber 47105 on /mnt: filesystem full May 15 17:11:40 x4 kernel: pid 25861 (rw), uid 1001 inumber 47114 on /mnt: filesystem full May 15 17:11:47 x4 kernel: pid 25865 (rw), uid 1001 inumber 47107 on /mnt: filesystem full May 15 17:11:58 x4 kernel: pid 25860 (rw), uid 1001 inumber 117767 on /mnt: filesystem full May 15 17:12:04 x4 kernel: pid 25864 (rw), uid 1001 inumber 47105 on /mnt: filesystem full May 15 17:12:09 x4 kernel: pid 25868 (rw), uid 1001 inumber 13 on /mnt: filesystem full May 15 17:13:19 x4 kernel: pid 26521 (suj5), uid 1001 inumber 23 on /mnt: filesystem full May 15 17:14:32 x4 kernel: pid 26945 (suj5), uid 1001 inumber 19 on /mnt: filesystem full May 15 17:14:44 x4 kernel: pid 27009 (suj5), uid 1001 inumber 13 on /mnt: filesystem full May 15 17:15:17 x4 kernel: pid 27191 (suj5), uid 1001 inumber 17 on /mnt: filesystem full May 15 17:15:36 x4 kernel: pid 27278 (suj5), uid 1001 inumber 15 on /mnt: filesystem full May 15 17:16:20 x4 kernel: pid 27522 (suj5), uid 1001 inumber 21 on /mnt: filesystem full May 15 17:16:45 x4 kernel: pid 27775 (suj6), uid 1001 inumber 14 on /mnt: filesystem full May 15 17:18:05 x4 kernel: pid 28277 (suj6), uid 1001 inumber 27 on /mnt: filesystem full May 15 17:18:30 x4 kernel: pid 28418 (suj6), uid 1001 inumber 13 on /mnt: filesystem full May 15 17:18:48 x4 kernel: pid 28528 (suj6), uid 1001 inumber 6 on /mnt: filesystem full May 15 17:19:16 x4 kernel: pid 28707 (suj6), uid 1001 inumber 9 on /mnt: filesystem full May 15 17:19:36 x4 kernel: pid 28803 (suj6), uid 1001 inumber 12 on /mnt: filesystem full Failed to find journal. Use tunefs to create one Failed to start journal: 2 May 15 17:20:16 x4 kernel: pid 29286 (dd), uid 0 inumber 4 on /mnt: filesystem full May 15 17:20:18 x4 kernel: pid 29305 (dd), uid 0 inumber 5 on /mnt: filesystem full May 15 17:24:58 x4 kernel: pid 30358 (rw), uid 1001 inumber 13622 on /mnt: filesystem full lock order reversal: 1st 0xc934b9dc ufs (ufs) @ kern/vfs_vnops.c:612 2nd 0xc1011224 proctree (proctree) @ kern/subr_prf.c:140 KDB: stack backtrace: db_trace_self_wrapper(c0e89956,34313a63,a0d30,0,0,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c09e0e4b,c0e8d273,c6d61e58,c6d5a068,ef36a730,...) at kdb_backtrace+0x2a May 15 17:24:58 _x4 kernel: pid 3w0364 (rw), uid 1i001 inumber 1362tness_debugge4 on /mnt: filesrystem full (c0e8d273,c1011224,c0e84b7b,c6d5a068,c0e8a111,...) at _witness_debugger+0x25 witness_checkorder(c1011224,1,c0e8a108,8c,0,...) at witness_checkorder+0x839 _sx_slock(c1011224,0,c0e8a108,8c,c0bb01d9,...) at _sx_slock+0x85 uprintf(c0eb7772,c73468d4,1,1b0,1,...) at uprintf+0x42 ffs_realloccg(ca301740,6,0,b584,0,...) at ffs_realloccg+0xdc4 ffs_balloc_ufs2(c934b984,1a000,0,1000,cbe2ad00,...) at ffs_balloc_ufs2+0xf85 ffs_write(ef36ab94,c0ed9e11,c934b984,0,c934b984,...) at ffs_write+0x2ad VOP_WRITE_APV(c0fbb360,ef36ab94,c934b984,264,0,...) at VOP_WRITE_APV+0x136 vn_write(c9b10738,ef36ac28,cbe2ad00,0,c96255c0,...) at vn_write+0x1ca dofilewrite(ef36ac28,ffffffff,ffffffff,0,c9b10738,...) at dofilewrite+0x95 kern_writev(c96255c0,4,ef36ac28,ef36ac48,1,...) at kern_writev+0x58 write(c96255c0,ef36acec,ef36ad28,c0e8babe,0,...) at write+0x4f syscallenter(c96255c0,ef36ace4,ef36ace4,0,c101fc00,...) at syscallenter+0x263 syscall(ef36ad28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (4, FreeBSD ELF32, write), eip = 0x28195603, esp = 0xbfbfd68c, ebp = 0xbfbfe748 --- May 15 17:24:59 x4 kernel: pid 30372 (rw), uid 1001 inumber 13055 on /mnt: filesystem full May 15 17:25:01 x4 kernel: pid 30360 (rw), uid 1001 inumber 14127 on /mnt: filesystem full May 15 17:25:55 x4 kernel: pid 30372 (rw), uid 1001 inumber 15939 on /mnt: filesystem full May 15 17:26:11 x4 kernel: pid 30356 (rw), uid 1001 inumber 15938 on /mnt: filesystem full May 15 17:26:15 x4 kernel: pid 30354 (rw), uid 1001 inumber 3429 on /mnt: filesystem full Kernel page fault with the following non-sleepable locks held: exclusive sleep mutex Softdep Lock (Softdep Lock) r = 0 (0xc118efa8) locked @ ufs/ffs/ffs_softdep.c:6983 KDB: stack backtrace: db_trace_self_wrapper(c0e89956,ecf96a54,c099890a,ca6e937c,0,...) at db_trace_self_wrapper+0x26 kdb_backtrace(1b47,0,ffffffff,c115bc9c,ecf96ad8,...) at kdb_backtrace+0x2a _witness_debugger(c0e8c81f,ecf96aec,4,1,0,...) at _witness_debugger+0x25 witness_warn(5,0,c0ed37f6,c09f23db,c73a42bc,...) at witness_warn+0x1fe trap(ecf96b78) at trap+0x195 calltrap() at calltrap+0x6 --- trap 0xc, eip = 0xc0bc93a4, esp = 0xecf96bb8, ebp = 0xecf96bd8 --- free_diradd(c118efa8,4,c0eb851c,19e6,c79ec080,...) at free_diradd+0xc4 free_newdirblk(c118efa8,4,c0eb851c,19c8,c79ec080,...) at free_newdirblk+0x61 free_newblk(c118efa8,0,c0eb851c,1b47,424,...) at free_newblk+0x10f handle_workitem_freeblocks(0,ecf96c78,2,65e,1,...) at handle_workitem_freeblocks+0xcc process_worklist_item(c118efa8,0,c0eb851c,5a8,c7045b80,...) at process_worklist_item+0x225 softdep_process_worklist(c73fb2d4,0,c0eb851c,538,3e8,...) at softdep_process_worklist+0x83 softdep_flush(0,ecf96d28,c0e8036c,390,c73a42bc,...) at softdep_flush+0x2a0 fork_exit(c0bd8570,0,ecf96d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf96d60, ebp = 0 --- Fatal trap 12: page fault while in kernel mode cpuid = 3; apic id = 03 fault virtual address = 0x8 fault code = supervisor read, page not present instruction pointer = 0x20:0xc0bc93a4 stack pointer = 0x28:0xecf96bb8 frame pointer = 0x28:0xecf96bd8 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 18 (softdepflush) [ thread pid 18 tid 100075 ] Stopped at free_diradd+0xc4: movl 0x8(%ebx),%eax db> run pho db:0:pho> bt Tracing pid 18 tid 100075 td 0xc7045b80 free_diradd(c118efa8,4,c0eb851c,19e6,c79ec080,...) at free_diradd+0xc4 free_newdirblk(c118efa8,4,c0eb851c,19c8,c79ec080,...) at free_newdirblk+0x61 free_newblk(c118efa8,0,c0eb851c,1b47,424,...) at free_newblk+0x10f handle_workitem_freeblocks(0,ecf96c78,2,65e,1,...) at handle_workitem_freeblocks+0xcc process_worklist_item(c118efa8,0,c0eb851c,5a8,c7045b80,...) at process_worklist_item+0x225 softdep_process_worklist(c73fb2d4,0,c0eb851c,538,3e8,...) at softdep_process_worklist+0x83 softdep_flush(0,ecf96d28,c0e8036c,390,c73a42bc,...) at softdep_flush+0x2a0 fork_exit(c0bd8570,0,ecf96d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf96d60, ebp = 0 --- db:0:bt> show allpcpu Current CPU: 3 cpuid = 0 dynamic pcpu = 0x44e580 curthread = 0xc7eb6b80: pid 31894 "rw" curpcb = 0xef2fed80 fpcurthread = none idlethread = 0xc6dbf000: tid 100006 "idle: cpu0" APIC ID = 0 currentldt = 0x50 spin locks held: cpuid = 1 dynamic pcpu = 0x5b43580 curthread = 0xc7eb72e0: pid 31866 "rename" curpcb = 0xef3add80 fpcurthread = none idlethread = 0xc6dbf2e0: tid 100005 "idle: cpu1" APIC ID = 1 currentldt = 0x50 spin locks held: cpuid = 2 dynamic pcpu = 0x5b46580 curthread = 0xcbe43b80: pid 31880 "mkdir" curpcb = 0xef66bd80 fpcurthread = none idlethread = 0xc6dbf5c0: tid 100004 "idle: cpu2" APIC ID = 2 currentldt = 0x50 spin locks held: cpuid = 3 dynamic pcpu = 0x5b49580 curthread = 0xc7045b80: pid 18 "softdepflush" curpcb = 0xecf96d80 fpcurthread = none idlethread = 0xc6dbf8a0: tid 100003 "idle: cpu3" APIC ID = 3 currentldt = 0x50 spin locks held: db:0:allpcpu> show alllocks Process 31906 (lockf2) thread 0xc7fe12e0 (100176) exclusive sx ls_lock (ls_lock) r = 0 (0xc7843448) locked @ kern/kern_lockf.c:641 Process 31903 (openat) thread 0xc9d75b80 (100306) exclusive lockmgr ufs (ufs) r = 0 (0xcc4bd310) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 0 (0xc85cd310) locked @ kern/vfs_subr.c:2134 Process 31901 (fts) thread 0xca4fd2e0 (100395) shared lockmgr ufs (ufs) r = 0 (0xc85c2724) locked @ kern/vfs_lookup.c:501 Process 31900 (fts) thread 0xc9d55b80 (100316) shared lockmgr ufs (ufs) r = 0 (0xc85c2724) locked @ kern/vfs_lookup.c:501 Process 31896 (rw) thread 0xcb8495c0 (100370) exclusive lockmgr ufs (ufs) r = 0 (0xc800a880) locked @ kern/vfs_lookup.c:501 Process 31895 (rw) thread 0xc9626b80 (100324) exclusive lockmgr ufs (ufs) r = 0 (0xc803f058) locked @ kern/vfs_vnops.c:612 Process 31894 (rw) thread 0xc7eb6b80 (100153) exclusive lockmgr bufwait (bufwait) r = 0 (0xe0827160) locked @ kern/vfs_bio.c:2658 exclusive lockmgr bufwait (bufwait) r = 0 (0xe0881940) locked @ kern/vfs_bio.c:2658 exclusive lockmgr ufs (ufs) r = 0 (0xca85e880) locked @ kern/vfs_vnops.c:612 Process 31892 (rw) thread 0xc74aeb80 (100388) exclusive lockmgr ufs (ufs) r = 0 (0xca0a4058) locked @ kern/vfs_lookup.c:501 Process 31886 (mkdir) thread 0xc9d54b80 (100289) exclusive lockmgr bufwait (bufwait) r = 0 (0xe089eba0) locked @ kern/vfs_bio.c:1911 exclusive lockmgr bufwait (bufwait) r = 0 (0xe094f580) locked @ ufs/ffs/ffs_softdep.c:12664 exclusive lockmgr ufs (ufs) r = 0 (0xc86a01b4) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 0 (0xcaf23310) locked @ kern/vfs_lookup.c:501 Process 31883 (mkfifo) thread 0xcbe43000 (100401) exclusive sx so_rcv_sx (so_rcv_sx) r = 0 (0xc7c418ac) locked @ kern/uipc_sockbuf.c:148 Process 31880 (mkdir) thread 0xcbe43b80 (100391) exclusive lockmgr bufwait (bufwait) r = 0 (0xe0905340) locked @ kern/vfs_bio.c:1911 exclusive lockmgr bufwait (bufwait) r = 0 (0xe08be9e0) locked @ ufs/ffs/ffs_softdep.c:12664 exclusive lockmgr ufs (ufs) r = 0 (0xc8d849dc) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 0 (0xcbf6f880) locked @ kern/vfs_lookup.c:501 Process 31878 (mkfifo) thread 0xc7b1cb80 (100318) exclusive sx so_rcv_sx (so_rcv_sx) r = 0 (0xcb04b22c) locked @ kern/uipc_sockbuf.c:148 Process 31876 (mkfifo) thread 0xca4fcb80 (100397) exclusive sx so_rcv_sx (so_rcv_sx) r = 0 (0xc8129bec) locked @ kern/uipc_sockbuf.c:148 Process 31873 (link) thread 0xca4f3b80 (100412) exclusive lockmgr ufs (ufs) r = 0 (0xc84c046c) locked @ kern/vfs_syscalls.c:1586 exclusive lockmgr ufs (ufs) r = 0 (0xca4db1b4) locked @ kern/vfs_lookup.c:501 Process 31872 (link) thread 0xcb8585c0 (100382) exclusive lockmgr ufs (ufs) r = 0 (0xc84c01b4) locked @ kern/vfs_syscalls.c:1586 exclusive lockmgr ufs (ufs) r = 0 (0xc81919dc) locked @ kern/vfs_lookup.c:501 Process 31871 (rename) thread 0xc78ce2e0 (100118) exclusive lockmgr ufs (ufs) r = 0 (0xcbf885c8) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xc9046df0) locked @ ufs/ufs/ufs_vnops.c:1175 Process 31870 (link) thread 0xc7e52b80 (100165) exclusive lockmgr ufs (ufs) r = 0 (0xc84c0b38) locked @ kern/vfs_syscalls.c:1586 exclusive lockmgr ufs (ufs) r = 0 (0xc9a17058) locked @ kern/vfs_lookup.c:501 Process 31869 (rename) thread 0xc96528a0 (100201) exclusive lockmgr ufs (ufs) r = 0 (0xca6e9310) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xc87dcdf0) locked @ ufs/ufs/ufs_vnops.c:1175 Process 31867 (rename) thread 0xc96525c0 (100202) exclusive lockmgr ufs (ufs) r = 0 (0xc8ef3058) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xc8ea4058) locked @ ufs/ufs/ufs_vnops.c:1175 Process 31866 (rename) thread 0xc7eb72e0 (100209) exclusive lockmgr ufs (ufs) r = 0 (0xc8183b38) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xc8e95880) locked @ ufs/ufs/ufs_vnops.c:1175 Process 31865 (rename) thread 0xc96982e0 (100268) exclusive lockmgr bufwait (bufwait) r = 0 (0xe07ee500) locked @ kern/vfs_bio.c:2658 exclusive lockmgr ufs (ufs) r = 0 (0xc87d7310) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 0 (0xca35cb38) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xc98251b4) locked @ ufs/ufs/ufs_vnops.c:1175 Process 31864 (link) thread 0xca4f4000 (100411) exclusive lockmgr ufs (ufs) r = 0 (0xca5675c8) locked @ kern/vfs_syscalls.c:1586 exclusive lockmgr ufs (ufs) r = 0 (0xca4dbdf0) locked @ kern/vfs_lookup.c:501 Process 31863 (rename) thread 0xc9d122e0 (100270) exclusive lockmgr bufwait (bufwait) r = 0 (0xe0763600) locked @ kern/vfs_bio.c:2658 exclusive lockmgr ufs (ufs) r = 0 (0xc9db9c94) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xc8318880) locked @ ufs/ufs/ufs_vnops.c:1175 Process 31862 (link) thread 0xca4f25c0 (100434) exclusive lockmgr ufs (ufs) r = 0 (0xc8923310) locked @ kern/vfs_syscalls.c:1586 exclusive lockmgr ufs (ufs) r = 0 (0xc8e955c8) locked @ kern/vfs_lookup.c:501 Process 31861 (link) thread 0xcbe445c0 (100378) exclusive lockmgr bufwait (bufwait) r = 0 (0xe08feb40) locked @ kern/vfs_bio.c:2658 exclusive lockmgr ufs (ufs) r = 1 (0xcc4a2df0) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 0 (0xc819146c) locked @ kern/vfs_lookup.c:501 Process 31860 (creat) thread 0xc9d11b80 (100272) exclusive lockmgr ufs (ufs) r = 0 (0xc89235c8) locked @ ufs/ffs/ffs_vfsops.c:1521 exclusive lockmgr ufs (ufs) r = 0 (0xc8ea4880) locked @ kern/vfs_lookup.c:501 Process 31858 (rename) thread 0xc78cd8a0 (100121) exclusive lockmgr ufs (ufs) r = 0 (0xc8825310) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 0 (0xc88d6df0) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xc8fca724) locked @ ufs/ufs/ufs_vnops.c:1175 Process 31856 (link) thread 0xc74ae8a0 (100389) exclusive lockmgr ufs (ufs) r = 0 (0xcc4a29dc) locked @ kern/vfs_syscalls.c:1586 exclusive lockmgr ufs (ufs) r = 0 (0xc9825c94) locked @ kern/vfs_lookup.c:501 Process 31854 (link) thread 0xc9d742e0 (100314) exclusive lockmgr ufs (ufs) r = 0 (0xcbfcb310) locked @ kern/vfs_syscalls.c:1586 exclusive lockmgr ufs (ufs) r = 0 (0xc8e95b38) locked @ kern/vfs_lookup.c:501 Process 31853 (link) thread 0xc9651000 (100242) exclusive lockmgr ufs (ufs) r = 0 (0xc8a07b38) locked @ kern/vfs_lookup.c:501 Process 31852 (link) thread 0xc9d102e0 (100280) exclusive lockmgr ufs (ufs) r = 0 (0xc881d9dc) locked @ kern/vfs_syscalls.c:1586 exclusive lockmgr ufs (ufs) r = 0 (0xca0a45c8) locked @ kern/vfs_lookup.c:501 Process 31851 (link) thread 0xca4f42e0 (100410) exclusive lockmgr ufs (ufs) r = 0 (0xca567058) locked @ kern/vfs_syscalls.c:1586 exclusive lockmgr ufs (ufs) r = 0 (0xc886646c) locked @ kern/vfs_lookup.c:501 Process 31850 (link) thread 0xcb84db80 (100355) exclusive lockmgr ufs (ufs) r = 0 (0xc89d846c) locked @ kern/vfs_syscalls.c:1586 exclusive lockmgr ufs (ufs) r = 0 (0xc86fb880) locked @ kern/vfs_lookup.c:501 Process 31847 (lockf) thread 0xc96662e0 (100219) exclusive lockmgr bufwait (bufwait) r = 0 (0xe08089e0) locked @ kern/vfs_bio.c:2658 shared lockmgr ufs (ufs) r = 0 (0xc8eeec94) locked @ kern/vfs_vnops.c:541 Process 6362 (sshd) thread 0xc7172b80 (100343) exclusive sx so_rcv_sx (so_rcv_sx) r = 0 (0xc794d08c) locked @ kern/uipc_sockbuf.c:148 Process 2377 (sshd) thread 0xc7e525c0 (100167) exclusive sx so_rcv_sx (so_rcv_sx) r = 0 (0xc7bba70c) locked @ kern/uipc_sockbuf.c:148 Process 2376 (sshd) thread 0xc78cc000 (100137) exclusive sx so_rcv_sx (so_rcv_sx) r = 0 (0xc77dfa4c) locked @ kern/uipc_sockbuf.c:148 Process 2375 (sshd) thread 0xc7e522e0 (100168) exclusive sx so_rcv_sx (so_rcv_sx) r = 0 (0xc77df8ac) locked @ kern/uipc_sockbuf.c:148 Process 2305 (sshd) thread 0xc7fe2000 (100172) exclusive sx so_rcv_sx (so_rcv_sx) r = 0 (0xc7c41d8c) locked @ kern/uipc_sockbuf.c:148 Process 18 (softdepflush) thread 0xc7045b80 (100075) exclusive sleep mutex Softdep Lock (Softdep Lock) r = 0 (0xc118efa8) locked @ ufs/ffs/ffs_softdep.c:6983 db:0:alllocks> show lockedvnods Locked vnodes 0xc85c26cc: tag ufs, type VDIR usecount 65, writecount 0, refcount 67 mountedhere 0 flags () v_object 0xc9eda660 ref 0 pages 1 lock type ufs: SHARED (count 2) with exclusive waiters pending #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a34f06 at lookup+0x106 #5 0xc0a362e2 at namei+0x592 #6 0xc0a467c4 at kern_rmdirat+0x54 #7 0xc0a469b7 at kern_rmdir+0x27 #8 0xc0a469e2 at rmdir+0x22 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 4096, on dev md5a 0xc8ea4828: tag ufs, type VDIR usecount 2, writecount 0, refcount 5 mountedhere 0 flags () v_object 0xcb78ac38 ref 0 pages 2 lock type ufs: EXCL by thread 0xc9d11b80 (pid 31860) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a34f06 at lookup+0x106 #5 0xc0a362e2 at namei+0x592 #6 0xc0a4f770 at vn_open_cred+0x90 #7 0xc0a4fcfb at vn_open+0x3b #8 0xc0a4e97f at kern_openat+0x12f #9 0xc0a4edc5 at kern_open+0x35 #10 0xc0a4ee00 at open+0x30 #11 0xc09eada3 at syscallenter+0x263 #12 0xc0cd24ff at syscall+0x4f #13 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13595, on dev md5a 0xca0a4000: tag ufs, type VDIR usecount 3, writecount 0, refcount 5 mountedhere 0 flags () v_object 0xcb0f4220 ref 0 pages 1 lock type ufs: EXCL by thread 0xc74aeb80 (pid 31892) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a34f06 at lookup+0x106 #5 0xc0a362e2 at namei+0x592 #6 0xc0a4f770 at vn_open_cred+0x90 #7 0xc0a4fcfb at vn_open+0x3b #8 0xc0a4e97f at kern_openat+0x12f #9 0xc0a4edc5 at kern_open+0x35 #10 0xc0a4ee00 at open+0x30 #11 0xc09eada3 at syscallenter+0x263 #12 0xc0cd24ff at syscall+0x4f #13 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13596, on dev md5a 0xc8ea4000: tag ufs, type VDIR usecount 5, writecount 0, refcount 8 mountedhere 0 flags () v_object 0xc814d7f8 ref 0 pages 4 lock type ufs: EXCL by thread 0xc96525c0 (pid 31867) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0bf0773 at ufs_rename+0x183 #5 0xc0cf5295 at VOP_RENAME_APV+0xa5 #6 0xc0a4b827 at kern_renameat+0x307 #7 0xc0a4b9d6 at kern_rename+0x36 #8 0xc0a4ba09 at rename+0x29 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13598, on dev md5a 0xc8fca6cc: tag ufs, type VDIR usecount 5, writecount 0, refcount 10 mountedhere 0 flags () v_object 0xc994faa0 ref 0 pages 4 lock type ufs: EXCL by thread 0xc78cd8a0 (pid 31858) with shared waiters pending #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0bf0773 at ufs_rename+0x183 #5 0xc0cf5295 at VOP_RENAME_APV+0xa5 #6 0xc0a4b827 at kern_renameat+0x307 #7 0xc0a4b9d6 at kern_rename+0x36 #8 0xc0a4ba09 at rename+0x29 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13599, on dev md5a 0xc800a828: tag ufs, type VDIR usecount 3, writecount 0, refcount 5 mountedhere 0 flags () v_object 0xc82c4ee0 ref 0 pages 1 lock type ufs: EXCL by thread 0xcb8495c0 (pid 31896) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a34f06 at lookup+0x106 #5 0xc0a362e2 at namei+0x592 #6 0xc0a4f770 at vn_open_cred+0x90 #7 0xc0a4fcfb at vn_open+0x3b #8 0xc0a4e97f at kern_openat+0x12f #9 0xc0a4edc5 at kern_open+0x35 #10 0xc0a4ee00 at open+0x30 #11 0xc09eada3 at syscallenter+0x263 #12 0xc0cd24ff at syscall+0x4f #13 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13751, on dev md5a 0xc9046d98: tag ufs, type VDIR usecount 5, writecount 0, refcount 8 mountedhere 0 flags () v_object 0xc8216770 ref 0 pages 4 lock type ufs: EXCL by thread 0xc78ce2e0 (pid 31871) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0bf0773 at ufs_rename+0x183 #5 0xc0cf5295 at VOP_RENAME_APV+0xa5 #6 0xc0a4b827 at kern_renameat+0x307 #7 0xc0a4b9d6 at kern_rename+0x36 #8 0xc0a4ba09 at rename+0x29 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13755, on dev md5a 0xc85cd2b8: tag ufs, type VDIR usecount 2, writecount 0, refcount 4 mountedhere 0 flags () v_object 0xc9c47110 ref 0 pages 1 lock type ufs: EXCL by thread 0xc9d75b80 (pid 31903) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a2d90b at cache_lookup+0x67b #6 0xc0a2daed at vfs_cache_lookup+0xad #7 0xc0cf5e25 at VOP_LOOKUP_APV+0xe5 #8 0xc0a3547b at lookup+0x67b #9 0xc0a362e2 at namei+0x592 #10 0xc0a47a24 at kern_unlinkat+0x54 #11 0xc0a47c7f at kern_unlink+0x2f #12 0xc0a47cb2 at unlink+0x22 #13 0xc09eada3 at syscallenter+0x263 #14 0xc0cd24ff at syscall+0x4f #15 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13760, on dev md5a 0xc86fb828: tag ufs, type VDIR usecount 2, writecount 0, refcount 5 mountedhere 0 flags () v_object 0xcba3d770 ref 0 pages 1 lock type ufs: EXCL by thread 0xcb84db80 (pid 31850) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a34f06 at lookup+0x106 #5 0xc0a362e2 at namei+0x592 #6 0xc0a4ae1c at kern_linkat+0x16c #7 0xc0a4b0be at kern_link+0x3e #8 0xc0a4b0e9 at link+0x29 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13763, on dev md5a 0xc8866414: tag ufs, type VDIR usecount 2, writecount 0, refcount 5 mountedhere 0 flags () v_object 0xcba89330 ref 0 pages 1 lock type ufs: EXCL by thread 0xca4f42e0 (pid 31851) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a34f06 at lookup+0x106 #5 0xc0a362e2 at namei+0x592 #6 0xc0a4ae1c at kern_linkat+0x16c #7 0xc0a4b0be at kern_link+0x3e #8 0xc0a4b0e9 at link+0x29 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13765, on dev md5a 0xc9825c3c: tag ufs, type VDIR usecount 2, writecount 0, refcount 5 mountedhere 0 flags () v_object 0xcb7c6aa0 ref 0 pages 1 lock type ufs: EXCL by thread 0xc74ae8a0 (pid 31856) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a34f06 at lookup+0x106 #5 0xc0a362e2 at namei+0x592 #6 0xc0a4ae1c at kern_linkat+0x16c #7 0xc0a4b0be at kern_link+0x3e #8 0xc0a4b0e9 at link+0x29 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13767, on dev md5a 0xca0a4570: tag ufs, type VDIR usecount 2, writecount 0, refcount 5 mountedhere 0 flags () v_object 0xc808a6e8 ref 0 pages 1 lock type ufs: EXCL by thread 0xc9d102e0 (pid 31852) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a34f06 at lookup+0x106 #5 0xc0a362e2 at namei+0x592 #6 0xc0a4ae1c at kern_linkat+0x16c #7 0xc0a4b0be at kern_link+0x3e #8 0xc0a4b0e9 at link+0x29 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13769, on dev md5a 0xc8e95ae0: tag ufs, type VDIR usecount 2, writecount 0, refcount 5 mountedhere 0 flags () v_object 0xca7a9000 ref 0 pages 1 lock type ufs: EXCL by thread 0xc9d742e0 (pid 31854) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a34f06 at lookup+0x106 #5 0xc0a362e2 at namei+0x592 #6 0xc0a4ae1c at kern_linkat+0x16c #7 0xc0a4b0be at kern_link+0x3e #8 0xc0a4b0e9 at link+0x29 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13770, on dev md5a 0xc982515c: tag ufs, type VDIR usecount 5, writecount 0, refcount 8 mountedhere 0 flags () v_object 0xca5256e8 ref 0 pages 4 lock type ufs: EXCL by thread 0xc96982e0 (pid 31865) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0bf0773 at ufs_rename+0x183 #5 0xc0cf5295 at VOP_RENAME_APV+0xa5 #6 0xc0a4b827 at kern_renameat+0x307 #7 0xc0a4b9d6 at kern_rename+0x36 #8 0xc0a4ba09 at rename+0x29 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13771, on dev md5a 0xc8e95828: tag ufs, type VDIR usecount 5, writecount 0, refcount 8 mountedhere 0 flags () v_object 0xc8321a18 ref 0 pages 4 lock type ufs: EXCL by thread 0xc7eb72e0 (pid 31866) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0bf0773 at ufs_rename+0x183 #5 0xc0cf5295 at VOP_RENAME_APV+0xa5 #6 0xc0a4b827 at kern_renameat+0x307 #7 0xc0a4b9d6 at kern_rename+0x36 #8 0xc0a4ba09 at rename+0x29 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13775, on dev md5a 0xc87dcd98: tag ufs, type VDIR usecount 5, writecount 0, refcount 8 mountedhere 0 flags () v_object 0xc90bb198 ref 0 pages 4 lock type ufs: EXCL by thread 0xc96528a0 (pid 31869) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0bf0773 at ufs_rename+0x183 #5 0xc0cf5295 at VOP_RENAME_APV+0xa5 #6 0xc0a4b827 at kern_renameat+0x307 #7 0xc0a4b9d6 at kern_rename+0x36 #8 0xc0a4ba09 at rename+0x29 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13776, on dev md5a 0xc8318828: tag ufs, type VDIR usecount 5, writecount 0, refcount 8 mountedhere 0 flags () v_object 0xcaa4c990 ref 0 pages 4 lock type ufs: EXCL by thread 0xc9d122e0 (pid 31863) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0bf0773 at ufs_rename+0x183 #5 0xc0cf5295 at VOP_RENAME_APV+0xa5 #6 0xc0a4b827 at kern_renameat+0x307 #7 0xc0a4b9d6 at kern_rename+0x36 #8 0xc0a4ba09 at rename+0x29 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13778, on dev md5a 0xc8191414: tag ufs, type VDIR usecount 2, writecount 0, refcount 5 mountedhere 0 flags () v_object 0xc9685e58 ref 0 pages 1 lock type ufs: EXCL by thread 0xcbe445c0 (pid 31861) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a34f06 at lookup+0x106 #5 0xc0a362e2 at namei+0x592 #6 0xc0a47a24 at kern_unlinkat+0x54 #7 0xc0a47c7f at kern_unlink+0x2f #8 0xc0a47cb2 at unlink+0x22 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13781, on dev md5a 0xc8e95570: tag ufs, type VDIR usecount 2, writecount 0, refcount 5 mountedhere 0 flags () v_object 0xc92ba000 ref 0 pages 1 lock type ufs: EXCL by thread 0xca4f25c0 (pid 31862) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a34f06 at lookup+0x106 #5 0xc0a362e2 at namei+0x592 #6 0xc0a4ae1c at kern_linkat+0x16c #7 0xc0a4b0be at kern_link+0x3e #8 0xc0a4b0e9 at link+0x29 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13782, on dev md5a 0xca4db15c: tag ufs, type VDIR usecount 2, writecount 0, refcount 5 mountedhere 0 flags () v_object 0xc8466aa0 ref 0 pages 1 lock type ufs: EXCL by thread 0xca4f3b80 (pid 31873) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a34f06 at lookup+0x106 #5 0xc0a362e2 at namei+0x592 #6 0xc0a4ae1c at kern_linkat+0x16c #7 0xc0a4b0be at kern_link+0x3e #8 0xc0a4b0e9 at link+0x29 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13783, on dev md5a 0xc8191984: tag ufs, type VDIR usecount 2, writecount 0, refcount 5 mountedhere 0 flags () v_object 0xc740f198 ref 0 pages 1 lock type ufs: EXCL by thread 0xcb8585c0 (pid 31872) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a34f06 at lookup+0x106 #5 0xc0a362e2 at namei+0x592 #6 0xc0a4ae1c at kern_linkat+0x16c #7 0xc0a4b0be at kern_link+0x3e #8 0xc0a4b0e9 at link+0x29 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13784, on dev md5a 0xca4dbd98: tag ufs, type VDIR usecount 2, writecount 0, refcount 5 mountedhere 0 flags () v_object 0xca6cfc38 ref 0 pages 1 lock type ufs: EXCL by thread 0xca4f4000 (pid 31864) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a34f06 at lookup+0x106 #5 0xc0a362e2 at namei+0x592 #6 0xc0a4ae1c at kern_linkat+0x16c #7 0xc0a4b0be at kern_link+0x3e #8 0xc0a4b0e9 at link+0x29 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13785, on dev md5a 0xc9a17000: tag ufs, type VDIR usecount 2, writecount 0, refcount 5 mountedhere 0 flags () v_object 0xc9886550 ref 0 pages 1 lock type ufs: EXCL by thread 0xc7e52b80 (pid 31870) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a34f06 at lookup+0x106 #5 0xc0a362e2 at namei+0x592 #6 0xc0a4ae1c at kern_linkat+0x16c #7 0xc0a4b0be at kern_link+0x3e #8 0xc0a4b0e9 at link+0x29 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13786, on dev md5a 0xc8a07ae0: tag ufs, type VDIR usecount 2, writecount 0, refcount 4 mountedhere 0 flags () v_object 0xc82625d8 ref 0 pages 1 lock type ufs: EXCL by thread 0xc9651000 (pid 31853) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a34f06 at lookup+0x106 #5 0xc0a362e2 at namei+0x592 #6 0xc0a4f770 at vn_open_cred+0x90 #7 0xc0a4fcfb at vn_open+0x3b #8 0xc0a4e97f at kern_openat+0x12f #9 0xc0a4edc5 at kern_open+0x35 #10 0xc0a4ee00 at open+0x30 #11 0xc09eada3 at syscallenter+0x263 #12 0xc0cd24ff at syscall+0x4f #13 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13787, on dev md5a 0xc88252b8: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () v_object 0xcba70110 ref 0 pages 0 lock type ufs: EXCL by thread 0xc78cd8a0 (pid 31858) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3f9 at ffs_vgetf+0x49 #7 0xc0bc88fe at process_worklist_item+0x10e #8 0xc0bca98b at softdep_prelink+0x13b #9 0xc0bcd112 at softdep_setup_link+0xc2 #10 0xc0bf1131 at ufs_rename+0xb41 #11 0xc0cf5295 at VOP_RENAME_APV+0xa5 #12 0xc0a4b827 at kern_renameat+0x307 #13 0xc0a4b9d6 at kern_rename+0x36 #14 0xc0a4ba09 at rename+0x29 #15 0xc09eada3 at syscallenter+0x263 #16 0xc0cd24ff at syscall+0x4f #17 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13820, on dev md5a 0xc9db9c3c: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc9e91440 ref 0 pages 0 lock type ufs: EXCL by thread 0xc9d122e0 (pid 31863) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3f9 at ffs_vgetf+0x49 #7 0xc0bdb95e at ffs_vget+0x2e #8 0xc0bf08fd at ufs_rename+0x30d #9 0xc0cf5295 at VOP_RENAME_APV+0xa5 #10 0xc0a4b827 at kern_renameat+0x307 #11 0xc0a4b9d6 at kern_rename+0x36 #12 0xc0a4ba09 at rename+0x29 #13 0xc09eada3 at syscallenter+0x263 #14 0xc0cd24ff at syscall+0x4f #15 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13882, on dev md5a 0xc8ef3000: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xcb470aa0 ref 0 pages 0 lock type ufs: EXCL by thread 0xc96525c0 (pid 31867) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3f9 at ffs_vgetf+0x49 #7 0xc0bdb95e at ffs_vget+0x2e #8 0xc0bf08fd at ufs_rename+0x30d #9 0xc0cf5295 at VOP_RENAME_APV+0xa5 #10 0xc0a4b827 at kern_renameat+0x307 #11 0xc0a4b9d6 at kern_rename+0x36 #12 0xc0a4ba09 at rename+0x29 #13 0xc09eada3 at syscallenter+0x263 #14 0xc0cd24ff at syscall+0x4f #15 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 13593, on dev md5a 0xc8183ae0: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xca65c440 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7eb72e0 (pid 31866) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3f9 at ffs_vgetf+0x49 #7 0xc0bdb95e at ffs_vget+0x2e #8 0xc0bf08fd at ufs_rename+0x30d #9 0xc0cf5295 at VOP_RENAME_APV+0xa5 #10 0xc0a4b827 at kern_renameat+0x307 #11 0xc0a4b9d6 at kern_rename+0x36 #12 0xc0a4ba09 at rename+0x29 #13 0xc09eada3 at syscallenter+0x263 #14 0xc0cd24ff at syscall+0x4f #15 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 14641, on dev md5a 0xc87d72b8: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () v_object 0xcb73b000 ref 0 pages 0 lock type ufs: EXCL by thread 0xc96982e0 (pid 31865) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3f9 at ffs_vgetf+0x49 #7 0xc0bc88fe at process_worklist_item+0x10e #8 0xc0bca97f at softdep_prelink+0x12f #9 0xc0bcd112 at softdep_setup_link+0xc2 #10 0xc0bf1131 at ufs_rename+0xb41 #11 0xc0cf5295 at VOP_RENAME_APV+0xa5 #12 0xc0a4b827 at kern_renameat+0x307 #13 0xc0a4b9d6 at kern_rename+0x36 #14 0xc0a4ba09 at rename+0x29 #15 0xc09eada3 at syscallenter+0x263 #16 0xc0cd24ff at syscall+0x4f #17 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 12532, on dev md5a 0xcbf88570: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc9edd198 ref 0 pages 0 lock type ufs: EXCL by thread 0xc78ce2e0 (pid 31871) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3f9 at ffs_vgetf+0x49 #7 0xc0bdb95e at ffs_vget+0x2e #8 0xc0bf08fd at ufs_rename+0x30d #9 0xc0cf5295 at VOP_RENAME_APV+0xa5 #10 0xc0a4b827 at kern_renameat+0x307 #11 0xc0a4b9d6 at kern_rename+0x36 #12 0xc0a4ba09 at rename+0x29 #13 0xc09eada3 at syscallenter+0x263 #14 0xc0cd24ff at syscall+0x4f #15 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 12534, on dev md5a 0xc88d6d98: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xca33daa0 ref 0 pages 0 lock type ufs: EXCL by thread 0xc78cd8a0 (pid 31858) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3f9 at ffs_vgetf+0x49 #7 0xc0bdb95e at ffs_vget+0x2e #8 0xc0bf08fd at ufs_rename+0x30d #9 0xc0cf5295 at VOP_RENAME_APV+0xa5 #10 0xc0a4b827 at kern_renameat+0x307 #11 0xc0a4b9d6 at kern_rename+0x36 #12 0xc0a4ba09 at rename+0x29 #13 0xc09eada3 at syscallenter+0x263 #14 0xc0cd24ff at syscall+0x4f #15 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 12834, on dev md5a 0xca35cae0: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xcaec5440 ref 0 pages 0 lock type ufs: EXCL by thread 0xc96982e0 (pid 31865) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3f9 at ffs_vgetf+0x49 #7 0xc0bdb95e at ffs_vget+0x2e #8 0xc0bf08fd at ufs_rename+0x30d #9 0xc0cf5295 at VOP_RENAME_APV+0xa5 #10 0xc0a4b827 at kern_renameat+0x307 #11 0xc0a4b9d6 at kern_rename+0x36 #12 0xc0a4ba09 at rename+0x29 #13 0xc09eada3 at syscallenter+0x263 #14 0xc0cd24ff at syscall+0x4f #15 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 12942, on dev md5a 0xca6e92b8: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc98b74c8 ref 0 pages 0 lock type ufs: EXCL by thread 0xc96528a0 (pid 31869) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3f9 at ffs_vgetf+0x49 #7 0xc0bdb95e at ffs_vget+0x2e #8 0xc0bf08fd at ufs_rename+0x30d #9 0xc0cf5295 at VOP_RENAME_APV+0xa5 #10 0xc0a4b827 at kern_renameat+0x307 #11 0xc0a4b9d6 at kern_rename+0x36 #12 0xc0a4ba09 at rename+0x29 #13 0xc09eada3 at syscallenter+0x263 #14 0xc0cd24ff at syscall+0x4f #15 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 15087, on dev md5a 0xc8eeec3c: tag ufs, type VREG usecount 1, writecount 1, refcount 3 mountedhere 0 flags () v_object 0xcb78acc0 ref 0 pages 1 lock type ufs: SHARED (count 1) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a30cd4 at vop_stdadvlock+0x44 #5 0xc0cf4506 at VOP_ADVLOCK_APV+0xd6 #6 0xc096fe7f at kern_fcntl+0x95f #7 0xc0970971 at fcntl+0x101 #8 0xc09eada3 at syscallenter+0x263 #9 0xc0cd24ff at syscall+0x4f #10 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 4098, on dev md5a 0xca85e828: tag ufs, type VREG usecount 1, writecount 1, refcount 202 mountedhere 0 flags () v_object 0xc83ba330 ref 0 pages 800 lock type ufs: EXCL by thread 0xc7eb6b80 (pid 31894) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a513b6 at vn_write+0x156 #5 0xc09f4d75 at dofilewrite+0x95 #6 0xc09f6518 at kern_writev+0x58 #7 0xc09f662f at write+0x4f #8 0xc09eada3 at syscallenter+0x263 #9 0xc0cd24ff at syscall+0x4f #10 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 12857, on dev md5a 0xcbf6f828: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc83ba6e8 ref 0 pages 0 lock type ufs: EXCL by thread 0xcbe43b80 (pid 31880) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a34f06 at lookup+0x106 #5 0xc0a362e2 at namei+0x592 #6 0xc0a467c4 at kern_rmdirat+0x54 #7 0xc0a469b7 at kern_rmdir+0x27 #8 0xc0a469e2 at rmdir+0x22 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 4359, on dev md5a 0xc8d84984: tag ufs, type VDIR usecount 0, writecount 0, refcount 2 mountedhere 0 flags (VI_DOINGINACT) v_object 0xc96b63b8 ref 0 pages 0 lock type ufs: EXCL by thread 0xcbe43b80 (pid 31880) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3f9 at ffs_vgetf+0x49 #7 0xc0bdb95e at ffs_vget+0x2e #8 0xc0be73cb at ufs_lookup_ino+0x89b #9 0xc0be777a at ufs_lookup+0x2a #10 0xc0cf40a5 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2db16 at vfs_cache_lookup+0xd6 #12 0xc0cf5e25 at VOP_LOOKUP_APV+0xe5 #13 0xc0a3547b at lookup+0x67b #14 0xc0a362e2 at namei+0x592 #15 0xc0a467c4 at kern_rmdirat+0x54 #16 0xc0a469b7 at kern_rmdir+0x27 #17 0xc0a469e2 at rmdir+0x22 ino 4363, on dev md5a 0xcaf232b8: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xcb06cbb0 ref 0 pages 0 lock type ufs: EXCL by thread 0xc9d54b80 (pid 31886) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a34f06 at lookup+0x106 #5 0xc0a362e2 at namei+0x592 #6 0xc0a467c4 at kern_rmdirat+0x54 #7 0xc0a469b7 at kern_rmdir+0x27 #8 0xc0a469e2 at rmdir+0x22 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24ff at syscall+0x4f #11 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 4301, on dev md5a 0xc86a015c: tag ufs, type VDIR usecount 0, writecount 0, refcount 2 mountedhere 0 flags (VI_DOINGINACT) v_object 0xcb06cc38 ref 0 pages 0 lock type ufs: EXCL by thread 0xc9d54b80 (pid 31886) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3f9 at ffs_vgetf+0x49 #7 0xc0bdb95e at ffs_vget+0x2e #8 0xc0be73cb at ufs_lookup_ino+0x89b #9 0xc0be777a at ufs_lookup+0x2a #10 0xc0cf40a5 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2db16 at vfs_cache_lookup+0xd6 #12 0xc0cf5e25 at VOP_LOOKUP_APV+0xe5 #13 0xc0a3547b at lookup+0x67b #14 0xc0a362e2 at namei+0x592 #15 0xc0a467c4 at kern_rmdirat+0x54 #16 0xc0a469b7 at kern_rmdir+0x27 #17 0xc0a469e2 at rmdir+0x22 ino 4302, on dev md5a 0xc803f000: tag ufs, type VREG usecount 1, writecount 1, refcount 156 mountedhere 0 flags () v_object 0xcabacee0 ref 0 pages 616 lock type ufs: EXCL by thread 0xc9626b80 (pid 31895) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a513b6 at vn_write+0x156 #5 0xc09f4d75 at dofilewrite+0x95 #6 0xc09f6518 at kern_writev+0x58 #7 0xc09f662f at write+0x4f #8 0xc09eada3 at syscallenter+0x263 #9 0xc0cd24ff at syscall+0x4f #10 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 15650, on dev md5a 0xca567570: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () v_object 0xc9604088 ref 0 pages 0 lock type ufs: EXCL by thread 0xca4f4000 (pid 31864) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4ae8f at kern_linkat+0x1df #5 0xc0a4b0be at kern_link+0x3e #6 0xc0a4b0e9 at link+0x29 #7 0xc09eada3 at syscallenter+0x263 #8 0xc0cd24ff at syscall+0x4f #9 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 16138, on dev md5a 0xca567000: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () v_object 0xc9604d48 ref 0 pages 0 lock type ufs: EXCL by thread 0xca4f42e0 (pid 31851) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4ae8f at kern_linkat+0x1df #5 0xc0a4b0be at kern_link+0x3e #6 0xc0a4b0e9 at link+0x29 #7 0xc09eada3 at syscallenter+0x263 #8 0xc0cd24ff at syscall+0x4f #9 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 16139, on dev md5a 0xc89232b8: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () v_object 0xc9604a18 ref 0 pages 0 lock type ufs: EXCL by thread 0xca4f25c0 (pid 31862) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4ae8f at kern_linkat+0x1df #5 0xc0a4b0be at kern_link+0x3e #6 0xc0a4b0e9 at link+0x29 #7 0xc09eada3 at syscallenter+0x263 #8 0xc0cd24ff at syscall+0x4f #9 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 16158, on dev md5a 0xc881d984: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () v_object 0xca6cf5d8 ref 0 pages 0 lock type ufs: EXCL by thread 0xc9d102e0 (pid 31852) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4ae8f at kern_linkat+0x1df #5 0xc0a4b0be at kern_link+0x3e #6 0xc0a4b0e9 at link+0x29 #7 0xc09eada3 at syscallenter+0x263 #8 0xc0cd24ff at syscall+0x4f #9 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 16165, on dev md5a 0xcbfcb2b8: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () v_object 0xca0cf880 ref 0 pages 0 lock type ufs: EXCL by thread 0xc9d742e0 (pid 31854) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4ae8f at kern_linkat+0x1df #5 0xc0a4b0be at kern_link+0x3e #6 0xc0a4b0e9 at link+0x29 #7 0xc09eada3 at syscallenter+0x263 #8 0xc0cd24ff at syscall+0x4f #9 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 16168, on dev md5a 0xc89d8414: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () v_object 0xc828a4c8 ref 0 pages 0 lock type ufs: EXCL by thread 0xcb84db80 (pid 31850) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4ae8f at kern_linkat+0x1df #5 0xc0a4b0be at kern_link+0x3e #6 0xc0a4b0e9 at link+0x29 #7 0xc09eada3 at syscallenter+0x263 #8 0xc0cd24ff at syscall+0x4f #9 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 16171, on dev md5a 0xcc4a2984: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () v_object 0xc80aa990 ref 0 pages 0 lock type ufs: EXCL by thread 0xc74ae8a0 (pid 31856) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4ae8f at kern_linkat+0x1df #5 0xc0a4b0be at kern_link+0x3e #6 0xc0a4b0e9 at link+0x29 #7 0xc09eada3 at syscallenter+0x263 #8 0xc0cd24ff at syscall+0x4f #9 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 16174, on dev md5a 0xc84c015c: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () v_object 0xcadde440 ref 0 pages 0 lock type ufs: EXCL by thread 0xcb8585c0 (pid 31872) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4ae8f at kern_linkat+0x1df #5 0xc0a4b0be at kern_link+0x3e #6 0xc0a4b0e9 at link+0x29 #7 0xc09eada3 at syscallenter+0x263 #8 0xc0cd24ff at syscall+0x4f #9 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 16175, on dev md5a 0xcc4a2d98: tag ufs, type VREG usecount 2, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc80aa000 ref 0 pages 0 lock type ufs: EXCL by thread 0xcbe445c0 (pid 31861) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3f9 at ffs_vgetf+0x49 #7 0xc0bdb95e at ffs_vget+0x2e #8 0xc0be73cb at ufs_lookup_ino+0x89b #9 0xc0be777a at ufs_lookup+0x2a #10 0xc0cf40a5 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2db16 at vfs_cache_lookup+0xd6 #12 0xc0cf5e25 at VOP_LOOKUP_APV+0xe5 #13 0xc0a3547b at lookup+0x67b #14 0xc0a362e2 at namei+0x592 #15 0xc0a47a24 at kern_unlinkat+0x54 #16 0xc0a47c7f at kern_unlink+0x2f #17 0xc0a47cb2 at unlink+0x22 ino 16176, on dev md5a 0xc84c0ae0: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () v_object 0xcadde5d8 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7e52b80 (pid 31870) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4ae8f at kern_linkat+0x1df #5 0xc0a4b0be at kern_link+0x3e #6 0xc0a4b0e9 at link+0x29 #7 0xc09eada3 at syscallenter+0x263 #8 0xc0cd24ff at syscall+0x4f #9 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 16178, on dev md5a 0xcc4bd2b8: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () v_object 0xc828a550 ref 0 pages 0 lock type ufs: EXCL by thread 0xc9d75b80 (pid 31903) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3f9 at ffs_vgetf+0x49 #7 0xc0bdb95e at ffs_vget+0x2e #8 0xc0be73cb at ufs_lookup_ino+0x89b #9 0xc0be777a at ufs_lookup+0x2a #10 0xc0cf40a5 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2db16 at vfs_cache_lookup+0xd6 #12 0xc0cf5e25 at VOP_LOOKUP_APV+0xe5 #13 0xc0a3547b at lookup+0x67b #14 0xc0a362e2 at namei+0x592 #15 0xc0a47a24 at kern_unlinkat+0x54 #16 0xc0a47c7f at kern_unlink+0x2f #17 0xc0a47cb2 at unlink+0x22 ino 16177, on dev md5a 0xc84c0414: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () v_object 0xcaddee58 ref 0 pages 0 lock type ufs: EXCL by thread 0xca4f3b80 (pid 31873) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d81 at ffs_lock+0xa1 #2 0xc0cf4ca5 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4ae8f at kern_linkat+0x1df #5 0xc0a4b0be at kern_link+0x3e #6 0xc0a4b0e9 at link+0x29 #7 0xc09eada3 at syscallenter+0x263 #8 0xc0cd24ff at syscall+0x4f #9 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 16183, on dev md5a 0xc8923570: tag ufs, type VNON usecount 1, writecount 0, refcount 1 mountedhere 0 flags () lock type ufs: EXCL by thread 0xc9d11b80 (pid 31860) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0bdb539 at ffs_vgetf+0x189 #2 0xc0bdb95e at ffs_vget+0x2e #3 0xc0bb1630 at ffs_valloc+0x500 #4 0xc0beed73 at ufs_makeinode+0xc3 #5 0xc0bef580 at ufs_create+0x30 #6 0xc0cf5c75 at VOP_CREATE_APV+0xc5 #7 0xc0a4f8e5 at vn_open_cred+0x205 #8 0xc0a4fcfb at vn_open+0x3b #9 0xc0a4e97f at kern_openat+0x12f #10 0xc0a4edc5 at kern_open+0x35 #11 0xc0a4ee00 at open+0x30 #12 0xc09eada3 at syscallenter+0x263 #13 0xc0cd24ff at syscall+0x4f #14 0xc0cbb9c1 at Xint0x80_syscall+0x21 ino 16185, on dev md5a db:0:lockedvnods> show mount 0xc73fab50 /dev/ad4s1a on / (ufs) 0xc73fb000 devfs on /dev (devfs) 0xc775b5a8 /dev/ad4s1f on /home (ufs) 0xc775fb50 /dev/ad4s1d on /usr (ufs) 0xc775f87c /dev/ad4s1e on /var (ufs) 0xc775f5a8 procfs on /proc (procfs) 0xc775f2d4 linprocfs on /usr/compat/linux/proc (linprocfs) 0xc7763b50 /dev/label/tmp on /tmp (ufs) 0xc73fb2d4 /dev/md5a on /mnt (ufs) More info: show mount db:0:mount> ps pid ppid pgrp uid state wmesg wchan cmd 32085 31844 31559 1001 R+ lockf 32084 31845 31559 1001 R+ lockf 32083 31847 31559 1001 S+ lockf 0xc785c7c0 lockf 32076 2387 2384 1001 SW nanslp 0xc1012904 sleep 31906 31904 31559 1001 R+ lockf2 31905 31904 31559 1001 R+ lockf2 31904 31830 31559 1001 SW+ wait 0xcaa6daf0 lockf2 31903 31902 31559 1001 R+ openat 31902 31832 31559 1001 SW+ wait 0xc7f78af0 openat 31901 31899 31559 1001 D+ ufs 0xc8fca724 fts 31900 31899 31559 1001 D+ ufs 0xc8fca724 fts 31899 31834 31559 1001 SW+ wait 0xc9d52578 fts 31898 31879 31559 1001 DL+ swread 0xc29279f0 swap 31897 31879 31559 1001 R+ swap 31896 31887 31559 1001 R+ rw 31895 31887 31559 1001 R+ rw 31894 31887 31559 1001 R+ CPU 0 rw 31893 31879 31559 1001 R+ swap 31892 31887 31559 1001 R+ rw 31891 31879 31559 1001 DL+ swread 0xc27dcc88 swap 31890 31879 31559 1001 R+ swap 31889 31875 31559 1001 D+ ufs 0xc85c2724 mkdir 31888 31879 31559 1001 R+ swap 31887 31833 31559 1001 SW+ wait 0xcb82a834 rw 31886 31875 31559 1001 D+ biowr 0xe089eb40 mkdir 31885 31879 31559 1001 R+ swap 31884 31875 31559 1001 D+ ufs 0xc85c2724 mkdir 31883 31874 31559 1001 SW+ sbwait 0xc7c418d8 mkfifo 31882 31875 31559 1001 D+ ufs 0xc85c2724 mkdir 31881 31875 31559 1001 D+ ufs 0xc85c2724 mkdir 31880 31875 31559 1001 R+ CPU 2 mkdir 31879 31840 31559 1001 SW+ wait 0xcb92e2bc swap 31878 31874 31559 1001 SW+ sbwait 0xcb04b258 mkfifo 31877 31875 31559 1001 D+ ufs 0xc85c2724 mkdir 31876 31874 31559 1001 SW+ sbwait 0xc8129c18 mkfifo 31875 31838 31559 1001 SW+ wait 0xc74d2578 mkdir 31874 31841 31559 1001 SW+ wait 0xc74cfaf0 mkfifo 31873 31846 31559 1001 R+ link 31872 31846 31559 1001 R+ link 31871 31855 31559 1001 R+ rename 31870 31846 31559 1001 R+ link 31869 31855 31559 1001 D+ getblk 0xe0763600 rename 31868 31846 31559 1001 R+ link 31867 31855 31559 1001 R+ rename 31866 31855 31559 1001 R+ CPU 1 rename 31865 31855 31559 1001 R+ rename 31864 31846 31559 1001 R+ link 31863 31855 31559 1001 R+ rename 31862 31846 31559 1001 R+ link 31861 31846 31559 1001 R+ link 31860 31859 31559 1001 R+ creat 31859 31837 31559 1001 SW+ wait 0xc7f7a834 creat 31858 31855 31559 1001 D+ getblk 0xe0763600 rename 31857 31846 31559 1001 R+ link 31856 31846 31559 1001 R+ link 31855 31839 31559 1001 SW+ wait 0xcb92d834 rename 31854 31846 31559 1001 R+ link 31853 31846 31559 1001 D+ getblk 0xe0763600 link 31852 31846 31559 1001 R+ link 31851 31846 31559 1001 R+ link 31850 31846 31559 1001 R+ link 31849 31842 31559 1001 R+ lockf 31848 31842 31559 1001 D+ ufs 0xc85c2724 lockf 31847 31842 31559 1001 R+ lockf 31846 31835 31559 1001 SW+ wait 0xcb92f578 link 31845 31842 31559 1001 R+ lockf 31844 31842 31559 1001 R+ lockf 31843 31842 31559 1001 R+ lockf 31842 31836 31559 1001 SW+ wait 0xcb824578 lockf 31841 31567 31559 1001 S+ nanslp 0xc1012904 mkfifo 31840 31567 31559 1001 S+ nanslp 0xc1012904 swap 31839 31567 31559 1001 S+ nanslp 0xc1012904 rename 31838 31567 31559 1001 R+ mkdir 31837 31567 31559 1001 R+ creat 31836 31567 31559 1001 S+ nanslp 0xc1012904 lockf 31835 31567 31559 1001 S+ nanslp 0xc1012904 link 31834 31567 31559 1001 S+ nanslp 0xc1012904 fts 31833 31567 31559 1001 S+ nanslp 0xc1012904 rw 31832 31567 31559 1001 S+ nanslp 0xc1012904 openat 31830 31567 31559 1001 S+ nanslp 0xc1012904 lockf2 31567 31566 31559 1001 SW+ wait 0xc965c2bc run 31566 31565 31559 1001 SW+ wait 0xc9d4e2bc run 31565 31560 31559 1001 S+ nanslp 0xc1012904 run 31560 31559 31559 1001 SW+ wait 0xc961f834 sh 31559 31558 31559 1001 SW+ wait 0xc961e2bc bash 31558 29406 16330 0 SW+ wait 0xcb9302bc su 29419 0 0 0 DL mdwait 0xc95e4000 [md5] 29406 16331 16330 0 SW+ wait 0xc7e51000 sh 18836 0 0 0 DL crypto_r 0xcee78bcc [crypto returns] 18835 0 0 0 DL crypto_w 0xcee78ba8 [crypto] 16331 16330 16330 0 SW+ wait 0xc8aef578 sh 16330 2318 16330 0 SW+ wait 0xcb934578 sh 8620 8619 8620 1001 Ss+ ttyin 0xcb0a4c70 bash 8619 6362 6362 1001 S select 0xcaf33524 sshd 6362 2140 6362 0 SWs sbwait 0xc794d0b8 sshd 2388 2384 2384 1001 S piperd 0xc77f6c40 awk 2387 2384 2384 1001 SW wait 0xc7e67834 sh 2386 2385 2386 1001 Ss+ select 0xc740a7e4 top 2385 2377 2377 1001 S select 0xc740a8a4 sshd 2384 2383 2384 1001 SWs wait 0xc78c7578 sh 2383 2376 2376 1001 S select 0xc73bd964 sshd 2382 2381 2382 1001 Ss kqread 0xc738de00 tail 2381 2375 2375 1001 S select 0xc7409ca4 sshd 2377 2140 2377 0 SWs sbwait 0xc7bba738 sshd 2376 2140 2376 0 SWs sbwait 0xc77dfa78 sshd 2375 2140 2375 0 SWs sbwait 0xc77df8d8 sshd 2318 2314 2318 0 SW+ wait 0xc745d578 bash 2314 2313 2314 0 SW+ pause 0xc77d6058 csh 2313 2308 2313 1001 SW+ wait 0xc77d6578 su 2308 2307 2308 1001 SWs+ wait 0xc7f782bc bash 2307 2305 2305 1001 S select 0xc6ffee64 sshd 2305 2140 2305 0 SWs sbwait 0xc7c41db8 sshd 2276 1 2276 0 Ss+ ttyin 0xc7182070 getty 2275 1 2275 0 Ss+ ttyin 0xc7182270 getty 2274 1 2274 0 Ss+ ttyin 0xc7182470 getty 2273 1 2273 0 Ss+ ttyin 0xc6f52070 getty 2272 1 2272 0 Ss+ ttyin 0xc6f52270 getty 2271 1 2271 0 Ss+ ttyin 0xc6f52470 getty 2270 1 2270 0 Ss+ ttyin 0xc6f52670 getty 2269 1 2269 0 Ss+ ttyin 0xc6f52870 getty 2268 1 2268 0 Ss+ ttyin 0xc6f52a70 getty 2224 1 2224 0 Ss select 0xc740a8e4 inetd 2189 1 2189 0 Ss nanslp 0xc1012904 watchdogd 2162 1 2162 0 SWs nanslp 0xc1012904 cron 2154 1 2154 25 SWs pause 0xc7e51314 sendmail 2148 1 2148 0 Ss select 0xc7466024 sendmail 2140 1 2140 0 Ss select 0xc7466064 sshd 2080 1 2080 0 Ss select 0xc7409c24 moused 2020 1 2020 0 Ss select 0xc716c524 ntpd 1904 1903 1903 0 R (threaded) nfsd 100135 RunQ nfsd: service 100134 S rpcsvc 0xc6f7f490 nfsd: service 100133 RunQ nfsd: service 100106 S rpcsvc 0xc7bc4d10 nfsd: master 1903 1 1903 0 Ss select 0xc7466724 nfsd 1894 1 1894 0 Ss select 0xc7466764 mountd 1795 1 1795 0 Ss select 0xc7409c64 rpcbind 1715 1 1715 0 DLs swread 0xc27dcbb0 syslogd 1514 1 1514 0 Ss select 0xc74660a4 devd 18 0 0 0 RL CPU 3 [softdepflush] 17 0 0 0 DL syncer 0xc1188a94 [syncer] 16 0 0 0 RL [vnlru] 9 0 0 0 DL psleep 0xc1188728 [bufdaemon] 8 0 0 0 DL pgzero 0xc1190e5c [pagezero] 7 0 0 0 DL psleep 0xc1190a48 [vmdaemon] 6 0 0 0 DL wswbuf0 0xc118f178 [pagedaemon] 5 0 0 0 DL ccb_scan 0xc0fd77d4 [xpt_thrd] 4 0 0 0 DL waiting_ 0xc118a558 [sctp_iterator] 3 0 0 0 DL - 0xc6fe143c [fdc0] 2 0 0 0 SL - 0xc706b000 [fw0_probe] 15 0 0 0 DL (threaded) [usb] 100057 D - 0xc704bd34 [usbus5] 100056 D - 0xc704bd04 [usbus5] 100055 D - 0xc704bcd4 [usbus5] 100054 D - 0xc704bca4 [usbus5] 100052 D - 0xc7040b5c [usbus4] 100051 D - 0xc7040b2c [usbus4] 100050 D - 0xc7040afc [usbus4] 100049 D - 0xc7040acc [usbus4] 100048 D - 0xc7039b5c [usbus3] 100047 D - 0xc7039b2c [usbus3] 100046 D - 0xc7039afc [usbus3] 100045 D - 0xc7039acc [usbus3] 100044 D - 0xc702fb5c [usbus2] 100043 D - 0xc702fb2c [usbus2] 100042 D - 0xc702fafc [usbus2] 100041 D - 0xc702facc [usbus2] 100039 D - 0xc7029b5c [usbus1] 100038 D - 0xc7029b2c [usbus1] 100037 D - 0xc7029afc [usbus1] 100036 D - 0xc7029acc [usbus1] 100034 D - 0xc7019b5c [usbus0] 100033 D - 0xc7019b2c [usbus0] 100032 D - 0xc7019afc [usbus0] 100031 D - 0xc7019acc [usbus0] 14 0 0 0 DL - 0xc1011704 [yarrow] 13 0 0 0 RL (threaded) [geom] 100015 RunQ [g_down] 100014 D - 0xc100f344 [g_up] 100013 D - 0xc100f33c [g_event] 12 0 0 0 WL (threaded) [intr] 100065 I [irq12: psm0] 100064 I [irq1: atkbd0] 100062 I [swi0: uart] 100059 I [irq20: fwohci0] 100058 I [irq14: ata0] 100053 I [irq19: ehci0] 100040 I [irq18: ohci2 ohci4] 100035 I [irq17: ohci1 ohci3] 100030 I [irq16: ohci0] 100029 I [irq22: ahci0] 100028 I [irq256: re0] 100027 I [swi2: cambio] 100021 I [swi6: task queue] 100020 I [swi6: Giant taskq] 100018 I [swi5: +] 100012 I [swi4: clock] 100011 I [swi4: clock] 100010 I [swi4: clock] 100009 I [swi4: clock] 100008 I [swi3: vm] 100007 I [swi1: netisr 0] 11 0 0 0 RL (threaded) [idle] 100006 CanRun [idle: cpu0] 100005 CanRun [idle: cpu1] 100004 CanRun [idle: cpu2] 100003 CanRun [idle: cpu3] 1 0 1 0 SLs wait 0xc6dbdaf0 [init] 10 0 0 0 DL audit_wo 0xc118e780 [audit] 0 0 0 0 DLs (threaded) [kernel] 100076 D - 0xc71853c0 [mca taskq] 100066 D - 0xc1011704 [deadlkres] 100060 D - 0xc7073900 [fw0_taskq] 100026 D - 0xc6d92340 [acpi_task_2] 100025 D - 0xc6d92340 [acpi_task_1] 100024 D - 0xc6d92340 [acpi_task_0] 100023 D - 0xc6d92380 [kqueue taskq] 100022 D - 0xc6d923c0 [ffs_trim taskq] 100019 D - 0xc6d92500 [thread taskq] 100016 D - 0xc6d92a80 [firmware taskq] 100000 D sched 0xc100f420 [swapper] 31945 31878 31559 1001 Z+ mkfifo 31943 31876 31559 1001 Z+ mkfifo 31913 31883 31559 1001 Z+ mkfifo 31831 31567 31559 1001 Z+ symlink db:0:ps> allt Tracing command lockf pid 32085 tid 100114 td 0xc74262e0 sched_switch(c74262e0,0,104,191,f91d389e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(c74262e0,0,c0e8b180,268,cc3e05c8,...) at sleepq_switch+0x162 sleepq_wait(cc3e05c8,60,c0e7c770,4,1,...) at sleepq_wait+0x63 __lockmgr_args(cc3e05c8,200400,cc3e0634,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef257a9c,ef257b3c,0,200400,cc3e0570,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb360,ef257a9c,0,c0fd6320,cc3e0570,...) at VOP_LOCK1_APV+0xb5 _vn_lock(cc3e0570,200400,c0e94066,189,c6d5a340,...) at _vn_lock+0x78 vop_stdadvlock(ef257bd0,c0ed9ac5,c7f75b60,c7f75b60,cc3e0570,...) at vop_stdadvlock+0x44 VOP_ADVLOCK_APV(c0fbb360,ef257bd0,c0e7f500,26d,3,...) at VOP_ADVLOCK_APV+0xd6 kern_fcntl(c74262e0,3,d,ef257c10,0,...) at kern_fcntl+0x95f fcntl(c74262e0,ef257cec,c09cd78c,c101fc30,0,...) at fcntl+0x101 syscallenter(c74262e0,ef257ce4,ef257cc0,c09cfe08,c101fc00,...) at syscallenter+0x263 syscall(ef257d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (92, FreeBSD ELF32, fcntl), eip = 0x28183b6f, esp = 0xbfbfe6ac, ebp = 0xbfbfe6e8 --- Tracing command lockf pid 32084 tid 100229 td 0xc96978a0 sched_switch(c96978a0,0,207,18c,f9195aad,...) at sched_switch+0x3bc mi_switch(207,0,c0e8ba7d,d4,c11e6180,...) at mi_switch+0x219 ast(ef3ffd28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command lockf pid 32083 tid 100373 td 0xcad0fb80 sched_switch(cad0fb80,0,104,191,fa772034,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,74,...) at mi_switch+0x219 sleepq_switch(cad0fb80,0,c0e8b180,1a7,74,...) at sleepq_switch+0x162 sleepq_catch_signals(ef6299c8,c09e76a9,c102daac,0,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c785c7c0,74,ef629a08,100,0,...) at sleepq_wait_sig+0x17 _sleep(c785c7c0,c80ab588,174,c0f9e6a0,0,...) at _sleep+0x35c lf_advlockasync(ef629a9c,c8eeed94,4,0,c0fa9960,...) at lf_advlockasync+0xab1 lf_advlock(ef629bd0,c8eeed94,4,0,1,...) at lf_advlock+0x55 vop_stdadvlock(ef629bd0,c0ed9ac5,c7434230,c7434230,c8eeec3c,...) at vop_stdadvlock+0xb5 VOP_ADVLOCK_APV(c0fbb360,ef629bd0,c0e7f500,26d,3,...) at VOP_ADVLOCK_APV+0xd6 kern_fcntl(cad0fb80,3,d,ef629c10,0,...) at kern_fcntl+0x95f fcntl(cad0fb80,ef629cec,c09cd78c,c1020930,0,...) at fcntl+0x101 syscallenter(cad0fb80,ef629ce4,ef629cc0,c09cfe08,c1020900,...) at syscallenter+0x263 syscall(ef629d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (92, FreeBSD ELF32, fcntl), eip = 0x28183b6f, esp = 0xbfbfe6ac, ebp = 0xbfbfe6e8 --- Tracing command sleep pid 32076 tid 100342 td 0xc7426000 Tracing command lockf2 pid 31906 tid 100176 td 0xc7fe12e0 sched_switch(c7fe12e0,0,602,18c,d3c3d541,...) at sched_switch+0x3bc mi_switch(602,0,c0e8627f,cd,c,...) at mi_switch+0x219 critical_exit(c7fe12e0,0,3,c73274c0,c73274c0,...) at critical_exit+0xa8 ipi_bitmap_handler(8,28,28,0,c73274c0,...) at ipi_bitmap_handler+0x82 Xipi_intr_bitmap_handler() at Xipi_intr_bitmap_handler+0x2f --- interrupt, eip = 0xc099133e, esp = 0xef343a14, ebp = 0xef343a1c --- lf_overlaps(c1010360,c0e828f7,5e8,5e6,c9043310,...) at lf_overlaps+0x1e lf_advlockasync(ef343a9c,c9043410,100000,0,c0fa9960,...) at lf_advlockasync+0xd51 lf_advlock(ef343bd0,c9043410,100000,0,1,...) at lf_advlock+0x55 vop_stdadvlock(ef343bd0,c0ed9ac5,c7f75188,c7f75188,c90432b8,...) at vop_stdadvlock+0xb5 VOP_ADVLOCK_APV(c0fbb360,ef343bd0,c0e7f500,26d,3,...) at VOP_ADVLOCK_APV+0xd6 kern_fcntl(c7fe12e0,3,d,ef343c10,87675,...) at kern_fcntl+0x95f fcntl(c7fe12e0,ef343cec,ef343d28,c0e8babe,0,...) at fcntl+0x101 syscallenter(c7fe12e0,ef343ce4,ef343ce4,0,c1020900,...) at syscallenter+0x263 syscall(ef343d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (92, FreeBSD ELF32, fcntl), eip = 0x28183b6f, esp = 0xbfbfe6cc, ebp = 0xbfbfe708 --- Tracing command lockf2 pid 31905 tid 100326 td 0xcad0f2e0 sched_switch(cad0f2e0,0,207,18c,f95e6f7f,...) at sched_switch+0x3bc mi_switch(207,0,c0e8ba7d,d4,cad0f2e0,...) at mi_switch+0x219 ast(ef588d28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command lockf2 pid 31904 tid 100336 td 0xcacd0b80 Tracing command openat pid 31903 tid 100306 td 0xc9d75b80 sched_switch(c9d75b80,0,103,18c,f91793ae,...) at sched_switch+0x3bc mi_switch(103,0,c0e8bb90,2e1,a68,...) at mi_switch+0x219 turnstile_wait(c7b27300,c6ecc000,0,1ac,c118efa8,...) at turnstile_wait+0x4a4 _mtx_lock_sleep(c118efa8,c9d75b80,0,c0eb851c,10c5,...) at _mtx_lock_sleep+0x14d _mtx_lock_flags(c118efa8,0,c0eb851c,10c5,ceb50b54,...) at _mtx_lock_flags+0xf7 softdep_setup_unlink(cc044d24,ceb50b54,c11574e0,c9d75c30,c0fa0618,...) at softdep_setup_unlink+0x3c ufs_dirremove(c85cd2b8,ceb50b54,500800c,0,c85cd2b8,...) at ufs_dirremove+0x32 ufs_remove(ef52fc00,c0ed9dce,0,0,cc4bd2b8,...) at ufs_remove+0x6e VOP_REMOVE_APV(c0fbb360,ef52fc00,cc4bd2b8,ef52fbd8,c15a9000,...) at VOP_REMOVE_APV+0xf6 kern_unlinkat(c9d75b80,ffffff9c,bfbfe6a8,0,0,...) at kern_unlinkat+0x1fb kern_unlink(c9d75b80,bfbfe6a8,0,ef52fc7c,c09eada3,...) at kern_unlink+0x2f unlink(c9d75b80,ef52fcec,ef52fd28,c0e8babe,0,...) at unlink+0x22 syscallenter(c9d75b80,ef52fce4,ef52fce4,0,c1020280,...) at syscallenter+0x263 syscall(ef52fd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe5fc, ebp = 0xbfbfe738 --- Tracing command openat pid 31902 tid 100171 td 0xc7fe22e0 Tracing command fts pid 31901 tid 100395 td 0xca4fd2e0 sched_switch(ca4fd2e0,0,104,191,d447c596,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca4fd2e0,0,c0e8b180,268,c8fca724,...) at sleepq_switch+0x162 sleepq_wait(c8fca724,60,c0e7c770,4,1,...) at sleepq_wait+0x63 __lockmgr_args(c8fca724,200100,c8fca790,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef67f7a8,c09f23db,c0e941f7,200100,c8fca6cc,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb360,ef67f7a8,ca4fd390,c0fd6320,c8fca6cc,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c8fca6cc,200100,c0e94e92,856,4,...) at _vn_lock+0x78 vget(c8fca6cc,200100,ca4fd2e0,50,0,...) at vget+0xbb vfs_hash_get(c73fb2d4,351f,200000,ca4fd2e0,ef67f918,...) at vfs_hash_get+0xed ffs_vgetf(c73fb2d4,351f,200000,ef67f918,0,...) at ffs_vgetf+0x49 ffs_vget(c73fb2d4,351f,200000,ef67f918,ef67f928,...) at ffs_vget+0x2e ufs_lookup_ino(c85c26cc,ef67fb44,ef67fb58,0,ef67f96c,...) at ufs_lookup_ino+0xbb4 ufs_lookup(ef67f98c,c0ed99d7,c85c26cc,c85c26cc,ef67fb58,...) at ufs_lookup+0x2a VOP_CACHEDLOOKUP_APV(c0fbb360,ef67f98c,ef67fb58,ef67fb44,c7f6fe80,...) at VOP_CACHEDLOOKUP_APV+0xc5 vfs_cache_lookup(ef67fa20,c0e95c03,c0fd5f60,200000,ef67fb2c,...) at vfs_cache_lookup+0xd6 VOP_LOOKUP_APV(c0fbb360,ef67fa20,ef67fb58,1f5,ef67fb44,...) at VOP_LOOKUP_APV+0xe5 lookup(ef67fb2c,c0e942dd,ee,c9,ffffff9c,...) at lookup+0x67b namei(ef67fb2c,c09f23db,c0ebd3a1,c0e7b9d2,3,...) at namei+0x592 kern_statat_vnhook(ca4fd2e0,0,ffffff9c,284765b8,0,...) at kern_statat_vnhook+0x72 kern_statat(ca4fd2e0,0,ffffff9c,284765b8,0,...) at kern_statat+0x3c kern_stat(ca4fd2e0,284765b8,0,ef67fbe8,4ab,...) at kern_stat+0x36 stat(ca4fd2e0,ef67fcec,ef67fd28,c0e8babe,0,...) at stat+0x2f syscallenter(ca4fd2e0,ef67fce4,ef67fce4,0,0,...) at syscallenter+0x263 syscall(ef67fd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (188, FreeBSD ELF32, stat), eip = 0x28185623, esp = 0xbfbfe5fc, ebp = 0xbfbfe678 --- Tracing command fts pid 31900 tid 100316 td 0xc9d55b80 sched_switch(c9d55b80,0,104,191,d422d250,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(c9d55b80,0,c0e8b180,268,c8fca724,...) at sleepq_switch+0x162 sleepq_wait(c8fca724,60,c0e7c770,4,1,...) at sleepq_wait+0x63 __lockmgr_args(c8fca724,200100,c8fca790,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef5577a8,c09f23db,c0e941f7,200100,c8fca6cc,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb360,ef5577a8,c9d55c30,c0fd6320,c8fca6cc,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c8fca6cc,200100,c0e94e92,856,4,...) at _vn_lock+0x78 vget(c8fca6cc,200100,c9d55b80,50,0,...) at vget+0xbb vfs_hash_get(c73fb2d4,351f,200000,c9d55b80,ef557918,...) at vfs_hash_get+0xed ffs_vgetf(c73fb2d4,351f,200000,ef557918,0,...) at ffs_vgetf+0x49 ffs_vget(c73fb2d4,351f,200000,ef557918,ef557928,...) at ffs_vget+0x2e ufs_lookup_ino(c85c26cc,ef557b44,ef557b58,0,ef55796c,...) at ufs_lookup_ino+0xbb4 ufs_lookup(ef55798c,c0ed99d7,c85c26cc,c85c26cc,ef557b58,...) at ufs_lookup+0x2a VOP_CACHEDLOOKUP_APV(c0fbb360,ef55798c,ef557b58,ef557b44,c7f6fe80,...) at VOP_CACHEDLOOKUP_APV+0xc5 vfs_cache_lookup(ef557a20,c0e95c03,c0fd5f60,200000,ef557b2c,...) at vfs_cache_lookup+0xd6 VOP_LOOKUP_APV(c0fbb360,ef557a20,ef557b58,1f5,ef557b44,...) at VOP_LOOKUP_APV+0xe5 lookup(ef557b2c,c0e942dd,ee,c9,ffffff9c,...) at lookup+0x67b namei(ef557b2c,c09f23db,c0ebd3a1,c0e7b9d2,3,...) at namei+0x592 kern_statat_vnhook(c9d55b80,0,ffffff9c,284765b8,0,...) at kern_statat_vnhook+0x72 kern_statat(c9d55b80,0,ffffff9c,284765b8,0,...) at kern_statat+0x3c kern_stat(c9d55b80,284765b8,0,ef557be8,4ab,...) at kern_stat+0x36 stat(c9d55b80,ef557cec,ef557d28,c0e8babe,0,...) at stat+0x2f syscallenter(c9d55b80,ef557ce4,ef557ce4,0,0,...) at syscallenter+0x263 syscall(ef557d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (188, FreeBSD ELF32, stat), eip = 0x28185623, esp = 0xbfbfe5fc, ebp = 0xbfbfe678 --- Tracing command fts pid 31899 tid 100281 td 0xc9d10000 Tracing command swap pid 31898 tid 100307 td 0xc9d758a0 sched_switch(c9d758a0,0,104,191,fa80ec67,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,50,...) at mi_switch+0x219 sleepq_switch(c9d758a0,0,c0e8b180,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c29279f0,50,c0ebcf89,0,0,...) at sleepq_timedwait+0x6b _sleep(c29279f0,c8321330,50,c0ebcf89,4e20,...) at _sleep+0x342 swap_pager_getpages(c8321330,ef533b8c,8,0,ef533c10,...) at swap_pager_getpages+0x3a1 vm_fault_hold(cafd9000,35b7d000,2,0,0,...) at vm_fault_hold+0x104f vm_fault(cafd9000,35b7d000,2,0,35b7d000,...) at vm_fault+0x2f trap_pfault(5,0,c0ed37f6,30d,c9d7c834,...) at trap_pfault+0x10d trap(ef533d28) at trap+0x2c9 calltrap() at calltrap+0x6 --- trap 0xc, eip = 0x8049158, esp = 0xbfbfe720, ebp = 0xbfbfe748 --- Tracing command swap pid 31897 tid 100407 td 0xca4f4b80 sched_switch(ca4f4b80,0,207,18c,b15fb4e8,...) at sched_switch+0x3bc mi_switch(207,0,c0e8ba7d,d4,c11e6180,...) at mi_switch+0x219 ast(ef6b9d28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command rw pid 31896 tid 100370 td 0xcb8495c0 sched_switch(cb8495c0,0,104,191,f9dd8e03,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(cb8495c0,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(e0827160,60,c0e7e0b0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e0827160,81900,ca09ba7c,c0e7e0b0,60,...) at __lockmgr_args+0xb1f getblk(ca09b984,300c0,0,1000,0,...) at getblk+0x167 breadn(ca09b984,300c0,0,1000,0,...) at breadn+0x44 bread(ca09b984,300c0,0,1000,0,...) at bread+0x4c ffs_nodealloccg(c94d0828,3,35b7,0,81b0,...) at ffs_nodealloccg+0x113 ffs_hashalloc(35b7,0,81b0,0,c0bb1940,...) at ffs_hashalloc+0x85 ffs_valloc(c800a828,81b0,c7f6fe80,ef620910,200,...) at ffs_valloc+0x4d3 ufs_makeinode(ef620ba4,c0fbb860,ef620b00,ef620a5c,c0cf5c75,...) at ufs_makeinode+0xc3 ufs_create(ef620b00,c0ed9edb,0,0,ef620b78,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb360,ef620b00,ef620ba4,ef620a98,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef620b78,ef620c2c,1b0,0,c7f6fe80,...) at vn_open_cred+0x205 vn_open(ef620b78,ef620c2c,1b0,c74a3ab8,0,...) at vn_open+0x3b kern_openat(cb8495c0,ffffff9c,bfbfe6b8,0,602,...) at kern_openat+0x12f kern_open(cb8495c0,bfbfe6b8,0,601,1b0,...) at kern_open+0x35 open(cb8495c0,ef620cec,ef620d28,c0e8babe,0,...) at open+0x30 syscallenter(cb8495c0,ef620ce4,ef620ce4,0,c101f580,...) at syscallenter+0x263 syscall(ef620d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x28186683, esp = 0xbfbfd66c, ebp = 0xbfbfd688 --- Tracing command rw pid 31895 tid 100324 td 0xc9626b80 sched_switch(c9626b80,0,602,18c,fd0c319a,...) at sched_switch+0x3bc mi_switch(602,0,c0e8627f,cd,c9626b80,...) at mi_switch+0x219 critical_exit(c11e6180,0,1,c118efa8,0,...) at critical_exit+0xa8 lapic_handle_timer(ef5827e4) at lapic_handle_timer+0x95 Xtimerint() at Xtimerint+0x20 --- interrupt, eip = 0xc0998ac9, esp = 0xef582824, ebp = 0xef582840 --- _mtx_lock_sleep(c118efa8,c9626b80,0,c0eb851c,a92,...) at _mtx_lock_sleep+0x99 _mtx_lock_flags(c118efa8,0,c0eb851c,a92,c803f000,...) at _mtx_lock_flags+0xf7 softdep_prealloc(c803f000,1,0,98,0,...) at softdep_prealloc+0x47 ffs_balloc_ufs2(c803f000,262000,0,1000,c7f6fe80,...) at ffs_balloc_ufs2+0xaa ffs_write(ef582b94,c0ed9e11,c803f000,0,c803f000,...) at ffs_write+0x2ad VOP_WRITE_APV(c0fbb360,ef582b94,c803f000,264,0,...) at VOP_WRITE_APV+0x136 vn_write(c78ef9a0,ef582c28,c7f6fe80,0,c9626b80,...) at vn_write+0x1ca dofilewrite(ef582c28,ffffffff,ffffffff,0,c78ef9a0,...) at dofilewrite+0x95 kern_writev(c9626b80,4,ef582c28,ef582c48,1,...) at kern_writev+0x58 write(c9626b80,ef582cec,ef582d28,c0e8babe,0,...) at write+0x4f syscallenter(c9626b80,ef582ce4,ef582ce4,0,c1020280,...) at syscallenter+0x263 syscall(ef582d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (4, FreeBSD ELF32, write), eip = 0x28195603, esp = 0xbfbfd68c, ebp = 0xbfbfe748 --- Tracing command rw pid 31894 tid 100153 td 0xc7eb6b80 cpustop_handler(1,ef2fe63c,c0cd2616,ee,0,...) at cpustop_handler+0x34 ipi_nmi_handler(ee,0,13aec9e,c0998ac9,c7e692bc,...) at ipi_nmi_handler+0x2f trap(ef2fe648) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0998ac9, esp = 0xef2fe688, ebp = 0xef2fe6a4 --- _mtx_lock_sleep(c118efa8,c7eb6b80,0,c0eb851c,48f,...) at _mtx_lock_sleep+0x99 _mtx_lock_flags(c118efa8,0,c0eb851c,48f,e0827100,...) at _mtx_lock_flags+0xf7 workitem_alloc(3c,c0fb8a98,2,4,ced69800,...) at workitem_alloc+0x3d softdep_setup_blkmapdep(e0827100,c73fb2d4,d1c8,0,8,...) at softdep_setup_blkmapdep+0x4d ffs_alloccgblk(d1c8,0,4000,5b6,0,...) at ffs_alloccgblk+0x2f3 ffs_alloccg(cc3beae0,3,d1c8,0,4000,...) at ffs_alloccg+0x1bb ffs_hashalloc(d1c8,0,4000,4000,c0bb2a20,...) at ffs_hashalloc+0x85 ffs_alloc(cc3beae0,c7,0,d1c8,0,...) at ffs_alloc+0x2ef ffs_balloc_ufs2(ca85e828,31c000,0,1000,c7f6fe80,...) at ffs_balloc_ufs2+0x1b5a ffs_write(ef2feb94,c0ed9e11,ca85e828,0,ca85e828,...) at ffs_write+0x2ad VOP_WRITE_APV(c0fbb360,ef2feb94,ca85e828,264,0,...) at VOP_WRITE_APV+0x136 vn_write(c7807230,ef2fec28,c7f6fe80,0,c7eb6b80,...) at vn_write+0x1ca dofilewrite(ef2fec28,ffffffff,ffffffff,0,c7807230,...) at dofilewrite+0x95 kern_writev(c7eb6b80,4,ef2fec28,ef2fec48,1,...) at kern_writev+0x58 write(c7eb6b80,ef2fecec,ef2fed28,c0e8babe,0,...) at write+0x4f syscallenter(c7eb6b80,ef2fece4,ef2fece4,0,c101f580,...) at syscallenter+0x263 syscall(ef2fed28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (4, FreeBSD ELF32, write), eip = 0x28195603, esp = 0xbfbfd68c, ebp = 0xbfbfe748 --- Tracing command swap pid 31893 tid 100338 td 0xcacd05c0 sched_switch(cacd05c0,0,602,18c,f9ddf3a0,...) at sched_switch+0x3bc mi_switch(602,0,c0e8627f,cd,0,...) at mi_switch+0x219 critical_exit(cacd05c0,0,0,8f0d000,28800000,...) at critical_exit+0xa8 ipi_bitmap_handler(3b,3b,3b,0,28800000,...) at ipi_bitmap_handler+0x82 Xipi_intr_bitmap_handler() at Xipi_intr_bitmap_handler+0x2f --- interrupt, eip = 0x804915c, esp = 0xbfbfe720, ebp = 0xbfbfe748 --- Tracing command rw pid 31892 tid 100388 td 0xc74aeb80 sched_switch(c74aeb80,0,104,191,fa781ad8,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(c74aeb80,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(e0827160,60,c0e7e0b0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e0827160,81900,ca09ba7c,c0e7e0b0,60,...) at __lockmgr_args+0xb1f getblk(ca09b984,300c0,0,1000,0,...) at getblk+0x167 breadn(ca09b984,300c0,0,1000,0,...) at breadn+0x44 bread(ca09b984,300c0,0,1000,0,...) at bread+0x4c ffs_nodealloccg(c884de0c,3,351c,0,81b0,...) at ffs_nodealloccg+0x113 ffs_hashalloc(351c,0,81b0,0,c0bb1940,...) at ffs_hashalloc+0x85 ffs_valloc(ca0a4000,81b0,c7f6fe80,ef660910,200,...) at ffs_valloc+0x4d3 ufs_makeinode(ef660ba4,c0fbb860,ef660b00,ef660a5c,c0cf5c75,...) at ufs_makeinode+0xc3 ufs_create(ef660b00,c0ed9edb,0,0,ef660b78,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb360,ef660b00,ef660ba4,ef660a98,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef660b78,ef660c2c,1b0,0,c7f6fe80,...) at vn_open_cred+0x205 vn_open(ef660b78,ef660c2c,1b0,c78d9d90,0,...) at vn_open+0x3b kern_openat(c74aeb80,ffffff9c,bfbfe6b8,0,602,...) at kern_openat+0x12f kern_open(c74aeb80,bfbfe6b8,0,601,1b0,...) at kern_open+0x35 open(c74aeb80,ef660cec,ef660d28,c0e8babe,0,...) at open+0x30 syscallenter(c74aeb80,ef660ce4,ef660ce4,0,c1020900,...) at syscallenter+0x263 syscall(ef660d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x28186683, esp = 0xbfbfd66c, ebp = 0xbfbfd688 --- Tracing command swap pid 31891 tid 100419 td 0xcbe875c0 sched_switch(cbe875c0,0,104,191,28017c5,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,50,...) at mi_switch+0x219 sleepq_switch(cbe875c0,0,c0e8b180,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c27dcc88,50,c0ebcf89,0,0,...) at sleepq_timedwait+0x6b _sleep(c27dcc88,ca67e770,50,c0ebcf89,4e20,...) at _sleep+0x342 swap_pager_getpages(ca67e770,ef700b8c,8,0,ef700c10,...) at swap_pager_getpages+0x3a1 vm_fault_hold(cf1f0488,3545b000,2,0,0,...) at vm_fault_hold+0x104f vm_fault(cf1f0488,3545b000,2,0,3545b000,...) at vm_fault+0x2f trap_pfault(5,0,c0ed37f6,30d,cb92e834,...) at trap_pfault+0x10d trap(ef700d28) at trap+0x2c9 calltrap() at calltrap+0x6 --- trap 0xc, eip = 0x8049158, esp = 0xbfbfe720, ebp = 0xbfbfe748 --- Tracing command swap pid 31890 tid 100394 td 0xcb8508a0 sched_switch(cb8508a0,0,207,18c,89aad039,...) at sched_switch+0x3bc mi_switch(207,0,c0e8ba7d,d4,c11e6180,...) at mi_switch+0x219 ast(ef676d28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command mkdir pid 31889 tid 100383 td 0xcb8582e0 sched_switch(cb8582e0,0,104,191,e2c4a34d,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(cb8582e0,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(c85c2724,60,c0e7c770,4,0,...) at sleepq_wait+0x63 __lockmgr_args(c85c2724,400400,c85c2790,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef64ea90,c85c26cc,ef64ea7c,400400,c85c26cc,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb360,ef64ea90,ef64ea98,c0fd6320,c85c26cc,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c85c26cc,400400,c0e942dd,2a6,ef64ebc8,...) at _vn_lock+0x78 lookup(ef64ebb0,c0e942dd,ee,c9,ffffff9c,...) at lookup+0x604 namei(ef64ebb0,0,cc5d02b8,ef64ebb4,bfbfe33f,...) at namei+0x592 kern_rmdirat(cb8582e0,ffffff9c,bfbfe33f,0,ef64ec50,...) at kern_rmdirat+0x54 kern_rmdir(cb8582e0,bfbfe33f,0,ef64ec7c,c09eada3,...) at kern_rmdir+0x27 rmdir(cb8582e0,ef64ecec,ef64ed28,c0e8babe,0,...) at rmdir+0x22 syscallenter(cb8582e0,ef64ece4,ef64ece4,0,c101f580,...) at syscallenter+0x263 syscall(ef64ed28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (137, FreeBSD ELF32, rmdir), eip = 0x280ee92b, esp = 0xbfbfdedc, ebp = 0xbfbfe318 --- Tracing command swap pid 31888 tid 100096 td 0xc74ac2e0 sched_switch(c74ac2e0,0,602,18c,cda1aab8,...) at sched_switch+0x3bc mi_switch(602,0,c0e8627f,cd,8,...) at mi_switch+0x219 critical_exit(c74ac2e0,0,2,1aa1000,28800000,...) at critical_exit+0xa8 ipi_bitmap_handler(3b,3b,3b,0,28800000,...) at ipi_bitmap_handler+0x82 Xipi_intr_bitmap_handler() at Xipi_intr_bitmap_handler+0x2f --- interrupt, eip = 0x804915c, esp = 0xbfbfe720, ebp = 0xbfbfe748 --- Tracing command rw pid 31887 tid 100345 td 0xc71728a0 Tracing command mkdir pid 31886 tid 100289 td 0xc9d54b80 sched_switch(c9d54b80,0,104,191,fa86e9a9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c9d54b80,0,c0e8b180,268,0,...) at sleepq_switch+0x162 sleepq_wait(e089eb40,5c,c0e9289b,0,0,...) at sleepq_wait+0x63 _sleep(e089eb40,c6d754fc,5c,c0e9289b,0,...) at _sleep+0x372 bwait(e089eb40,5c,c0e9289b,e089eb40,ef4fc684,...) at bwait+0x6f bufwait(e089eb40,e089eb40,df,e089eb40,e4f181a0,...) at bufwait+0x48 bufwrite(e089eb40,0,c0ebb24c,767,0) at bufwrite+0x165 ffs_bufwrite(e089eb40,0,c0eb851c,c25,c09f3266,...) at ffs_bufwrite+0x290 softdep_process_journal(c0eb851c,18a7,0,c86a015c,e094f520,...) at softdep_process_journal+0x7a8 jwait(c118efa8,4,c0eb851c,1907,800,...) at jwait+0x2a trunc_dependencies(ffffffff,ffffffff,0,800,0,...) at trunc_dependencies+0x3ec softdep_journal_freeblocks(ca4b6414,0,0,0,800,...) at softdep_journal_freeblocks+0xdfb ffs_truncate(c86a015c,0,0,c00,0,...) at ffs_truncate+0x94e ufs_inactive(ef4fcb3c,c0ed93eb,c86a0220,c86a0220,c86a015c,...) at ufs_inactive+0x21d VOP_INACTIVE_APV(c0fbb360,ef4fcb3c,c0e94e92,94e,c0fd62e0,...) at VOP_INACTIVE_APV+0xc5 vinactive(c0fbb360,ef4fcb70,c0e94e92,8a5,0,...) at vinactive+0xb1 vputx(ef4fcc24,c0a4693d,c86a015c,ffffffdf,2,...) at vputx+0x36c vput(c86a015c,ffffffdf,2,ef4fcbdc,bfbfac07,...) at vput+0x10 kern_rmdirat(c9d54b80,ffffff9c,bfbfac07,0,ef4fcc50,...) at kern_rmdirat+0x1cd kern_rmdir(c9d54b80,bfbfac07,0,ef4fcc7c,c09eada3,...) at kern_rmdir+0x27 rmdir(c9d54b80,ef4fccec,ef4fcd28,c0e8babe,0,...) at rmdir+0x22 syscallenter(c9d54b80,ef4fcce4,ef4fcce4,0,c101f580,...) at syscallenter+0x263 syscall(ef4fcd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (137, FreeBSD ELF32, rmdir), eip = 0x280ee92b, esp = 0xbfbfa79c, ebp = 0xbfbfabd8 --- Tracing command swap pid 31885 tid 100264 td 0xc9cad000 sched_switch(c9cad000,0,602,18c,f9dde323,...) at sched_switch+0x3bc mi_switch(602,0,c0e8627f,cd,4,...) at mi_switch+0x219 critical_exit(c9cad000,0,1,b6f1000,28800000,...) at critical_exit+0xa8 ipi_bitmap_handler(3b,3b,3b,0,28800000,...) at ipi_bitmap_handler+0x82 Xipi_intr_bitmap_handler() at Xipi_intr_bitmap_handler+0x2f --- interrupt, eip = 0x804915c, esp = 0xbfbfe720, ebp = 0xbfbfe748 --- Tracing command mkdir pid 31884 tid 100155 td 0xc7eb65c0 sched_switch(c7eb65c0,0,104,191,f233ef1f,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7eb65c0,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(c85c2724,60,c0e7c770,4,0,...) at sleepq_wait+0x63 __lockmgr_args(c85c2724,400400,c85c2790,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef304a90,c85c26cc,ef304a7c,400400,c85c26cc,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb360,ef304a90,ef304a98,c0fd6320,c85c26cc,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c85c26cc,400400,c0e942dd,2a6,ef304bc8,...) at _vn_lock+0x78 lookup(ef304bb0,c0e942dd,ee,c9,ffffff9c,...) at lookup+0x604 namei(ef304bb0,0,c9b70984,ef304bb4,bfbfe33f,...) at namei+0x592 kern_rmdirat(c7eb65c0,ffffff9c,bfbfe33f,0,ef304c50,...) at kern_rmdirat+0x54 kern_rmdir(c7eb65c0,bfbfe33f,0,ef304c7c,c09eada3,...) at kern_rmdir+0x27 rmdir(c7eb65c0,ef304cec,ef304d28,c0e8babe,0,...) at rmdir+0x22 syscallenter(c7eb65c0,ef304ce4,ef304ce4,0,c101f580,...) at syscallenter+0x263 syscall(ef304d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (137, FreeBSD ELF32, rmdir), eip = 0x280ee92b, esp = 0xbfbfdedc, ebp = 0xbfbfe318 --- Tracing command mkfifo pid 31883 tid 100401 td 0xcbe43000 Tracing command mkdir pid 31882 tid 100099 td 0xc74aa8a0 sched_switch(c74aa8a0,0,104,191,d4261fa8,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(c74aa8a0,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(c85c2724,60,c0e7c770,4,0,...) at sleepq_wait+0x63 __lockmgr_args(c85c2724,400400,c85c2790,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef1faa90,c85c26cc,ef1faa7c,400400,c85c26cc,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb360,ef1faa90,ef1faa98,c0fd6320,c85c26cc,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c85c26cc,400400,c0e942dd,2a6,ef1fabc8,...) at _vn_lock+0x78 lookup(ef1fabb0,c0e942dd,ee,c9,ffffff9c,...) at lookup+0x604 namei(ef1fabb0,0,cc0db6cc,ef1fabb4,bfbfe33f,...) at namei+0x592 kern_rmdirat(c74aa8a0,ffffff9c,bfbfe33f,0,ef1fac50,...) at kern_rmdirat+0x54 kern_rmdir(c74aa8a0,bfbfe33f,0,ef1fac7c,c09eada3,...) at kern_rmdir+0x27 rmdir(c74aa8a0,ef1facec,c09cd78c,c10202b0,0,...) at rmdir+0x22 syscallenter(c74aa8a0,ef1face4,ef1facc0,c09cfe08,c1020280,...) at syscallenter+0x263 syscall(ef1fad28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (137, FreeBSD ELF32, rmdir), eip = 0x280ee92b, esp = 0xbfbfdedc, ebp = 0xbfbfe318 --- Tracing command mkdir pid 31881 tid 100323 td 0xc9650000 sched_switch(c9650000,0,104,191,fa7bd73f,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(c9650000,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(c85c2724,60,c0e7c770,4,0,...) at sleepq_wait+0x63 __lockmgr_args(c85c2724,400400,c85c2790,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef57fa90,c85c26cc,ef57fa7c,400400,c85c26cc,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb360,ef57fa90,ef57fa98,c0fd6320,c85c26cc,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c85c26cc,400400,c0e942dd,2a6,ef57fbc8,...) at _vn_lock+0x78 lookup(ef57fbb0,c0e942dd,ee,c9,ffffff9c,...) at lookup+0x604 namei(ef57fbb0,0,c747bae0,ef57fbb4,bfbfe33f,...) at namei+0x592 kern_rmdirat(c9650000,ffffff9c,bfbfe33f,0,ef57fc50,...) at kern_rmdirat+0x54 kern_rmdir(c9650000,bfbfe33f,0,ef57fc7c,c09eada3,...) at kern_rmdir+0x27 rmdir(c9650000,ef57fcec,ef57fd28,c0e8babe,0,...) at rmdir+0x22 syscallenter(c9650000,ef57fce4,ef57fce4,0,c101f580,...) at syscallenter+0x263 syscall(ef57fd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (137, FreeBSD ELF32, rmdir), eip = 0x280ee92b, esp = 0xbfbfdedc, ebp = 0xbfbfe318 --- Tracing command mkdir pid 31880 tid 100391 td 0xcbe43b80 cpustop_handler(4,ef66b500,c0cd2616,ef66b48c,c09f23db,...) at cpustop_handler+0x34 ipi_nmi_handler(ef66b48c,c09f23db,c0eb8525,c0e7b9d2,cb930834,...) at ipi_nmi_handler+0x2f trap(ef66b50c) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0cc76d3, esp = 0xef66b54c, ebp = 0xef66b56c --- smp_tlb_shootdown(ef66b594,c0cc9d6f,e5edc000,e5ee0000,c6d75588,...) at smp_tlb_shootdown+0x93 smp_invlpg_range(e5edc000,e5ee0000,c6d75588,0,e5ee0000,...) at smp_invlpg_range+0x1c pmap_invalidate_range(c11b0540,e5edc000,e5ee0000) at pmap_invalidate_range+0x4f pmap_qremove(e5edc000,4,ef66b600,246,0,...) at pmap_qremove+0x54 allocbuf(e09052e0,0,c0a256b5,c6d75588,0,...) at allocbuf+0x18d brelse(e09052e0,e09052e0,df,e09052e0,e5edd940,...) at brelse+0x172 bufwrite(e09052e0,0,c0ebb24c,767,0) at bufwrite+0x16f ffs_bufwrite(e09052e0,0,c0eb851c,c25,c09f3266,...) at ffs_bufwrite+0x290 softdep_process_journal(c0eb851c,18a7,0,c8d84984,e08be980,...) at softdep_process_journal+0x7a8 jwait(c118efa8,4,c0eb851c,1907,800,...) at jwait+0x2a trunc_dependencies(ffffffff,ffffffff,0,800,0,...) at trunc_dependencies+0x3ec softdep_journal_freeblocks(c86e27b4,0,0,0,800,...) at softdep_journal_freeblocks+0xdfb ffs_truncate(c8d84984,0,0,c00,0,...) at ffs_truncate+0x94e ufs_inactive(ef66bb3c,c0ed93eb,c8d84a48,c8d84a48,c8d84984,...) at ufs_inactive+0x21d VOP_INACTIVE_APV(c0fbb360,ef66bb3c,c0e94e92,94e,c0fd62e0,...) at VOP_INACTIVE_APV+0xc5 vinactive(c0fbb360,ef66bb70,c0e94e92,8a5,0,...) at vinactive+0xb1 vputx(ef66bc24,c0a4693d,c8d84984,ffffffdf,2,...) at vputx+0x36c vput(c8d84984,ffffffdf,2,ef66bbdc,bfbfd687,...) at vput+0x10 kern_rmdirat(cbe43b80,ffffff9c,bfbfd687,0,ef66bc50,...) at kern_rmdirat+0x1cd kern_rmdir(cbe43b80,bfbfd687,0,ef66bc7c,c09eada3,...) at kern_rmdir+0x27 rmdir(cbe43b80,ef66bcec,ef66bd28,c0e8babe,0,...) at rmdir+0x22 syscallenter(cbe43b80,ef66bce4,ef66bce4,0,c101f580,...) at syscallenter+0x263 syscall(ef66bd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (137, FreeBSD ELF32, rmdir), eip = 0x280ee92b, esp = 0xbfbfd21c, ebp = 0xbfbfd658 --- Tracing command swap pid 31879 tid 100421 td 0xcbe87000 Tracing command mkfifo pid 31878 tid 100318 td 0xc7b1cb80 Tracing command mkdir pid 31877 tid 100178 td 0xc7fe0b80 sched_switch(c7fe0b80,0,104,191,e2a57332,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7fe0b80,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(c85c2724,60,c0e7c770,4,0,...) at sleepq_wait+0x63 __lockmgr_args(c85c2724,400400,c85c2790,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef349a90,c85c26cc,ef349a7c,400400,c85c26cc,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb360,ef349a90,ef349a98,c0fd6320,c85c26cc,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c85c26cc,400400,c0e942dd,2a6,ef349bc8,...) at _vn_lock+0x78 lookup(ef349bb0,c0e942dd,ee,c9,ffffff9c,...) at lookup+0x604 namei(ef349bb0,0,c877fc3c,ef349bb4,bfbfe33f,...) at namei+0x592 kern_rmdirat(c7fe0b80,ffffff9c,bfbfe33f,0,ef349c50,...) at kern_rmdirat+0x54 kern_rmdir(c7fe0b80,bfbfe33f,0,ef349c7c,c09eada3,...) at kern_rmdir+0x27 rmdir(c7fe0b80,ef349cec,ef349d28,c0e8babe,0,...) at rmdir+0x22 syscallenter(c7fe0b80,ef349ce4,ef349ce4,0,c101f580,...) at syscallenter+0x263 syscall(ef349d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (137, FreeBSD ELF32, rmdir), eip = 0x280ee92b, esp = 0xbfbfdedc, ebp = 0xbfbfe318 --- Tracing command mkfifo pid 31876 tid 100397 td 0xca4fcb80 Tracing command mkdir pid 31875 tid 100105 td 0xc74a95c0 Tracing command mkfifo pid 31874 tid 100130 td 0xc74d62e0 Tracing command link pid 31873 tid 100412 td 0xca4f3b80 sched_switch(ca4f3b80,0,104,191,f917ae6a,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca4f3b80,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(e096b120,60,c0e7e0b0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e096b120,81900,ca09ba7c,c0e7e0b0,60,...) at __lockmgr_args+0xb1f getblk(ca09b984,30860,0,4000,0,...) at getblk+0x167 breadn(ca09b984,30860,0,4000,0,...) at breadn+0x44 bread(ca09b984,30860,0,4000,0,...) at bread+0x4c ffs_update(c84c0414,0,ef6cd9d0,c0cd008d,ef6cda8c,...) at ffs_update+0x172 ufs_link(ef6cdbf4,c0ed9d8e,0,0,c84c0414,...) at ufs_link+0x12c VOP_LINK_APV(c0fbb360,ef6cdbf4,c84c0414,ef6cdbcc,0,...) at VOP_LINK_APV+0xf6 kern_linkat(ca4f3b80,ffffff9c,ffffff9c,bfbfe638,bfbfe6b8,...) at kern_linkat+0x2fa kern_link(ca4f3b80,bfbfe638,bfbfe6b8,0,ef6cdc7c,...) at kern_link+0x3e link(ca4f3b80,ef6cdcec,ef6cdd28,c0e8babe,0,...) at link+0x29 syscallenter(ca4f3b80,ef6cdce4,ef6cdce4,0,c101f580,...) at syscallenter+0x263 syscall(ef6cdd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (9, FreeBSD ELF32, link), eip = 0x280eee6b, esp = 0xbfbfe60c, ebp = 0xbfbfe748 --- Tracing command link pid 31872 tid 100382 td 0xcb8585c0 sched_switch(cb8585c0,0,104,191,f9f57e5c,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(cb8585c0,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(e096b120,60,c0e7e0b0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e096b120,81900,ca09ba7c,c0e7e0b0,60,...) at __lockmgr_args+0xb1f getblk(ca09b984,30860,0,4000,0,...) at getblk+0x167 breadn(ca09b984,30860,0,4000,0,...) at breadn+0x44 bread(ca09b984,30860,0,4000,0,...) at bread+0x4c ffs_update(c84c015c,0,ef64a9d0,c0cd008d,ef64aa8c,...) at ffs_update+0x172 ufs_link(ef64abf4,c0ed9d8e,0,0,c84c015c,...) at ufs_link+0x12c VOP_LINK_APV(c0fbb360,ef64abf4,c84c015c,ef64abcc,0,...) at VOP_LINK_APV+0xf6 kern_linkat(cb8585c0,ffffff9c,ffffff9c,bfbfe638,bfbfe6b8,...) at kern_linkat+0x2fa kern_link(cb8585c0,bfbfe638,bfbfe6b8,0,ef64ac7c,...) at kern_link+0x3e link(cb8585c0,ef64acec,c09cd78c,c101f5b0,0,...) at link+0x29 syscallenter(cb8585c0,ef64ace4,ef64acc0,c09cfe08,c101f580,...) at syscallenter+0x263 syscall(ef64ad28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (9, FreeBSD ELF32, link), eip = 0x280eee6b, esp = 0xbfbfe60c, ebp = 0xbfbfe748 --- Tracing command rename pid 31871 tid 100118 td 0xc78ce2e0 sched_switch(c78ce2e0,0,103,18c,f9190f29,...) at sched_switch+0x3bc mi_switch(103,0,c0e8bb90,2e1,a68,...) at mi_switch+0x219 turnstile_wait(c7b27300,c6ecc000,0,1ac,c118efa8,...) at turnstile_wait+0x4a4 _mtx_lock_sleep(c118efa8,c78ce2e0,0,c0eb851c,10c5,...) at _mtx_lock_sleep+0x14d _mtx_lock_flags(c118efa8,0,c0eb851c,10c5,c954d0e8,...) at _mtx_lock_flags+0xf7 softdep_setup_unlink(ca472cb0,c954d0e8,800,c954d0e8,2030,...) at softdep_setup_unlink+0x3c ufs_dirremove(c9046d98,c954d0e8,500940c,0,0,...) at ufs_dirremove+0x32 ufs_rename(ef26cbec,0,cbf88570,ef26cb98,0,...) at ufs_rename+0x115d VOP_RENAME_APV(c0fbb360,ef26cbec,0,1,ef26cb70,...) at VOP_RENAME_APV+0xa5 kern_renameat(c78ce2e0,ffffff9c,bfbfe628,ffffff9c,bfbfe6a8,...) at kern_renameat+0x307 kern_rename(c78ce2e0,bfbfe628,bfbfe6a8,0,ef26cc7c,...) at kern_rename+0x36 rename(c78ce2e0,ef26ccec,ef26cd28,c0e8babe,0,...) at rename+0x29 syscallenter(c78ce2e0,ef26cce4,ef26cce4,0,0,...) at syscallenter+0x263 syscall(ef26cd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee98b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command link pid 31870 tid 100165 td 0xc7e52b80 sched_switch(c7e52b80,0,104,191,f91872fd,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7e52b80,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(e096b120,60,c0e7e0b0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e096b120,81900,ca09ba7c,c0e7e0b0,60,...) at __lockmgr_args+0xb1f getblk(ca09b984,30860,0,4000,0,...) at getblk+0x167 breadn(ca09b984,30860,0,4000,0,...) at breadn+0x44 bread(ca09b984,30860,0,4000,0,...) at bread+0x4c ffs_update(c84c0ae0,0,ef3229d0,c0cd008d,ef322a8c,...) at ffs_update+0x172 ufs_link(ef322bf4,c0ed9d8e,0,0,c84c0ae0,...) at ufs_link+0x12c VOP_LINK_APV(c0fbb360,ef322bf4,c84c0ae0,ef322bcc,0,...) at VOP_LINK_APV+0xf6 kern_linkat(c7e52b80,ffffff9c,ffffff9c,bfbfe638,bfbfe6b8,...) at kern_linkat+0x2fa kern_link(c7e52b80,bfbfe638,bfbfe6b8,0,ef322c7c,...) at kern_link+0x3e link(c7e52b80,ef322cec,ef322d28,c0e8babe,0,...) at link+0x29 syscallenter(c7e52b80,ef322ce4,ef322ce4,0,c101f580,...) at syscallenter+0x263 syscall(ef322d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (9, FreeBSD ELF32, link), eip = 0x280eee6b, esp = 0xbfbfe60c, ebp = 0xbfbfe748 --- Tracing command rename pid 31869 tid 100201 td 0xc96528a0 sched_switch(c96528a0,0,104,191,f91987b2,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(c96528a0,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(e0763600,60,c0e7e0b0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e0763600,81900,ca09ba7c,c0e7e0b0,60,...) at __lockmgr_args+0xb1f getblk(ca09b984,303c0,0,4000,0,...) at getblk+0x167 breadn(ca09b984,303c0,0,4000,0,...) at breadn+0x44 bread(ca09b984,303c0,0,4000,0,...) at bread+0x4c ffs_update(c87dcd98,1,c0ebb859,163,0,...) at ffs_update+0x172 ffs_syncvnode(c87dcd98,1,c0eb851c,ac0,c8154600,...) at ffs_syncvnode+0x48f softdep_prelink(c118efa8,0,c0eb851c,106c,c8c70e0c,...) at softdep_prelink+0xa3 softdep_setup_link(c801d5e4,c8c70e0c,ef38eb70,ef38e9d4,0,...) at softdep_setup_link+0xc2 ufs_rename(ef38ebec,0,ca6e92b8,ef38eb98,0,...) at ufs_rename+0xb41 VOP_RENAME_APV(c0fbb360,ef38ebec,0,1,ef38eb70,...) at VOP_RENAME_APV+0xa5 kern_renameat(c96528a0,ffffff9c,bfbfe6a8,ffffff9c,bfbfe628,...) at kern_renameat+0x307 kern_rename(c96528a0,bfbfe6a8,bfbfe628,0,ef38ec7c,...) at kern_rename+0x36 rename(c96528a0,ef38ecec,c09cd78c,c1020930,0,...) at rename+0x29 syscallenter(c96528a0,ef38ece4,ef38ecc0,c09cfe08,c1020900,...) at syscallenter+0x263 syscall(ef38ed28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee98b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command link pid 31868 tid 100285 td 0xc9d558a0 sched_switch(c9d558a0,0,207,18c,fa882837,...) at sched_switch+0x3bc mi_switch(207,0,c0e8ba7d,d4,c11e6180,...) at mi_switch+0x219 ast(ef4f0d28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command rename pid 31867 tid 100202 td 0xc96525c0 sched_switch(c96525c0,0,103,18c,fa766610,...) at sched_switch+0x3bc mi_switch(103,0,c0e8bb90,2e1,a68,...) at mi_switch+0x219 turnstile_wait(c7428c80,c6ecc000,0,1ac,c118efa8,...) at turnstile_wait+0x4a4 _mtx_lock_sleep(c118efa8,c96525c0,0,c0eb851c,48f,...) at _mtx_lock_sleep+0x14d _mtx_lock_flags(c118efa8,0,c0eb851c,48f,c73ebac0,...) at _mtx_lock_flags+0xf7 workitem_alloc(3c,c0fb8ac8,2,81b0,1,...) at workitem_alloc+0x3d newjaddref(0,0,1,81b0,cc360cb0,...) at newjaddref+0x4e softdep_setup_link(c8d40570,cc360cb0,ef391b70,ef3919d4,0,...) at softdep_setup_link+0x52 ufs_rename(ef391bec,0,c8ef3000,ef391b98,0,...) at ufs_rename+0xb41 VOP_RENAME_APV(c0fbb360,ef391bec,0,1,ef391b70,...) at VOP_RENAME_APV+0xa5 kern_renameat(c96525c0,ffffff9c,bfbfe6a8,ffffff9c,bfbfe628,...) at kern_renameat+0x307 kern_rename(c96525c0,bfbfe6a8,bfbfe628,0,ef391c7c,...) at kern_rename+0x36 rename(c96525c0,ef391cec,ef391d28,c0e8babe,0,...) at rename+0x29 syscallenter(c96525c0,ef391ce4,ef391ce4,0,c1020280,...) at syscallenter+0x263 syscall(ef391d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee98b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command rename pid 31866 tid 100209 td 0xc7eb72e0 cpustop_handler(2,ef3ad858,c0cd2616,ee,0,...) at cpustop_handler+0x34 ipi_nmi_handler(ee,0,1ae0c00,c0998ae6,c965d834,...) at ipi_nmi_handler+0x2f trap(ef3ad864) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0998ac9, esp = 0xef3ad8a4, ebp = 0xef3ad8c0 --- _mtx_lock_sleep(c118efa8,c7eb72e0,0,c0eb851c,48f,...) at _mtx_lock_sleep+0x99 _mtx_lock_flags(c118efa8,0,c0eb851c,48f,caf33280,...) at _mtx_lock_flags+0xf7 workitem_alloc(3c,c0fb8ac8,2,81b0,1,...) at workitem_alloc+0x3d newjaddref(0,0,1,81b0,c82e6cb0,...) at newjaddref+0x4e softdep_setup_link(ca30de0c,c82e6cb0,ef3adb70,ef3ad9d4,0,...) at softdep_setup_link+0x52 ufs_rename(ef3adbec,0,c8183ae0,ef3adb98,0,...) at ufs_rename+0xb41 VOP_RENAME_APV(c0fbb360,ef3adbec,0,1,ef3adb70,...) at VOP_RENAME_APV+0xa5 kern_renameat(c7eb72e0,ffffff9c,bfbfe628,ffffff9c,bfbfe6a8,...) at kern_renameat+0x307 kern_rename(c7eb72e0,bfbfe628,bfbfe6a8,0,ef3adc7c,...) at kern_rename+0x36 rename(c7eb72e0,ef3adcec,ef3add28,c0e8babe,0,...) at rename+0x29 syscallenter(c7eb72e0,ef3adce4,ef3adce4,0,c101fc00,...) at syscallenter+0x263 syscall(ef3add28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee98b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command rename pid 31865 tid 100268 td 0xc96982e0 sched_switch(c96982e0,0,103,18c,f91cb44d,...) at sched_switch+0x3bc mi_switch(103,0,c0e8bb90,2e1,a68,...) at mi_switch+0x219 turnstile_wait(c7b27300,c6ecc000,0,1ac,c118efa8,...) at turnstile_wait+0x4a4 _mtx_lock_sleep(c118efa8,c96982e0,0,c0eb851c,2b04,...) at _mtx_lock_sleep+0x14d _mtx_lock_flags(c118efa8,0,c0eb851c,2b04,c73fb2d4,...) at _mtx_lock_flags+0xf7 softdep_update_inodeblock(cc0f915c,e07ee4a0,0,4000,0,...) at softdep_update_inodeblock+0xd4 ffs_update(c87d72b8,0,c0eb851c,2288,0,...) at ffs_update+0x1aa handle_workitem_remove(0,ef4b48f8,2,65e,1,...) at handle_workitem_remove+0x4d3 process_worklist_item(c118efa8,0,c0eb851c,ac4,c8156a40,...) at process_worklist_item+0x203 softdep_prelink(c118efa8,0,c0eb851c,106c,c96ca2b8,...) at softdep_prelink+0x12f softdep_setup_link(c84abae0,c96ca2b8,ef4b4b70,ef4b49d4,0,...) at softdep_setup_link+0xc2 ufs_rename(ef4b4bec,0,ca35cae0,ef4b4b98,0,...) at ufs_rename+0xb41 VOP_RENAME_APV(c0fbb360,ef4b4bec,0,1,ef4b4b70,...) at VOP_RENAME_APV+0xa5 kern_renameat(c96982e0,ffffff9c,bfbfe6a8,ffffff9c,bfbfe628,...) at kern_renameat+0x307 kern_rename(c96982e0,bfbfe6a8,bfbfe628,0,ef4b4c7c,...) at kern_rename+0x36 rename(c96982e0,ef4b4cec,ef4b4d28,c0e8babe,0,...) at rename+0x29 syscallenter(c96982e0,ef4b4ce4,ef4b4ce4,0,c1020900,...) at syscallenter+0x263 syscall(ef4b4d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee98b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command link pid 31864 tid 100411 td 0xca4f4000 sched_switch(ca4f4000,0,104,191,f9f5af2c,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca4f4000,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(e096b120,60,c0e7e0b0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e096b120,81900,ca09ba7c,c0e7e0b0,60,...) at __lockmgr_args+0xb1f getblk(ca09b984,30860,0,4000,0,...) at getblk+0x167 breadn(ca09b984,30860,0,4000,0,...) at breadn+0x44 bread(ca09b984,30860,0,4000,0,...) at bread+0x4c ffs_update(ca567570,0,ef6c99d0,c0cd008d,ef6c9a8c,...) at ffs_update+0x172 ufs_link(ef6c9bf4,c0ed9d8e,0,0,ca567570,...) at ufs_link+0x12c VOP_LINK_APV(c0fbb360,ef6c9bf4,ca567570,ef6c9bcc,0,...) at VOP_LINK_APV+0xf6 kern_linkat(ca4f4000,ffffff9c,ffffff9c,bfbfe638,bfbfe6b8,...) at kern_linkat+0x2fa kern_link(ca4f4000,bfbfe638,bfbfe6b8,0,ef6c9c7c,...) at kern_link+0x3e link(ca4f4000,ef6c9cec,ef6c9d28,c0e8babe,0,...) at link+0x29 syscallenter(ca4f4000,ef6c9ce4,ef6c9ce4,0,74b,...) at syscallenter+0x263 syscall(ef6c9d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (9, FreeBSD ELF32, link), eip = 0x280eee6b, esp = 0xbfbfe60c, ebp = 0xbfbfe748 --- Tracing command rename pid 31863 tid 100270 td 0xc9d122e0 sched_switch(c9d122e0,0,103,18c,f9194bc5,...) at sched_switch+0x3bc mi_switch(103,0,c0e8bb90,2e1,a68,...) at mi_switch+0x219 turnstile_wait(c7b27300,c6ecc000,0,1ac,c118efa8,...) at turnstile_wait+0x4a4 _mtx_lock_sleep(c118efa8,c9d122e0,0,c0eb851c,2b04,...) at _mtx_lock_sleep+0x14d _mtx_lock_flags(c118efa8,0,c0eb851c,2b04,c73fb2d4,...) at _mtx_lock_flags+0xf7 softdep_update_inodeblock(ca4729f8,e07635a0,1,4000,0,...) at softdep_update_inodeblock+0xd4 ffs_update(c8318828,1,c0ebb859,163,0,...) at ffs_update+0x1aa ffs_syncvnode(c8318828,1,c0eb851c,ac0,ca4729f8,...) at ffs_syncvnode+0x48f softdep_prelink(c118efa8,0,c0eb851c,10c5,c7fcb658,...) at softdep_prelink+0xa3 softdep_setup_unlink(ca4729f8,c7fcb658,800,c7fcb658,1718,...) at softdep_setup_unlink+0x54 ufs_dirremove(c8318828,c7fcb658,500940c,0,0,...) at ufs_dirremove+0x32 ufs_rename(ef4c3bec,0,c9db9c3c,ef4c3b98,0,...) at ufs_rename+0x115d VOP_RENAME_APV(c0fbb360,ef4c3bec,0,1,ef4c3b70,...) at VOP_RENAME_APV+0xa5 kern_renameat(c9d122e0,ffffff9c,bfbfe628,ffffff9c,bfbfe6a8,...) at kern_renameat+0x307 kern_rename(c9d122e0,bfbfe628,bfbfe6a8,0,ef4c3c7c,...) at kern_rename+0x36 rename(c9d122e0,ef4c3cec,ef4c3d28,c0e8babe,0,...) at rename+0x29 syscallenter(c9d122e0,ef4c3ce4,ef4c3ce4,0,c101f580,...) at syscallenter+0x263 syscall(ef4c3d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee98b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command link pid 31862 tid 100434 td 0xca4f25c0 sched_switch(ca4f25c0,0,104,191,f917cb1a,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca4f25c0,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(e096b120,60,c0e7e0b0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e096b120,81900,ca09ba7c,c0e7e0b0,60,...) at __lockmgr_args+0xb1f getblk(ca09b984,30860,0,4000,0,...) at getblk+0x167 breadn(ca09b984,30860,0,4000,0,...) at breadn+0x44 bread(ca09b984,30860,0,4000,0,...) at bread+0x4c ffs_update(c89232b8,0,ef72d9d0,c0cd008d,ef72da8c,...) at ffs_update+0x172 ufs_link(ef72dbf4,c0ed9d8e,0,0,c89232b8,...) at ufs_link+0x12c VOP_LINK_APV(c0fbb360,ef72dbf4,c89232b8,ef72dbcc,0,...) at VOP_LINK_APV+0xf6 kern_linkat(ca4f25c0,ffffff9c,ffffff9c,bfbfe638,bfbfe6b8,...) at kern_linkat+0x2fa kern_link(ca4f25c0,bfbfe638,bfbfe6b8,0,ef72dc7c,...) at kern_link+0x3e link(ca4f25c0,ef72dcec,ef72dd28,c0e8babe,0,...) at link+0x29 syscallenter(ca4f25c0,ef72dce4,ef72dce4,0,c101f580,...) at syscallenter+0x263 syscall(ef72dd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (9, FreeBSD ELF32, link), eip = 0x280eee6b, esp = 0xbfbfe60c, ebp = 0xbfbfe748 --- Tracing command link pid 31861 tid 100378 td 0xcbe445c0 sched_switch(cbe445c0,0,104,191,fa70a6de,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(cbe445c0,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(e096b120,60,c0e7e0b0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e096b120,81900,ca09ba7c,c0e7e0b0,60,...) at __lockmgr_args+0xb1f getblk(ca09b984,30860,0,4000,0,...) at getblk+0x167 breadn(ca09b984,30860,0,4000,0,...) at breadn+0x44 bread(ca09b984,30860,0,4000,0,...) at bread+0x4c ffs_update(cc4a2d98,0,c0eb851c,2288,1,...) at ffs_update+0x172 handle_workitem_remove(c118efa8,0,c0eb851c,1f42,c7f66000,...) at handle_workitem_remove+0x4d3 softdep_setup_remove(e08feae0,ca47232c,c7f59910,0,ef63aac4,...) at softdep_setup_remove+0x1ab ufs_dirremove(c8191414,c7f59910,500800c,0,c8191414,...) at ufs_dirremove+0x1ce ufs_remove(ef63ac00,c0ed9dce,0,0,cc4a2d98,...) at ufs_remove+0x6e VOP_REMOVE_APV(c0fbb360,ef63ac00,cc4a2d98,ef63abd8,c15a9000,...) at VOP_REMOVE_APV+0xf6 kern_unlinkat(cbe445c0,ffffff9c,bfbfe6b8,0,0,...) at kern_unlinkat+0x1fb kern_unlink(cbe445c0,bfbfe6b8,0,ef63ac7c,c09eada3,...) at kern_unlink+0x2f unlink(cbe445c0,ef63acec,ef63ad28,c0e8babe,0,...) at unlink+0x22 syscallenter(cbe445c0,ef63ace4,ef63ace4,0,0,...) at syscallenter+0x263 syscall(ef63ad28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe60c, ebp = 0xbfbfe748 --- Tracing command creat pid 31860 tid 100272 td 0xc9d11b80 sched_switch(c9d11b80,0,104,191,fa808175,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(c9d11b80,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(e096b120,60,c0e7e0b0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e096b120,81900,ca09ba7c,c0e7e0b0,60,...) at __lockmgr_args+0xb1f getblk(ca09b984,30860,0,4000,0,...) at getblk+0x167 breadn(ca09b984,30860,0,4000,0,...) at breadn+0x44 bread(ca09b984,30860,0,4000,0,...) at bread+0x4c ffs_vgetf(c73fb2d4,3f39,80000,ef4c9910,0,...) at ffs_vgetf+0x3ab ffs_vget(c73fb2d4,3f39,80000,ef4c9910,c0bb1940,...) at ffs_vget+0x2e ffs_valloc(c8ea4828,81b0,c7f6fe80,ef4c9910,1c00,...) at ffs_valloc+0x500 ufs_makeinode(ef4c9ba4,c0fbb860,ef4c9b00,ef4c9a5c,c0cf5c75,...) at ufs_makeinode+0xc3 ufs_create(ef4c9b00,c0ed9edb,0,0,ef4c9b78,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb360,ef4c9b00,ef4c9ba4,ef4c9a98,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef4c9b78,ef4c9c2c,1b0,0,c7f6fe80,...) at vn_open_cred+0x205 vn_open(ef4c9b78,ef4c9c2c,1b0,c7f75ab8,0,...) at vn_open+0x3b kern_openat(c9d11b80,ffffff9c,bfbfe6b8,0,602,...) at kern_openat+0x12f kern_open(c9d11b80,bfbfe6b8,0,601,1b0,...) at kern_open+0x35 open(c9d11b80,ef4c9cec,ef4c9d28,c0e8babe,0,...) at open+0x30 syscallenter(c9d11b80,ef4c9ce4,ef4c9ce4,0,c101f580,...) at syscallenter+0x263 syscall(ef4c9d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x28186683, esp = 0xbfbfe66c, ebp = 0xbfbfe688 --- Tracing command creat pid 31859 tid 100194 td 0xc96225c0 Tracing command rename pid 31858 tid 100121 td 0xc78cd8a0 sched_switch(c78cd8a0,0,104,191,f91968fa,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(c78cd8a0,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(e0763600,60,c0e7e0b0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e0763600,81900,ca09ba7c,c0e7e0b0,60,...) at __lockmgr_args+0xb1f getblk(ca09b984,303c0,0,4000,0,...) at getblk+0x167 breadn(ca09b984,303c0,0,4000,0,...) at breadn+0x44 bread(ca09b984,303c0,0,4000,0,...) at bread+0x4c ffs_update(c88252b8,0,c0eb851c,2288,0,...) at ffs_update+0x172 handle_workitem_remove(0,ef2758f8,2,65e,1,...) at handle_workitem_remove+0x4d3 process_worklist_item(c118efa8,0,c0eb851c,ac4,c8153e40,...) at process_worklist_item+0x203 softdep_prelink(c118efa8,0,c0eb851c,106c,cc657740,...) at softdep_prelink+0x13b softdep_setup_link(c8d40984,cc657740,ef275b70,ef2759d4,0,...) at softdep_setup_link+0xc2 ufs_rename(ef275bec,0,c88d6d98,ef275b98,0,...) at ufs_rename+0xb41 VOP_RENAME_APV(c0fbb360,ef275bec,0,1,ef275b70,...) at VOP_RENAME_APV+0xa5 kern_renameat(c78cd8a0,ffffff9c,bfbfe628,ffffff9c,bfbfe6a8,...) at kern_renameat+0x307 kern_rename(c78cd8a0,bfbfe628,bfbfe6a8,0,ef275c7c,...) at kern_rename+0x36 rename(c78cd8a0,ef275cec,c09cd78c,c1020930,0,...) at rename+0x29 syscallenter(c78cd8a0,ef275ce4,ef275cc0,c09cfe08,c1020900,...) at syscallenter+0x263 syscall(ef275d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee98b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command link pid 31857 tid 100193 td 0xc96228a0 sched_switch(c96228a0,0,207,18c,fa853378,...) at sched_switch+0x3bc mi_switch(207,0,c0e8ba7d,d4,c11e6180,...) at mi_switch+0x219 ast(ef376d28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command link pid 31856 tid 100389 td 0xc74ae8a0 sched_switch(c74ae8a0,0,104,191,f9f53204,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(c74ae8a0,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(e096b120,60,c0e7e0b0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e096b120,81900,ca09ba7c,c0e7e0b0,60,...) at __lockmgr_args+0xb1f getblk(ca09b984,30860,0,4000,0,...) at getblk+0x167 breadn(ca09b984,30860,0,4000,0,...) at breadn+0x44 bread(ca09b984,30860,0,4000,0,...) at bread+0x4c ffs_update(cc4a2984,0,ef6639d0,c0cd008d,ef663a8c,...) at ffs_update+0x172 ufs_link(ef663bf4,c0ed9d8e,0,0,cc4a2984,...) at ufs_link+0x12c VOP_LINK_APV(c0fbb360,ef663bf4,cc4a2984,ef663bcc,0,...) at VOP_LINK_APV+0xf6 kern_linkat(c74ae8a0,ffffff9c,ffffff9c,bfbfe638,bfbfe6b8,...) at kern_linkat+0x2fa kern_link(c74ae8a0,bfbfe638,bfbfe6b8,0,ef663c7c,...) at kern_link+0x3e link(c74ae8a0,ef663cec,c09cd78c,c101f5b0,0,...) at link+0x29 syscallenter(c74ae8a0,ef663ce4,ef663cc0,c09cfe08,c101f580,...) at syscallenter+0x263 syscall(ef663d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (9, FreeBSD ELF32, link), eip = 0x280eee6b, esp = 0xbfbfe60c, ebp = 0xbfbfe748 --- Tracing command rename pid 31855 tid 100424 td 0xcbe855c0 Tracing command link pid 31854 tid 100314 td 0xc9d742e0 sched_switch(c9d742e0,0,104,191,f916f680,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(c9d742e0,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(e096b120,60,c0e7e0b0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e096b120,81900,ca09ba7c,c0e7e0b0,60,...) at __lockmgr_args+0xb1f getblk(ca09b984,30860,0,4000,0,...) at getblk+0x167 breadn(ca09b984,30860,0,4000,0,...) at breadn+0x44 bread(ca09b984,30860,0,4000,0,...) at bread+0x4c ffs_update(cbfcb2b8,0,ef54f9d0,c0cd008d,ef54fa8c,...) at ffs_update+0x172 ufs_link(ef54fbf4,c0ed9d8e,0,0,cbfcb2b8,...) at ufs_link+0x12c VOP_LINK_APV(c0fbb360,ef54fbf4,cbfcb2b8,ef54fbcc,0,...) at VOP_LINK_APV+0xf6 kern_linkat(c9d742e0,ffffff9c,ffffff9c,bfbfe638,bfbfe6b8,...) at kern_linkat+0x2fa kern_link(c9d742e0,bfbfe638,bfbfe6b8,0,ef54fc7c,...) at kern_link+0x3e link(c9d742e0,ef54fcec,ef54fd28,c0e8babe,0,...) at link+0x29 syscallenter(c9d742e0,ef54fce4,ef54fce4,0,c101f580,...) at syscallenter+0x263 syscall(ef54fd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (9, FreeBSD ELF32, link), eip = 0x280eee6b, esp = 0xbfbfe60c, ebp = 0xbfbfe748 --- Tracing command link pid 31853 tid 100242 td 0xc9651000 sched_switch(c9651000,0,104,191,fac6b9b3,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(c9651000,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(e0763600,60,c0e7e0b0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e0763600,81900,ca09ba7c,c0e7e0b0,60,...) at __lockmgr_args+0xb1f getblk(ca09b984,303c0,0,4000,0,...) at getblk+0x167 breadn(ca09b984,303c0,0,4000,0,...) at breadn+0x44 bread(ca09b984,303c0,0,4000,c7f6fe80,...) at bread+0x4c softdep_journal_freeblocks(c82579f8,c7f6fe80,200,0,800,...) at softdep_journal_freeblocks+0xbaf ffs_truncate(c8a07ae0,200,0,880,c7f6fe80,...) at ffs_truncate+0x94e ufs_direnter(c8a07ae0,c8923d98,ef43e914,ef43eba4,0,...) at ufs_direnter+0x924 ufs_makeinode(ef43eba4,c0fbb860,ef43eb00,ef43ea5c,c0cf5c75,...) at ufs_makeinode+0x5c5 ufs_create(ef43eb00,c0ed9edb,0,0,ef43eb78,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb360,ef43eb00,ef43eba4,ef43ea98,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef43eb78,ef43ec2c,1b0,0,c7f6fe80,...) at vn_open_cred+0x205 vn_open(ef43eb78,ef43ec2c,1b0,c9a55b60,0,...) at vn_open+0x3b kern_openat(c9651000,ffffff9c,bfbfe6b8,0,602,...) at kern_openat+0x12f kern_open(c9651000,bfbfe6b8,0,601,1b0,...) at kern_open+0x35 open(c9651000,ef43ecec,ef43ed28,c0e8babe,0,...) at open+0x30 syscallenter(c9651000,ef43ece4,ef43ece4,0,0,...) at syscallenter+0x263 syscall(ef43ed28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x28186683, esp = 0xbfbfe5ec, ebp = 0xbfbfe608 --- Tracing command link pid 31852 tid 100280 td 0xc9d102e0 sched_switch(c9d102e0,0,104,191,f91840bb,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(c9d102e0,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(e096b120,60,c0e7e0b0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e096b120,81900,ca09ba7c,c0e7e0b0,60,...) at __lockmgr_args+0xb1f getblk(ca09b984,30860,0,4000,0,...) at getblk+0x167 breadn(ca09b984,30860,0,4000,0,...) at breadn+0x44 bread(ca09b984,30860,0,4000,0,...) at bread+0x4c ffs_update(c881d984,0,ef4e19d0,c0cd008d,ef4e1a8c,...) at ffs_update+0x172 ufs_link(ef4e1bf4,c0ed9d8e,0,0,c881d984,...) at ufs_link+0x12c VOP_LINK_APV(c0fbb360,ef4e1bf4,c881d984,ef4e1bcc,0,...) at VOP_LINK_APV+0xf6 kern_linkat(c9d102e0,ffffff9c,ffffff9c,bfbfe638,bfbfe6b8,...) at kern_linkat+0x2fa kern_link(c9d102e0,bfbfe638,bfbfe6b8,0,ef4e1c7c,...) at kern_link+0x3e link(c9d102e0,ef4e1cec,ef4e1d28,c0e8babe,0,...) at link+0x29 syscallenter(c9d102e0,ef4e1ce4,ef4e1ce4,0,c101f580,...) at syscallenter+0x263 syscall(ef4e1d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (9, FreeBSD ELF32, link), eip = 0x280eee6b, esp = 0xbfbfe60c, ebp = 0xbfbfe748 --- Tracing command link pid 31851 tid 100410 td 0xca4f42e0 sched_switch(ca4f42e0,0,104,191,f917d85d,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca4f42e0,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(e096b120,60,c0e7e0b0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e096b120,81900,ca09ba7c,c0e7e0b0,60,...) at __lockmgr_args+0xb1f getblk(ca09b984,30860,0,4000,0,...) at getblk+0x167 breadn(ca09b984,30860,0,4000,0,...) at breadn+0x44 bread(ca09b984,30860,0,4000,0,...) at bread+0x4c ffs_update(ca567000,0,ef6c59d0,c0cd008d,ef6c5a8c,...) at ffs_update+0x172 ufs_link(ef6c5bf4,c0ed9d8e,0,0,ca567000,...) at ufs_link+0x12c VOP_LINK_APV(c0fbb360,ef6c5bf4,ca567000,ef6c5bcc,0,...) at VOP_LINK_APV+0xf6 kern_linkat(ca4f42e0,ffffff9c,ffffff9c,bfbfe638,bfbfe6b8,...) at kern_linkat+0x2fa kern_link(ca4f42e0,bfbfe638,bfbfe6b8,0,ef6c5c7c,...) at kern_link+0x3e link(ca4f42e0,ef6c5cec,ef6c5d28,c0e8babe,0,...) at link+0x29 syscallenter(ca4f42e0,ef6c5ce4,ef6c5ce4,0,c1020280,...) at syscallenter+0x263 syscall(ef6c5d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (9, FreeBSD ELF32, link), eip = 0x280eee6b, esp = 0xbfbfe60c, ebp = 0xbfbfe748 --- Tracing command link pid 31850 tid 100355 td 0xcb84db80 sched_switch(cb84db80,0,104,191,f9f52357,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(cb84db80,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(e096b120,60,c0e7e0b0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e096b120,81900,ca09ba7c,c0e7e0b0,60,...) at __lockmgr_args+0xb1f getblk(ca09b984,30860,0,4000,0,...) at getblk+0x167 breadn(ca09b984,30860,0,4000,0,...) at breadn+0x44 bread(ca09b984,30860,0,4000,0,...) at bread+0x4c ffs_update(c89d8414,0,ef5ec9d0,c0cd008d,ef5eca8c,...) at ffs_update+0x172 ufs_link(ef5ecbf4,c0ed9d8e,0,0,c89d8414,...) at ufs_link+0x12c VOP_LINK_APV(c0fbb360,ef5ecbf4,c89d8414,ef5ecbcc,0,...) at VOP_LINK_APV+0xf6 kern_linkat(cb84db80,ffffff9c,ffffff9c,bfbfe638,bfbfe6b8,...) at kern_linkat+0x2fa kern_link(cb84db80,bfbfe638,bfbfe6b8,0,ef5ecc7c,...) at kern_link+0x3e link(cb84db80,ef5eccec,ef5ecd28,c0e8babe,0,...) at link+0x29 syscallenter(cb84db80,ef5ecce4,ef5ecce4,0,74b,...) at syscallenter+0x263 syscall(ef5ecd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (9, FreeBSD ELF32, link), eip = 0x280eee6b, esp = 0xbfbfe60c, ebp = 0xbfbfe748 --- Tracing command lockf pid 31849 tid 100208 td 0xc7eb75c0 sched_switch(c7eb75c0,0,104,191,d3c237c0,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7eb75c0,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(c85c2724,60,c0e7c770,4,0,...) at sleepq_wait+0x63 __lockmgr_args(c85c2724,400400,c85c2790,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef3a9a28,c85c26cc,ef3a9a14,400400,c85c26cc,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb360,ef3a9a28,ef3a9a30,c0fd6320,c85c26cc,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c85c26cc,400400,c0e942dd,2a6,ef3a9bc4,...) at _vn_lock+0x78 lookup(ef3a9bac,c0e942dd,ee,c9,ffffff9c,...) at lookup+0x604 namei(ef3a9bac,ef3a9b78,246,c6d5a0d0,c7eb7670,...) at namei+0x592 kern_unlinkat(c7eb75c0,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(c7eb75c0,804cea0,0,ef3a9c7c,c09eada3,...) at kern_unlink+0x2f unlink(c7eb75c0,ef3a9cec,ef3a9d28,c0e8babe,0,...) at unlink+0x22 syscallenter(c7eb75c0,ef3a9ce4,ef3a9ce4,0,c101f580,...) at syscallenter+0x263 syscall(ef3a9d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 31848 tid 100211 td 0xc96678a0 sched_switch(c96678a0,0,104,191,e2b1b6f0,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(c96678a0,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(c85c2724,60,c0e7c770,4,0,...) at sleepq_wait+0x63 __lockmgr_args(c85c2724,400400,c85c2790,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef3b5954,c85c26cc,ef3b5940,400400,c85c26cc,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb360,ef3b5954,ef3b595c,c0fd6320,c85c26cc,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c85c26cc,400400,c0e942dd,2a6,ef3b5b90,...) at _vn_lock+0x78 lookup(ef3b5b78,c0e942dd,ee,c9,ffffff9c,...) at lookup+0x604 namei(ef3b5b78,ef3b5ac4,c0e7f509,c965d344,0,...) at namei+0x592 vn_open_cred(ef3b5b78,ef3b5c2c,180,0,c7f6fe80,...) at vn_open_cred+0x90 vn_open(ef3b5b78,ef3b5c2c,180,c7434348,c0fa1d20,...) at vn_open+0x3b kern_openat(c96678a0,ffffff9c,804cea0,0,603,...) at kern_openat+0x12f kern_open(c96678a0,804cea0,0,602,180,...) at kern_open+0x35 open(c96678a0,ef3b5cec,ef3b5d28,c0e8babe,0,...) at open+0x30 syscallenter(c96678a0,ef3b5ce4,ef3b5ce4,0,c1020280,...) at syscallenter+0x263 syscall(ef3b5d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x28186683, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 31847 tid 100219 td 0xc96662e0 sched_switch(c96662e0,0,106,18c,f81d3c73,...) at sched_switch+0x3bc mi_switch(106,0,c0e86669,234,1,...) at mi_switch+0x219 kern_yield(fffffffe,ef3d5aac,c09ee605,5,0,...) at kern_yield+0xe0 maybe_yield(5,0,c0e8c1f3,0,4,...) at maybe_yield+0x1b uiomove(e3800000,4,ef3d5c28,800,0,...) at uiomove+0xe5 ffs_read(ef3d5b98,c0ed97f3,c96662e0,0,c7434230,...) at ffs_read+0x48c VOP_READ_APV(c0fbb360,ef3d5b98,c8eeec3c,21d,c0e7f500,...) at VOP_READ_APV+0xc5 vn_read(c7434230,ef3d5c28,c7f6fe80,0,c96662e0,...) at vn_read+0x208 dofileread(ef3d5c28,ffffffff,ffffffff,0,c7434230,...) at dofileread+0x9e kern_readv(c96662e0,3,ef3d5c28,ef3d5c48,1,...) at kern_readv+0x58 read(c96662e0,ef3d5cec,ef3d5d28,c0e8babe,0,...) at read+0x4f syscallenter(c96662e0,ef3d5ce4,ef3d5ce4,0,0,...) at syscallenter+0x263 syscall(ef3d5d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28195623, esp = 0xbfbfe6ec, ebp = 0xbfbfe718 --- Tracing command link pid 31846 tid 100403 td 0xcbe428a0 Tracing command lockf pid 31845 tid 100090 td 0xc74ac8a0 sched_switch(c74ac8a0,0,207,18c,279ce63,...) at sched_switch+0x3bc mi_switch(207,0,c0e8ba7d,d4,c0ceb3d6,...) at mi_switch+0x219 ast(ef1bfd28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command lockf pid 31844 tid 100374 td 0xcad0f8a0 sched_switch(cad0f8a0,0,207,18c,fef6570a,...) at sched_switch+0x3bc mi_switch(207,0,c0e8ba7d,d4,c11e6180,...) at mi_switch+0x219 ast(ef62cd28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command lockf pid 31843 tid 100282 td 0xc9cb0b80 sched_switch(c9cb0b80,0,104,191,d3c246d7,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(c9cb0b80,0,c0e8b180,268,60,...) at sleepq_switch+0x162 sleepq_wait(c85c2724,60,c0e7c770,4,0,...) at sleepq_wait+0x63 __lockmgr_args(c85c2724,400400,c85c2790,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef4e7a28,c85c26cc,ef4e7a14,400400,c85c26cc,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb360,ef4e7a28,ef4e7a30,c0fd6320,c85c26cc,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c85c26cc,400400,c0e942dd,2a6,ef4e7bc4,...) at _vn_lock+0x78 lookup(ef4e7bac,c0e942dd,ee,c9,ffffff9c,...) at lookup+0x604 namei(ef4e7bac,ef4e7b78,246,c6d5a0d0,c9cb0c30,...) at namei+0x592 kern_unlinkat(c9cb0b80,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(c9cb0b80,804cea0,0,ef4e7c7c,c09eada3,...) at kern_unlink+0x2f unlink(c9cb0b80,ef4e7cec,ef4e7d28,c0e8babe,0,...) at unlink+0x22 syscallenter(c9cb0b80,ef4e7ce4,ef4e7ce4,0,c1020280,...) at syscallenter+0x263 syscall(ef4e7d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 31842 tid 100384 td 0xcb858000 Tracing command mkfifo pid 31841 tid 100257 td 0xc9cadb80 sched_switch(c9cadb80,0,104,191,ab4b6099,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c9cadb80,0,c0e8b180,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c9cadb80,3,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012904,6c,c0e86f77,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012904,0,16c,c0e86f77,3e9,...) at _sleep+0x328 kern_nanosleep(c9cadb80,ef47bc34,ef47bc3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c9cadb80,ef47bcec,ef47bd28,c0e8babe,0,...) at nanosleep+0x6f syscallenter(c9cadb80,ef47bce4,ef47bce4,0,0,...) at syscallenter+0x263 syscall(ef47bd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b67, esp = 0xbfbfe70c, ebp = 0xbfbfe738 --- Tracing command swap pid 31840 tid 100136 td 0xc78cc2e0 sched_switch(c78cc2e0,0,104,191,bf9ef141,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c78cc2e0,0,c0e8b180,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c78cc2e0,2,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012904,6c,c0e86f77,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012904,0,16c,c0e86f77,3e9,...) at _sleep+0x328 kern_nanosleep(c78cc2e0,ef2cbc34,ef2cbc3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c78cc2e0,ef2cbcec,ef2cbd28,c0e8babe,0,...) at nanosleep+0x6f syscallenter(c78cc2e0,ef2cbce4,ef2cbce4,0,0,...) at syscallenter+0x263 syscall(ef2cbd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b67, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command rename pid 31839 tid 100255 td 0xc9caf2e0 sched_switch(c9caf2e0,0,104,191,bdfc05d2,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c9caf2e0,0,c0e8b180,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c9caf2e0,2,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012904,6c,c0e86f77,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012904,0,16c,c0e86f77,3e9,...) at _sleep+0x328 kern_nanosleep(c9caf2e0,ef475c34,ef475c3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c9caf2e0,ef475cec,ef475d28,c0e8babe,0,...) at nanosleep+0x6f syscallenter(c9caf2e0,ef475ce4,ef475ce4,0,74b,...) at syscallenter+0x263 syscall(ef475d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b67, esp = 0xbfbfe70c, ebp = 0xbfbfe738 --- Tracing command mkdir pid 31838 tid 100337 td 0xcacd08a0 sched_switch(cacd08a0,0,104,191,bfd04e2b,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,6c,...) at mi_switch+0x219 sleepq_switch(cacd08a0,0,c0e8b180,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,cacd08a0,0,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012904,6c,c0e86f77,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012904,0,16c,c0e86f77,3e9,...) at _sleep+0x328 kern_nanosleep(cacd08a0,ef5a9c34,ef5a9c3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(cacd08a0,ef5a9cec,ef5a9d28,c0e8babe,0,...) at nanosleep+0x6f syscallenter(cacd08a0,ef5a9ce4,ef5a9ce4,0,74b,...) at syscallenter+0x263 syscall(ef5a9d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b67, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command creat pid 31837 tid 100233 td 0xc9696b80 sched_switch(c9696b80,0,104,191,c7832cd0,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c9696b80,0,c0e8b180,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c9696b80,0,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012904,6c,c0e86f77,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012904,0,16c,c0e86f77,3e9,...) at _sleep+0x328 kern_nanosleep(c9696b80,ef40fc34,ef40fc3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c9696b80,ef40fcec,ef40fd28,c0e8babe,0,...) at nanosleep+0x6f syscallenter(c9696b80,ef40fce4,ef40fce4,0,0,...) at syscallenter+0x263 syscall(ef40fd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b67, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 31836 tid 100191 td 0xc9625000 sched_switch(c9625000,0,104,191,cda0a0eb,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c9625000,0,c0e8b180,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c9625000,2,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012904,6c,c0e86f77,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012904,0,16c,c0e86f77,3e9,...) at _sleep+0x328 kern_nanosleep(c9625000,ef370c34,ef370c3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c9625000,ef370cec,ef370d28,c0e8babe,0,...) at nanosleep+0x6f syscallenter(c9625000,ef370ce4,ef370ce4,0,0,...) at syscallenter+0x263 syscall(ef370d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b67, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command link pid 31835 tid 100418 td 0xcbe42000 sched_switch(cbe42000,0,104,191,be11e036,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,6c,...) at mi_switch+0x219 sleepq_switch(cbe42000,0,c0e8b180,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,cbe42000,2,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012904,6c,c0e86f77,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012904,0,16c,c0e86f77,3e9,...) at _sleep+0x328 kern_nanosleep(cbe42000,ef6e1c34,ef6e1c3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(cbe42000,ef6e1cec,ef6e1d28,c0e8babe,0,...) at nanosleep+0x6f syscallenter(cbe42000,ef6e1ce4,ef6e1ce4,0,0,...) at syscallenter+0x263 syscall(ef6e1d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b67, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command fts pid 31834 tid 100204 td 0xc7fe02e0 sched_switch(c7fe02e0,0,104,191,a7e6613d,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7fe02e0,0,c0e8b180,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c7fe02e0,2,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012904,6c,c0e86f77,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012904,0,16c,c0e86f77,3e9,...) at _sleep+0x328 kern_nanosleep(c7fe02e0,ef399c34,ef399c3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c7fe02e0,ef399cec,ef399d28,c0e8babe,0,...) at nanosleep+0x6f syscallenter(c7fe02e0,ef399ce4,ef399ce4,0,0,...) at syscallenter+0x263 syscall(ef399d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28178b67, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command rw pid 31833 tid 100339 td 0xcacd02e0 sched_switch(cacd02e0,0,104,191,32e8edf0,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,6c,...) at mi_switch+0x219 sleepq_switch(cacd02e0,0,c0e8b180,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,cacd02e0,0,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012904,6c,c0e86f77,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012904,0,16c,c0e86f77,3e9,...) at _sleep+0x328 kern_nanosleep(cacd02e0,ef5afc34,ef5afc3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(cacd02e0,ef5afcec,ef5afd28,c0e8babe,0,...) at nanosleep+0x6f syscallenter(cacd02e0,ef5afce4,ef5afce4,0,c101f580,...) at syscallenter+0x263 syscall(ef5afd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b67, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command openat pid 31832 tid 100179 td 0xc7fe08a0 sched_switch(c7fe08a0,0,104,191,be52998e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7fe08a0,0,c0e8b180,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c7fe08a0,2,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012904,6c,c0e86f77,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012904,0,16c,c0e86f77,3e9,...) at _sleep+0x328 kern_nanosleep(c7fe08a0,ef34cc34,ef34cc3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c7fe08a0,ef34ccec,ef34cd28,c0e8babe,0,...) at nanosleep+0x6f syscallenter(c7fe08a0,ef34cce4,ef34cce4,0,0,...) at syscallenter+0x263 syscall(ef34cd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b67, esp = 0xbfbfe70c, ebp = 0xbfbfe738 --- Tracing command lockf2 pid 31830 tid 100292 td 0xc9d542e0 sched_switch(c9d542e0,0,104,191,32eab5e1,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c9d542e0,0,c0e8b180,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c9d542e0,1,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012904,6c,c0e86f77,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012904,0,16c,c0e86f77,3e9,...) at _sleep+0x328 kern_nanosleep(c9d542e0,ef505c34,ef505c3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c9d542e0,ef505cec,ef505d28,c0e8babe,0,...) at nanosleep+0x6f syscallenter(c9d542e0,ef505ce4,ef505ce4,0,0,...) at syscallenter+0x263 syscall(ef505d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b67, esp = 0xbfbfe70c, ebp = 0xbfbfe738 --- Tracing command run pid 31567 tid 100216 td 0xc96668a0 Tracing command run pid 31566 tid 100297 td 0xc9d532e0 Tracing command run pid 31565 tid 100087 td 0xc74672e0 sched_switch(c74672e0,0,104,191,aac20f4e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c74672e0,0,c0e8b180,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c74672e0,3,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012904,6c,c0e86f77,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012904,0,16c,c0e86f77,3e9,...) at _sleep+0x328 kern_nanosleep(c74672e0,ef1b1c34,ef1b1c3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c74672e0,ef1b1cec,ef1b1d28,c0e8babe,0,...) at nanosleep+0x6f syscallenter(c74672e0,ef1b1ce4,ef1b1ce4,0,0,...) at syscallenter+0x263 syscall(ef1b1d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28178b67, esp = 0xbfbfe5dc, ebp = 0xbfbfe608 --- Tracing command sh pid 31560 tid 100261 td 0xc96505c0 Tracing command bash pid 31559 tid 100186 td 0xc9626000 Tracing command su pid 31558 tid 100398 td 0xcbe435c0 Tracing command md5 pid 29419 tid 100293 td 0xc9d54000 sched_switch(c9d54000,0,104,191,fa6d7324,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c9d54000,0,c0e8b180,268,0,...) at sleepq_switch+0x162 sleepq_wait(c95e4000,5c,c0e31d71,0,0,...) at sleepq_wait+0x63 _sleep(c95e4000,c95e4020,25c,c0e31d71,0,...) at _sleep+0x372 md_kthread(c95e4000,ef508d28,c0e8036c,390,c9d4f000,...) at md_kthread+0x11a fork_exit(c07276f0,c95e4000,ef508d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xef508d60, ebp = 0 --- Tracing command sh pid 29406 tid 100140 td 0xc7e55b80 Tracing command crypto returns pid 18836 tid 100278 td 0xc9d108a0 sched_switch(c9d108a0,0,104,191,12b52bb5,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c9d108a0,0,c0e8b180,268,0,...) at sleepq_switch+0x162 sleepq_wait(cee78bcc,6c,cee76c74,0,0,...) at sleepq_wait+0x63 _sleep(cee78bcc,cee78bdc,6c,cee76c74,0,...) at _sleep+0x372 crypto_ret_proc(0,ef4dbd28,c0e8036c,390,c9b832bc,...) at crypto_ret_proc+0x18e fork_exit(cee5a300,0,ef4dbd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xef4dbd60, ebp = 0 --- Tracing command crypto pid 18835 tid 100425 td 0xcbe852e0 sched_switch(cbe852e0,0,104,191,12b45aaa,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,6c,...) at mi_switch+0x219 sleepq_switch(cbe852e0,0,c0e8b180,268,0,...) at sleepq_switch+0x162 sleepq_wait(cee78ba8,6c,cee76ec3,0,0,...) at sleepq_wait+0x63 _sleep(cee78ba8,cee78bb8,6c,cee76ec3,0,...) at _sleep+0x372 crypto_proc(0,ef712d28,c0e8036c,390,cb92d578,...) at crypto_proc+0x1b0 fork_exit(cee5b6c0,0,ef712d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xef712d60, ebp = 0 --- Tracing command sh pid 16331 tid 100404 td 0xca4fc5c0 Tracing command sh pid 16330 tid 100439 td 0xca4f15c0 Tracing command bash pid 8620 tid 100217 td 0xc96665c0 sched_switch(c96665c0,0,104,191,aa7e35a7,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c96665c0,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,cb0a4c04,0,c0e84007,c96665c0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(cb0a4c70,0,ef3cdad8,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(cb0a4c70,cb0a4c04,c0e8f7f0,514,0,...) at _cv_wait_sig+0x243 tty_wait(cb0a4c00,cb0a4c70,ef3cdc28,1,0,...) at tty_wait+0x71 ttydisc_read(cb0a4c00,ef3cdc28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(cb86eb00,ef3cdc28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c78d98f8,ef3cdc28,c9b7e100,0,c96665c0,...) at devfs_read_f+0x7e dofileread(ef3cdc28,ffffffff,ffffffff,0,c78d98f8,...) at dofileread+0x9e kern_readv(c96665c0,0,ef3cdc28,ef3cdc48,1,...) at kern_readv+0x58 read(c96665c0,ef3cdcec,80c6d70,1,0,...) at read+0x4f syscallenter(c96665c0,ef3cdce4,c0cd2d5d,c1010ff0,0,...) at syscallenter+0x263 syscall(ef3cdd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28354623, esp = 0xbfbfdfcc, ebp = 0xbfbfdff8 --- Tracing command sshd pid 8619 tid 100386 td 0xc74d3000 sched_switch(c74d3000,0,104,191,aa79a2af,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c74d3000,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,caf33510,0,c0e84007,c74d3000,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(caf33524,0,ef659a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(caf33524,caf33510,c0e8d785,627,c7807620,...) at _cv_wait_sig+0x243 seltdwait(c7807620,58,c715b780,c74d3000,246,...) at seltdwait+0xa2 kern_select(c74d3000,c,288060b8,288060dc,0,0,20,c8b072bc,c8b072bc) at kern_select+0x504 select(c74d3000,ef659cec,ef659d28,c0e8babe,0,...) at select+0x66 syscallenter(c74d3000,ef659ce4,ef659ce4,0,0,...) at syscallenter+0x263 syscall(ef659d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x284bd5a3, esp = 0xbfbfe19c, ebp = 0xbfbfe1e8 --- Tracing command sshd pid 6362 tid 100343 td 0xc7172b80 Tracing command awk pid 2388 tid 100151 td 0xc7460000 sched_switch(c7460000,0,104,191,d0e22d48,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c7460000,0,c0e8b180,1a7,5c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b180,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c77f6c40,5c,c0e8d943,100,0,...) at sleepq_wait_sig+0x17 _sleep(c77f6c40,c77f6db0,15c,c0e8d943,0,...) at _sleep+0x35c pipe_read(c78d9000,ef2f8c28,c78f6700,0,c7460000,...) at pipe_read+0x417 dofileread(ef2f8c28,ffffffff,ffffffff,0,c78d9000,...) at dofileread+0x9e kern_readv(c7460000,0,ef2f8c28,ef2f8c48,1,...) at kern_readv+0x58 read(c7460000,ef2f8cec,ef2f8d80,ef2f8c88,0,...) at read+0x4f syscallenter(c7460000,ef2f8ce4,c0cd2a16,0,0,...) at syscallenter+0x263 syscall(ef2f8d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x281b8623, esp = 0xbfbfe93c, ebp = 0xbfbfe958 --- Tracing command sh pid 2387 tid 100156 td 0xc7eb62e0 Tracing command top pid 2386 tid 100166 td 0xc7e528a0 sched_switch(c7e528a0,0,104,191,fd6bb8ab,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7e528a0,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(ef325a14,c099890a,c740a7d0,0,c7e528a0,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c740a7e4,0,ef325a4c,101,0,...) at sleepq_timedwait_sig+0x1a _cv_timedwait_sig(c740a7e4,c740a7d0,3e9,627,c78ef968,...) at _cv_timedwait_sig+0x252 seltdwait(ef325bf8,ef325c00,c7458180,c7e528a0,315b1b4b,...) at seltdwait+0x8a kern_select(c7e528a0,2,bfbfebac,0,0,ef325c40,20,1,0) at kern_select+0x504 select(c7e528a0,ef325cec,ef325d28,c0e8babe,0,...) at select+0x66 syscallenter(c7e528a0,ef325ce4,ef325ce4,0,0,...) at syscallenter+0x263 syscall(ef325d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x281ee5a3, esp = 0xbfbfeb4c, ebp = 0xbfbfeca8 --- Tracing command sshd pid 2385 tid 100149 td 0xc7e53000 sched_switch(c7e53000,0,104,191,fd6f8ba0,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7e53000,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c740a890,0,c0e84007,c7e53000,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c740a8a4,0,ef2f2a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c740a8a4,c740a890,c0e8d785,627,c78d9230,...) at _cv_wait_sig+0x243 seltdwait(c78d9230,58,c7f6f980,c7e53000,246,...) at seltdwait+0xa2 kern_select(c7e53000,a,288060b8,288060dc,0,0,20,c78c92bc,c78c92bc) at kern_select+0x504 select(c7e53000,ef2f2cec,ef2f2d28,c0e8babe,0,...) at select+0x66 syscallenter(c7e53000,ef2f2ce4,ef2f2ce4,0,0,...) at syscallenter+0x263 syscall(ef2f2d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x284bd5a3, esp = 0xbfbfe19c, ebp = 0xbfbfe1e8 --- Tracing command sh pid 2384 tid 100123 td 0xc78cd2e0 Tracing command sshd pid 2383 tid 100089 td 0xc74acb80 sched_switch(c74acb80,0,104,191,fe83d5d,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c74acb80,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c73bd950,0,c0e84007,c74acb80,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c73bd964,0,ef1b9a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c73bd964,c73bd950,c0e8d785,627,c744fc78,...) at _cv_wait_sig+0x243 seltdwait(c744fc78,58,c7458b00,c74acb80,246,...) at seltdwait+0xa2 kern_select(c74acb80,c,288060b8,288060dc,0,0,20,c701eaf0,c701eaf0) at kern_select+0x504 select(c74acb80,ef1b9cec,ef1b9d28,c0e8babe,0,...) at select+0x66 syscallenter(c74acb80,ef1b9ce4,ef1b9ce4,0,0,...) at syscallenter+0x263 syscall(ef1b9d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x284bd5a3, esp = 0xbfbfe19c, ebp = 0xbfbfe1e8 --- Tracing command tail pid 2382 tid 100175 td 0xc7fe15c0 sched_switch(c7fe15c0,0,104,191,32ea76e0,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,68,...) at mi_switch+0x219 sleepq_switch(c7fe15c0,0,c0e8b180,1a7,68,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c7fe15c0,1,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c738de00,68,c0e7ff70,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c738de00,c738de00,168,c0e7ff70,3e9,...) at _sleep+0x328 kern_kevent(c7fe15c0,4,0,1,ef340c28,...) at kern_kevent+0x364 kevent(c7fe15c0,ef340cec,ef340d28,c0e8babe,0,...) at kevent+0x19e syscallenter(c7fe15c0,ef340ce4,ef340ce4,0,c101f580,...) at syscallenter+0x263 syscall(ef340d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (363, FreeBSD ELF32, kevent), eip = 0x28169c9b, esp = 0xbfbfeb1c, ebp = 0xbfbfebd8 --- Tracing command sshd pid 2381 tid 100128 td 0xc74d68a0 sched_switch(c74d68a0,0,104,191,289feefe,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c74d68a0,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c7409c90,0,c0e84007,c74d68a0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7409ca4,0,ef2a2a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7409ca4,c7409c90,c0e8d785,627,c78ef038,...) at _cv_wait_sig+0x243 seltdwait(c78ef038,58,c74ee680,c74d68a0,246,...) at seltdwait+0xa2 kern_select(c74d68a0,c,288060b8,288060dc,0,0,20,c74d12bc,c74d12bc) at kern_select+0x504 select(c74d68a0,ef2a2cec,ef2a2d28,c0e8babe,0,...) at select+0x66 syscallenter(c74d68a0,ef2a2ce4,ef2a2ce4,0,0,...) at syscallenter+0x263 syscall(ef2a2d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x284bd5a3, esp = 0xbfbfe19c, ebp = 0xbfbfe1e8 --- Tracing command sshd pid 2377 tid 100167 td 0xc7e525c0 Tracing command sshd pid 2376 tid 100137 td 0xc78cc000 Tracing command sshd pid 2375 tid 100168 td 0xc7e522e0 Tracing command bash pid 2318 tid 100085 td 0xc74675c0 Tracing command csh pid 2314 tid 100097 td 0xc74ac000 Tracing command su pid 2313 tid 100095 td 0xc74ac5c0 Tracing command bash pid 2308 tid 100174 td 0xc7fe18a0 Tracing command sshd pid 2307 tid 100113 td 0xc74265c0 sched_switch(c74265c0,0,104,191,bdeff6ff,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c74265c0,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c6ffee50,0,c0e84007,c74265c0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6ffee64,0,ef253a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c6ffee64,c6ffee50,c0e8d785,627,c78d9d58,...) at _cv_wait_sig+0x243 seltdwait(c78d9d58,58,c73fcb80,c74265c0,246,...) at seltdwait+0xa2 kern_select(c74265c0,c,288060b8,288060dc,0,0,20,c73a6578,c73a6578) at kern_select+0x504 select(c74265c0,ef253cec,ef253d28,c0e8babe,0,...) at select+0x66 syscallenter(c74265c0,ef253ce4,ef253ce4,0,0,...) at syscallenter+0x263 syscall(ef253d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x284bd5a3, esp = 0xbfbfe19c, ebp = 0xbfbfe1e8 --- Tracing command sshd pid 2305 tid 100172 td 0xc7fe2000 Tracing command getty pid 2276 tid 100088 td 0xc7467000 sched_switch(c7467000,0,104,191,a22588ab,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7467000,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b180,160,0,c7467000,c7467000,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7182070,0,c0e8fe52,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7182070,c1010ff0,c0e8f7f0,514,0,...) at _cv_wait_sig+0x243 tty_wait(c7182000,c7182070,ef1b5c28,1,0,...) at tty_wait+0x71 ttydisc_read(c7182000,ef1b5c28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717b800,ef1b5c28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c744fab8,ef1b5c28,c6d9ee80,0,c7467000,...) at devfs_read_f+0x7e dofileread(ef1b5c28,ffffffff,ffffffff,0,c744fab8,...) at dofileread+0x9e kern_readv(c7467000,0,ef1b5c28,ef1b5c48,1,...) at kern_readv+0x58 read(c7467000,ef1b5cec,ef1b5d28,c0e8babe,0,...) at read+0x4f syscallenter(c7467000,ef1b5ce4,ef1b5ce4,0,0,...) at syscallenter+0x263 syscall(ef1b5d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196623, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2275 tid 100158 td 0xc7769b80 sched_switch(c7769b80,0,104,191,a239b9cd,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7769b80,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b180,160,0,c7769b80,c7769b80,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7182270,0,c0e8fe52,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7182270,c1010ff0,c0e8f7f0,514,0,...) at _cv_wait_sig+0x243 tty_wait(c7182200,c7182270,ef30dc28,1,0,...) at tty_wait+0x71 ttydisc_read(c7182200,ef30dc28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717b900,ef30dc28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c7433118,ef30dc28,c6d9ee80,0,c7769b80,...) at devfs_read_f+0x7e dofileread(ef30dc28,ffffffff,ffffffff,0,c7433118,...) at dofileread+0x9e kern_readv(c7769b80,0,ef30dc28,ef30dc48,1,...) at kern_readv+0x58 read(c7769b80,ef30dcec,ef30dd28,c0e8babe,0,...) at read+0x4f syscallenter(c7769b80,ef30dce4,ef30dce4,0,0,...) at syscallenter+0x263 syscall(ef30dd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196623, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2274 tid 100127 td 0xc78cc5c0 sched_switch(c78cc5c0,0,104,191,a23177f5,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c78cc5c0,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b180,160,0,c78cc5c0,c78cc5c0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7182470,0,c0e8fe52,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7182470,c1010ff0,c0e8f7f0,514,0,...) at _cv_wait_sig+0x243 tty_wait(c7182400,c7182470,ef287c28,1,0,...) at tty_wait+0x71 ttydisc_read(c7182400,ef287c28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717ba00,ef287c28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c74347a8,ef287c28,c6d9ee80,0,c78cc5c0,...) at devfs_read_f+0x7e dofileread(ef287c28,ffffffff,ffffffff,0,c74347a8,...) at dofileread+0x9e kern_readv(c78cc5c0,0,ef287c28,ef287c48,1,...) at kern_readv+0x58 read(c78cc5c0,ef287cec,ef287d28,c0e8babe,0,...) at read+0x4f syscallenter(c78cc5c0,ef287ce4,ef287ce4,0,0,...) at syscallenter+0x263 syscall(ef287d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196623, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2273 tid 100152 td 0xc7eb7000 sched_switch(c7eb7000,0,104,191,a23b19ec,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7eb7000,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b180,160,0,c7eb7000,c7eb7000,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6f52070,0,c0e8fe52,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c6f52070,c1010ff0,c0e8f7f0,514,0,...) at _cv_wait_sig+0x243 tty_wait(c6f52000,c6f52070,ef2fbc28,1,0,...) at tty_wait+0x71 ttydisc_read(c6f52000,ef2fbc28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717bb00,ef2fbc28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c744f460,ef2fbc28,c6d9ee80,0,c7eb7000,...) at devfs_read_f+0x7e dofileread(ef2fbc28,ffffffff,ffffffff,0,c744f460,...) at dofileread+0x9e kern_readv(c7eb7000,0,ef2fbc28,ef2fbc48,1,...) at kern_readv+0x58 read(c7eb7000,ef2fbcec,ef2fbd28,c0e8babe,0,...) at read+0x4f syscallenter(c7eb7000,ef2fbce4,ef2fbce4,0,0,...) at syscallenter+0x263 syscall(ef2fbd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196623, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2272 tid 100098 td 0xc74aab80 sched_switch(c74aab80,0,104,191,a2225590,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c74aab80,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b180,160,0,c74aab80,c74aab80,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6f52270,0,c0e8fe52,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c6f52270,c1010ff0,c0e8f7f0,514,0,...) at _cv_wait_sig+0x243 tty_wait(c6f52200,c6f52270,ef1f7c28,1,0,...) at tty_wait+0x71 ttydisc_read(c6f52200,ef1f7c28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717bc00,ef1f7c28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c7434dc8,ef1f7c28,c6d9ee80,0,c74aab80,...) at devfs_read_f+0x7e dofileread(ef1f7c28,ffffffff,ffffffff,0,c7434dc8,...) at dofileread+0x9e kern_readv(c74aab80,0,ef1f7c28,ef1f7c48,1,...) at kern_readv+0x58 read(c74aab80,ef1f7cec,ef1f7d28,c0e8babe,0,...) at read+0x4f syscallenter(c74aab80,ef1f7ce4,ef1f7ce4,0,0,...) at syscallenter+0x263 syscall(ef1f7d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196623, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2271 tid 100109 td 0xc74292e0 sched_switch(c74292e0,0,104,191,a210540c,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c74292e0,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b180,160,0,c74292e0,c74292e0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6f52470,0,c0e8fe52,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c6f52470,c1010ff0,c0e8f7f0,514,0,...) at _cv_wait_sig+0x243 tty_wait(c6f52400,c6f52470,ef243c28,1,0,...) at tty_wait+0x71 ttydisc_read(c6f52400,ef243c28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717bd00,ef243c28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c7517070,ef243c28,c6d9ee80,0,c74292e0,...) at devfs_read_f+0x7e dofileread(ef243c28,ffffffff,ffffffff,0,c7517070,...) at dofileread+0x9e kern_readv(c74292e0,0,ef243c28,ef243c48,1,...) at kern_readv+0x58 read(c74292e0,ef243cec,ef243d28,c0e8babe,0,...) at read+0x4f syscallenter(c74292e0,ef243ce4,ef243ce4,0,0,...) at syscallenter+0x263 syscall(ef243d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196623, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2270 tid 100110 td 0xc7429000 sched_switch(c7429000,0,104,191,a23bcdfc,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7429000,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b180,160,0,c7429000,c7429000,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6f52670,0,c0e8fe52,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c6f52670,c1010ff0,c0e8f7f0,514,0,...) at _cv_wait_sig+0x243 tty_wait(c6f52600,c6f52670,ef247c28,1,0,...) at tty_wait+0x71 ttydisc_read(c6f52600,ef247c28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717be00,ef247c28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c74a3dc8,ef247c28,c6d9ee80,0,c7429000,...) at devfs_read_f+0x7e dofileread(ef247c28,ffffffff,ffffffff,0,c74a3dc8,...) at dofileread+0x9e kern_readv(c7429000,0,ef247c28,ef247c48,1,...) at kern_readv+0x58 read(c7429000,ef247cec,ef247d28,c0e8babe,0,...) at read+0x4f syscallenter(c7429000,ef247ce4,ef247ce4,0,0,...) at syscallenter+0x263 syscall(ef247d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196623, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2269 tid 100157 td 0xc7eb6000 sched_switch(c7eb6000,0,104,191,a21552ef,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7eb6000,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b180,160,0,c7eb6000,c7eb6000,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6f52870,0,c0e8fe52,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c6f52870,c1010ff0,c0e8f7f0,514,0,...) at _cv_wait_sig+0x243 tty_wait(c6f52800,c6f52870,ef30ac28,1,0,...) at tty_wait+0x71 ttydisc_read(c6f52800,ef30ac28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717c000,ef30ac28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c74336c8,ef30ac28,c6d9ee80,0,c7eb6000,...) at devfs_read_f+0x7e dofileread(ef30ac28,ffffffff,ffffffff,0,c74336c8,...) at dofileread+0x9e kern_readv(c7eb6000,0,ef30ac28,ef30ac48,1,...) at kern_readv+0x58 read(c7eb6000,ef30acec,ef30ad28,c0e8babe,0,...) at read+0x4f syscallenter(c7eb6000,ef30ace4,ef30ace4,0,0,...) at syscallenter+0x263 syscall(ef30ad28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196623, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2268 tid 100111 td 0xc7426b80 sched_switch(c7426b80,0,104,191,a16314f5,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7426b80,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c6f52a04,0,c0e84007,c7426b80,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6f52a70,0,ef24bad8,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c6f52a70,c6f52a04,c0e8f7f0,514,0,...) at _cv_wait_sig+0x243 tty_wait(c6f52a00,c6f52a70,ef24bc28,1,0,...) at tty_wait+0x71 ttydisc_read(c6f52a00,ef24bc28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c6da2800,ef24bc28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c7433658,ef24bc28,c6d9ee80,0,c7426b80,...) at devfs_read_f+0x7e dofileread(ef24bc28,ffffffff,ffffffff,0,c7433658,...) at dofileread+0x9e kern_readv(c7426b80,0,ef24bc28,ef24bc48,1,...) at kern_readv+0x58 read(c7426b80,ef24bcec,ef24bd28,c0e8babe,0,...) at read+0x4f syscallenter(c7426b80,ef24bce4,ef24bce4,0,0,...) at syscallenter+0x263 syscall(ef24bd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196623, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command inetd pid 2224 tid 100163 td 0xc7768b80 sched_switch(c7768b80,0,104,191,88f1b2f6,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7768b80,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c740a8d0,0,c0e84007,c7768b80,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c740a8e4,0,ef31ca4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c740a8e4,c740a8d0,c0e8d785,627,c74a39a0,...) at _cv_wait_sig+0x243 seltdwait(c74a39a0,58,c6d9ee80,c7768b80,c7768c30,...) at seltdwait+0xa2 kern_select(c7768b80,6,bfbfdfa0,0,0,0,20,c7e662bc,c7e662bc) at kern_select+0x504 select(c7768b80,ef31ccec,ef31cd28,c0e8babe,0,...) at select+0x66 syscallenter(c7768b80,ef31cce4,ef31cce4,0,0,...) at syscallenter+0x263 syscall(ef31cd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x281a85a3, esp = 0xbfbfdf5c, ebp = 0xbfbfede8 --- Tracing command watchdogd pid 2189 tid 100154 td 0xc7eb68a0 sched_switch(c7eb68a0,0,104,191,121d1e4c,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7eb68a0,0,c0e8b180,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(ea61,c09e7470,c7eb68a0,0,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012904,6c,c0e86f77,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012904,0,16c,c0e86f77,ea61,...) at _sleep+0x328 kern_nanosleep(c7eb68a0,ef301c34,ef301c3c,3c,0,...) at kern_nanosleep+0xc1 nanosleep(c7eb68a0,ef301cec,ef301d28,c0e8babe,0,...) at nanosleep+0x6f syscallenter(c7eb68a0,ef301ce4,ef301ce4,0,0,...) at syscallenter+0x263 syscall(ef301d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28191b67, esp = 0xbfbfecbc, ebp = 0xbfbfece8 --- Tracing command cron pid 2162 tid 100138 td 0xc74d7b80 Tracing command sendmail pid 2154 tid 100139 td 0xc74d78a0 Tracing command sendmail pid 2148 tid 100142 td 0xc7e555c0 sched_switch(c7e555c0,0,104,191,5292ae20,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7e555c0,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(ef2dda14,c099890a,c7466010,0,c7e555c0,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c7466024,0,ef2dda4c,101,0,...) at sleepq_timedwait_sig+0x1a _cv_timedwait_sig(c7466024,c7466010,1389,627,c7f758f8,...) at _cv_timedwait_sig+0x252 seltdwait(ef2ddbf8,ef2ddc00,c78f6500,c7e555c0,ef2ddaf8,...) at seltdwait+0x8a kern_select(c7e555c0,5,bfbfc510,0,0,ef2ddc40,20,5,0) at kern_select+0x504 select(c7e555c0,ef2ddcec,ef2ddd28,c0e8babe,0,...) at select+0x66 syscallenter(c7e555c0,ef2ddce4,ef2ddce4,0,0,...) at syscallenter+0x263 syscall(ef2ddd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x283e05a3, esp = 0xbfbfc47c, ebp = 0xbfbfcfa8 --- Tracing command sshd pid 2140 tid 100144 td 0xc7e55000 sched_switch(c7e55000,0,104,191,40e88bd8,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7e55000,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c7466050,0,c0e84007,c7e55000,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7466064,0,ef2e3a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7466064,c7466050,c0e8d785,627,c744f118,...) at _cv_wait_sig+0x243 seltdwait(c744f118,58,c78f6600,c7e55000,f33,...) at seltdwait+0xa2 kern_select(c7e55000,5,2880c0b0,0,0,0,20,c7e502bc,c7e502bc) at kern_select+0x504 select(c7e55000,ef2e3cec,2880d070,1,0,...) at select+0x66 syscallenter(c7e55000,ef2e3ce4,c0cd2d5d,c1010ff0,0,...) at syscallenter+0x263 syscall(ef2e3d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x284bd5a3, esp = 0xbfbfe25c, ebp = 0xbfbfedf8 --- Tracing command moused pid 2080 tid 100104 td 0xc74a98a0 sched_switch(c74a98a0,0,104,191,60e56c92,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c74a98a0,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c7409c10,0,c0e84007,c74a98a0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7409c24,0,ef20ba4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7409c24,c7409c10,c0e8d785,627,c744fdc8,...) at _cv_wait_sig+0x243 seltdwait(c744fdc8,58,c6d9ee80,c74a98a0,14,...) at seltdwait+0xa2 kern_select(c74a98a0,6,bfbfea04,0,0,0,20,c74d2834,c74d2834) at kern_select+0x504 select(c74a98a0,ef20bcec,ef20bd28,c0e8babe,0,...) at select+0x66 syscallenter(c74a98a0,ef20bce4,ef20bce4,0,0,...) at syscallenter+0x263 syscall(ef20bd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x281b35a3, esp = 0xbfbfe99c, ebp = 0xbfbfeb28 --- Tracing command ntpd pid 2020 tid 100120 td 0xc78cdb80 sched_switch(c78cdb80,0,104,191,e9be70b5,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c78cdb80,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c716c510,0,c0e84007,c78cdb80,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c716c524,0,ef272a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c716c524,c716c510,c0e8d785,627,c78d9498,...) at _cv_wait_sig+0x243 seltdwait(c78d9498,58,c6d9ee80,c78cdb80,0,...) at seltdwait+0xa2 kern_select(c78cdb80,1c,bfbfece8,0,0,0,20,c78c8000,c78c8000) at kern_select+0x504 select(c78cdb80,ef272cec,ef272d80,ef272c88,0,...) at select+0x66 syscallenter(c78cdb80,ef272ce4,c0cd2a16,fffffffe,246,...) at syscallenter+0x263 syscall(ef272d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x283625a3, esp = 0xbfbfecbc, ebp = 0xbfbfed88 --- Tracing command nfsd pid 1904 tid 100135 td 0xc74605c0 sched_switch(c74605c0,0,104,191,a4c27900,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c74605c0,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(ef2bdbe0,c099890a,c7bb2100,0,c74605c0,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c7bc3810,0,ef2bdc18,101,0,...) at sleepq_timedwait_sig+0x1a _cv_timedwait_sig(c7bc3810,c7bb2100,1388,3b1,0,...) at _cv_timedwait_sig+0x252 svc_run_internal(ef2bdd14,c097bbc8,c7bb2100,ef2bdd28,c0e8036c,...) at svc_run_internal+0x356 svc_thread_start(c7bb2100,ef2bdd28,c0e8036c,390,c74d22bc,...) at svc_thread_start+0x10 fork_exit(c0b8ad70,c7bb2100,ef2bdd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0x804c12e, eip = 0xc, esp = 0x33, ebp = 0 --- Tracing command nfsd pid 1904 tid 100134 td 0xc74608a0 sched_switch(c74608a0,0,104,191,b891e03,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c74608a0,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(ef2babe0,c099890a,c7bb2100,0,c74608a0,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c6f7f490,0,ef2bac18,101,0,...) at sleepq_timedwait_sig+0x1a _cv_timedwait_sig(c6f7f490,c7bb2100,1388,3b1,0,...) at _cv_timedwait_sig+0x252 svc_run_internal(ef2bad14,c097bbc8,c7bb2100,ef2bad28,c0e8036c,...) at svc_run_internal+0x356 svc_thread_start(c7bb2100,ef2bad28,c0e8036c,390,c74d22bc,...) at svc_thread_start+0x10 fork_exit(c0b8ad70,c7bb2100,ef2bad28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0x804c12e, eip = 0xc, esp = 0x33, ebp = 0 --- Tracing command nfsd pid 1904 tid 100133 td 0xc7460b80 sched_switch(c7460b80,0,104,191,ebfff734,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7460b80,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(ef2b7be0,c099890a,c7bb2100,0,c7460b80,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c7bc3850,0,ef2b7c18,101,0,...) at sleepq_timedwait_sig+0x1a _cv_timedwait_sig(c7bc3850,c7bb2100,1388,3b1,0,...) at _cv_timedwait_sig+0x252 svc_run_internal(ef2b7d14,c097bbc8,c7bb2100,ef2b7d28,c0e8036c,...) at svc_run_internal+0x356 svc_thread_start(c7bb2100,ef2b7d28,c0e8036c,390,c74d22bc,...) at svc_thread_start+0x10 fork_exit(c0b8ad70,c7bb2100,ef2b7d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0x804c12e, eip = 0xc, esp = 0x33, ebp = 0 --- Tracing command nfsd pid 1904 tid 100106 td 0xc74a92e0 sched_switch(c74a92e0,0,104,191,b15febd7,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c74a92e0,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(ef214ab4,c099890a,c7bb2100,0,c74a92e0,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c7bc4d10,0,ef214aec,101,0,...) at sleepq_timedwait_sig+0x1a _cv_timedwait_sig(c7bc4d10,c7bb2100,1388,3b1,ef214b34,...) at _cv_timedwait_sig+0x252 svc_run_internal(c74a9490,14,c0eb3d1a,c7b8560f,ef214c10,...) at svc_run_internal+0x356 svc_run(c7bb2100,0,c7b85a4f,1c2,0,...) at svc_run+0x7b nfssvc_nfsd(bfbfe870,ef214c10,c,c6d9ee80,ef214c24,...) at nfssvc_nfsd+0xb7 nfssvc_nfsserver(c74a92e0,ef214cec,c74d22bc,0,ef214c7c,...) at nfssvc_nfsserver+0x55 nfssvc(c74a92e0,ef214cec,ef214d28,c0e8babe,0,...) at nfssvc+0x89 syscallenter(c74a92e0,ef214ce4,ef214ce4,0,0,...) at syscallenter+0x263 syscall(ef214d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (155, FreeBSD ELF32, nfssvc), eip = 0x280dd86b, esp = 0xbfbfe82c, ebp = 0xbfbfea98 --- Tracing command nfsd pid 1903 tid 100126 td 0xc78cc8a0 sched_switch(c78cc8a0,0,104,191,65755494,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c78cc8a0,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c7466710,0,c0e84007,c78cc8a0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7466724,0,ef284a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7466724,c7466710,c0e8d785,627,c7517b98,...) at _cv_wait_sig+0x243 seltdwait(c7517b98,58,c6d9ee80,c78cc8a0,f33,...) at seltdwait+0xa2 kern_select(c78cc8a0,5,bfbfecb4,0,0,0,20,c77d6af0,c77d6af0) at kern_select+0x504 select(c78cc8a0,ef284cec,ef284c7c,c09984e4,0,...) at select+0x66 syscallenter(c78cc8a0,ef284ce4,c0ed5108,ee,0,...) at syscallenter+0x263 syscall(ef284d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x281845a3, esp = 0xbfbfea9c, ebp = 0xbfbfede8 --- Tracing command mountd pid 1894 tid 100115 td 0xc74a9000 sched_switch(c74a9000,0,104,191,c5552b08,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c74a9000,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c7466750,0,c0e84007,c74a9000,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7466764,0,ef263a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7466764,c7466750,c0e8d785,627,c78d9070,...) at _cv_wait_sig+0x243 seltdwait(c78d9070,58,c6d9ee80,c74a9000,c115b7c8,...) at seltdwait+0xa2 kern_select(c74a9000,9,bfbfed3c,0,0,0,20,c78c9000,c78c9000) at kern_select+0x504 select(c74a9000,ef263cec,ef263d28,c0e8babe,0,...) at select+0x66 syscallenter(c74a9000,ef263ce4,ef263ce4,0,0,...) at syscallenter+0x263 syscall(ef263d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x2819a5a3, esp = 0xbfbfed0c, ebp = 0xbfbfedd8 --- Tracing command rpcbind pid 1795 tid 100116 td 0xc78ce8a0 sched_switch(c78ce8a0,0,104,191,e7dacc4a,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c78ce8a0,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(ef266a6c,c099890a,c7409c50,0,c78ce8a0,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c7409c64,0,ef266aa4,101,0,...) at sleepq_timedwait_sig+0x1a _cv_timedwait_sig(c7409c64,c7409c50,7531,627,ef266b5c,...) at _cv_timedwait_sig+0x252 seltdwait(ef266c2c,ef266c34,535,c78ce8a0,ef266b2c,...) at seltdwait+0x8a poll(c78ce8a0,ef266cec,ef266d28,c0e8babe,0,...) at poll+0x300 syscallenter(c78ce8a0,ef266ce4,ef266ce4,0,0,...) at syscallenter+0x263 syscall(ef266d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (209, FreeBSD ELF32, poll), eip = 0x2813f7ab, esp = 0xbfbfcbac, ebp = 0xbfbfed78 --- Tracing command syslogd pid 1715 tid 100100 td 0xc74aa5c0 sched_switch(c74aa5c0,0,104,191,27d0a17,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,50,...) at mi_switch+0x219 sleepq_switch(c74aa5c0,0,c0e8b180,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c27dcbb0,50,c0ebcf89,0,0,...) at sleepq_timedwait+0x6b _sleep(c27dcbb0,c79d4220,50,c0ebcf89,4e20,...) at _sleep+0x342 swap_pager_getpages(c79d4220,ef1fdb8c,1,0,ef1fdc10,...) at swap_pager_getpages+0x3a1 vm_fault_hold(c7422570,281c5000,1,0,0,...) at vm_fault_hold+0x104f vm_fault(c7422570,281c5000,1,0,281c5c80,...) at vm_fault+0x2f trap_pfault(5,0,c0ed37f6,30d,c77d5578,...) at trap_pfault+0x10d trap(ef1fdd28) at trap+0x2c9 calltrap() at calltrap+0x6 --- trap 0xc, eip = 0x28192033, esp = 0xbfbfdc80, ebp = 0xbfbfdcb8 --- Tracing command devd pid 1514 tid 100125 td 0xc78ccb80 sched_switch(c78ccb80,0,104,191,bfa57fd0,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c78ccb80,0,c0e8b180,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c7466090,0,c0e84007,c78ccb80,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c74660a4,0,ef281a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c74660a4,c7466090,c0e8d785,627,c744fd90,...) at _cv_wait_sig+0x243 seltdwait(c744fd90,58,c6d9ee80,c78ccb80,c0ebd3a1,...) at seltdwait+0xa2 kern_select(c78ccb80,5,bfbfe960,0,0,0,20,c78c7000,c78c7000) at kern_select+0x504 select(c78ccb80,ef281cec,ef281d28,c0e8babe,0,...) at select+0x66 syscallenter(c78ccb80,ef281ce4,ef281ce4,0,0,...) at syscallenter+0x263 syscall(ef281d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x808b98b, esp = 0xbfbfe92c, ebp = 0xbfbfee08 --- Tracing command softdepflush pid 18 tid 100075 td 0xc7045b80 free_diradd(c118efa8,4,c0eb851c,19e6,c79ec080,...) at free_diradd+0xc4 free_newdirblk(c118efa8,4,c0eb851c,19c8,c79ec080,...) at free_newdirblk+0x61 free_newblk(c118efa8,0,c0eb851c,1b47,424,...) at free_newblk+0x10f handle_workitem_freeblocks(0,ecf96c78,2,65e,1,...) at handle_workitem_freeblocks+0xcc process_worklist_item(c118efa8,0,c0eb851c,5a8,c7045b80,...) at process_worklist_item+0x225 softdep_process_worklist(c73fb2d4,0,c0eb851c,538,3e8,...) at softdep_process_worklist+0x83 softdep_flush(0,ecf96d28,c0e8036c,390,c73a42bc,...) at softdep_flush+0x2a0 fork_exit(c0bd8570,0,ecf96d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf96d60, ebp = 0 --- Tracing command syncer pid 17 tid 100074 td 0xc7170000 sched_switch(c7170000,0,104,191,f0f840f9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7170000,0,c0e8b180,28b,c7170000,...) at sleepq_switch+0x162 sleepq_timedwait(c1188a94,0,ecf93c78,1,0,...) at sleepq_timedwait+0x6b _cv_timedwait(c1188a94,c1188a80,3e8,76a,4e20,...) at _cv_timedwait+0x252 sched_sync(0,ecf93d28,c0e8036c,390,c73a4578,...) at sched_sync+0x595 fork_exit(c0a42990,0,ecf93d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf93d60, ebp = 0 --- Tracing command vnlru pid 16 tid 100073 td 0xc71702e0 sched_switch(c71702e0,0,104,191,bddb3107,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,60,...) at mi_switch+0x219 sleepq_switch(c71702e0,0,c0e8b180,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c73a4834,60,c0e95e04,0,0,...) at sleepq_timedwait+0x6b _sleep(c73a4834,c1188a54,260,c0e95e04,3e8,...) at _sleep+0x342 vnlru_proc(0,ecf90d28,c0e8036c,390,c73a4834,...) at vnlru_proc+0xe7 fork_exit(c0a44a00,0,ecf90d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf90d60, ebp = 0 --- Tracing command bufdaemon pid 9 tid 100072 td 0xc71705c0 sched_switch(c71705c0,0,104,191,e3930063,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,54,...) at mi_switch+0x219 sleepq_switch(c71705c0,0,c0e8b180,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c1188728,54,c0e92e32,0,0,...) at sleepq_timedwait+0x6b _sleep(c1188728,c1188730,54,c0e92e32,3e8,...) at _sleep+0x342 buf_daemon(0,ecf8dd28,c0e8036c,390,c73a4af0,...) at buf_daemon+0x175 fork_exit(c0a2a100,0,ecf8dd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf8dd60, ebp = 0 --- Tracing command pagezero pid 8 tid 100071 td 0xc71708a0 sched_switch(c71708a0,0,104,191,d3f42f5e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c71708a0,0,c0e8b180,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c1190e5c,0,c0ec0e68,0,0,...) at sleepq_timedwait+0x6b _sleep(c1190e5c,c118f900,0,c0ec0e68,493e0,...) at _sleep+0x342 vm_pagezero(0,ecf8ad28,c0e8036c,390,c73a6000,...) at vm_pagezero+0xdc fork_exit(c0c1ad10,0,ecf8ad28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf8ad60, ebp = 0 --- Tracing command vmdaemon pid 7 tid 100070 td 0xc7170b80 sched_switch(c7170b80,0,104,191,714edef0,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,74,...) at mi_switch+0x219 sleepq_switch(c7170b80,0,c0e8b180,268,0,...) at sleepq_switch+0x162 sleepq_wait(c1190a48,74,c0e92e32,0,0,...) at sleepq_wait+0x63 _sleep(c1190a48,c1190a4c,74,c0e92e32,0,...) at _sleep+0x372 vm_daemon(0,ecf87d28,c0e8036c,390,c6dbe2bc,...) at vm_daemon+0x59 fork_exit(c0c148d0,0,ecf87d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf87d60, ebp = 0 --- Tracing command pagedaemon pid 6 tid 100069 td 0xc7171000 sched_switch(c7171000,0,104,191,fac85150,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,54,...) at mi_switch+0x219 sleepq_switch(c7171000,0,c0e8b180,268,0,...) at sleepq_switch+0x162 sleepq_wait(c118f178,54,c0ec0474,0,0,...) at sleepq_wait+0x63 _sleep(c118f178,c1190a6c,54,c0ec0474,0,...) at _sleep+0x372 getpbuf(c118f178,0,c0ebcdbe,532,1195,...) at getpbuf+0x68 swap_pager_putpages(ca67e770,ecf84b80,10,0,ecf84ab0,...) at swap_pager_putpages+0x1f1 vm_pageout_flush(ecf84b80,10,0,0,0,...) at vm_pageout_flush+0x152 vm_pageout_clean(c1190980,0,c0ebff77,43a,1388,...) at vm_pageout_clean+0x490 vm_pageout(0,ecf84d28,c0e8036c,390,c6dbe578,...) at vm_pageout+0x113b fork_exit(c0c158f0,0,ecf84d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf84d60, ebp = 0 --- Tracing command xpt_thrd pid 5 tid 100068 td 0xc71712e0 sched_switch(c71712e0,0,104,191,140e56f,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c71712e0,0,c0e8b180,268,0,...) at sleepq_switch+0x162 sleepq_wait(c0fd77d4,5c,c0cf9c72,0,0,...) at sleepq_wait+0x63 _sleep(c0fd77d4,c0fd7818,5c,c0cf9c72,0,...) at _sleep+0x372 xpt_scanner_thread(0,ecf81d28,c0e8036c,390,c6dbe834,...) at xpt_scanner_thread+0x47 fork_exit(c048bb70,0,ecf81d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf81d60, ebp = 0 --- Tracing command sctp_iterator pid 4 tid 100067 td 0xc71715c0 sched_switch(c71715c0,0,104,191,6abb9e81,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c71715c0,0,c0e8b180,268,0,...) at sleepq_switch+0x162 sleepq_wait(c118a558,0,c0ea8ddf,0,0,...) at sleepq_wait+0x63 _sleep(c118a558,c118a520,0,c0ea8ddf,0,...) at _sleep+0x372 sctp_iterator_thread(0,ecf7ed28,c0e8036c,390,c6dbeaf0,...) at sctp_iterator_thread+0x5c fork_exit(c0ad3ae0,0,ecf7ed28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf7ed60, ebp = 0 --- Tracing command fdc0 pid 3 tid 100063 td 0xc70362e0 sched_switch(c70362e0,0,104,191,bddb8b71,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c70362e0,0,c0e8b180,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c6fe143c,5c,c0e78e92,0,0,...) at sleepq_timedwait+0x6b _sleep(c6fe143c,c6fe14f0,5c,c0e78e92,3e8,...) at _sleep+0x342 fdc_thread(c6fe1400,ecf72d28,c0e8036c,390,c701e000,...) at fdc_thread+0x27d fork_exit(c0c99e80,c6fe1400,ecf72d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf72d60, ebp = 0 --- Tracing command fw0_probe pid 2 tid 100061 td 0xc70368a0 sched_switch(c70368a0,0,104,191,165cea6,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c70368a0,0,c0e8b180,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b180,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c706b000,6c,c0e78e92,100,0,...) at sleepq_wait_sig+0x17 _sleep(c706b000,c706f488,16c,c0e78e92,0,...) at _sleep+0x35c fw_bus_probe_thread(c706b000,ecf62d28,c0e8036c,390,c701e2bc,...) at fw_bus_probe_thread+0xa08 fork_exit(c06aaa90,c706b000,ecf62d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf62d60, ebp = 0 --- Tracing command usb pid 15 tid 100057 td 0xc70435c0 sched_switch(c70435c0,0,104,191,ee9c3975,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70435c0,0,c0e8b180,268,c70435c0,...) at sleepq_switch+0x162 sleepq_wait(c704bd34,0,ecf4fcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c704bd34,c704bdd4,c0e5753e,6b,c704bd3c,...) at _cv_wait+0x243 usb_process(c704bd2c,ecf4fd28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c704bd2c,ecf4fd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf4fd60, ebp = 0 --- Tracing command usb pid 15 tid 100056 td 0xc70438a0 sched_switch(c70438a0,0,104,191,8106a873,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70438a0,0,c0e8b180,268,c70438a0,...) at sleepq_switch+0x162 sleepq_wait(c704bd04,0,ecf4ccac,1,0,...) at sleepq_wait+0x63 _cv_wait(c704bd04,c704bdd4,c0e5753e,6b,c704bd0c,...) at _cv_wait+0x243 usb_process(c704bcfc,ecf4cd28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c704bcfc,ecf4cd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf4cd60, ebp = 0 --- Tracing command usb pid 15 tid 100055 td 0xc7043b80 sched_switch(c7043b80,0,104,191,ee334703,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7043b80,0,c0e8b180,268,c7043b80,...) at sleepq_switch+0x162 sleepq_wait(c704bcd4,0,ecf49cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c704bcd4,c704bdd4,c0e5753e,6b,c704bcdc,...) at _cv_wait+0x243 usb_process(c704bccc,ecf49d28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c704bccc,ecf49d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf49d60, ebp = 0 --- Tracing command usb pid 15 tid 100054 td 0xc7045000 sched_switch(c7045000,0,104,191,ee33349c,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7045000,0,c0e8b180,268,c7045000,...) at sleepq_switch+0x162 sleepq_wait(c704bca4,0,ecf46cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c704bca4,c704bdd4,c0e5753e,6b,c704bcac,...) at _cv_wait+0x243 usb_process(c704bc9c,ecf46d28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c704bc9c,ecf46d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf46d60, ebp = 0 --- Tracing command usb pid 15 tid 100052 td 0xc70455c0 sched_switch(c70455c0,0,104,191,ee332048,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70455c0,0,c0e8b180,268,c70455c0,...) at sleepq_switch+0x162 sleepq_wait(c7040b5c,0,ecf3dcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7040b5c,c7040bfc,c0e5753e,6b,c7040b64,...) at _cv_wait+0x243 usb_process(c7040b54,ecf3dd28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c7040b54,ecf3dd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf3dd60, ebp = 0 --- Tracing command usb pid 15 tid 100051 td 0xc7034000 sched_switch(c7034000,0,104,191,3b647cc5,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7034000,0,c0e8b180,268,c7034000,...) at sleepq_switch+0x162 sleepq_wait(c7040b2c,0,ecf3acac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7040b2c,c7040bfc,c0e5753e,6b,c7040b34,...) at _cv_wait+0x243 usb_process(c7040b24,ecf3ad28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c7040b24,ecf3ad28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf3ad60, ebp = 0 --- Tracing command usb pid 15 tid 100050 td 0xc70342e0 sched_switch(c70342e0,0,104,191,edcc235e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70342e0,0,c0e8b180,268,c70342e0,...) at sleepq_switch+0x162 sleepq_wait(c7040afc,0,ecf37cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7040afc,c7040bfc,c0e5753e,6b,c7040b04,...) at _cv_wait+0x243 usb_process(c7040af4,ecf37d28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c7040af4,ecf37d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf37d60, ebp = 0 --- Tracing command usb pid 15 tid 100049 td 0xc70345c0 sched_switch(c70345c0,0,104,191,edcc0de5,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70345c0,0,c0e8b180,268,c70345c0,...) at sleepq_switch+0x162 sleepq_wait(c7040acc,0,ecf34cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7040acc,c7040bfc,c0e5753e,6b,c7040ad4,...) at _cv_wait+0x243 usb_process(c7040ac4,ecf34d28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c7040ac4,ecf34d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf34d60, ebp = 0 --- Tracing command usb pid 15 tid 100048 td 0xc70348a0 sched_switch(c70348a0,0,104,191,edcbf4d9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70348a0,0,c0e8b180,268,c70348a0,...) at sleepq_switch+0x162 sleepq_wait(c7039b5c,0,e0bffcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7039b5c,c7039bfc,c0e5753e,6b,c7039b64,...) at _cv_wait+0x243 usb_process(c7039b54,e0bffd28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c7039b54,e0bffd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0bffd60, ebp = 0 --- Tracing command usb pid 15 tid 100047 td 0xc7034b80 sched_switch(c7034b80,0,104,191,389a7897,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7034b80,0,c0e8b180,268,c7034b80,...) at sleepq_switch+0x162 sleepq_wait(c7039b2c,0,e0bfccac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7039b2c,c7039bfc,c0e5753e,6b,c7039b34,...) at _cv_wait+0x243 usb_process(c7039b24,e0bfcd28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c7039b24,e0bfcd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0bfcd60, ebp = 0 --- Tracing command usb pid 15 tid 100046 td 0xc7035000 sched_switch(c7035000,0,104,191,e7d5bfbe,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7035000,0,c0e8b180,268,c7035000,...) at sleepq_switch+0x162 sleepq_wait(c7039afc,0,e0bf9cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7039afc,c7039bfc,c0e5753e,6b,c7039b04,...) at _cv_wait+0x243 usb_process(c7039af4,e0bf9d28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c7039af4,e0bf9d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0bf9d60, ebp = 0 --- Tracing command usb pid 15 tid 100045 td 0xc70352e0 sched_switch(c70352e0,0,104,191,e7d5ae0f,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70352e0,0,c0e8b180,268,c70352e0,...) at sleepq_switch+0x162 sleepq_wait(c7039acc,0,e0bf6cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7039acc,c7039bfc,c0e5753e,6b,c7039ad4,...) at _cv_wait+0x243 usb_process(c7039ac4,e0bf6d28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c7039ac4,e0bf6d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0bf6d60, ebp = 0 --- Tracing command usb pid 15 tid 100044 td 0xc70355c0 sched_switch(c70355c0,0,104,191,e7d5982e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70355c0,0,c0e8b180,268,c70355c0,...) at sleepq_switch+0x162 sleepq_wait(c702fb5c,0,e0bf2cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c702fb5c,c702fbfc,c0e5753e,6b,c702fb64,...) at _cv_wait+0x243 usb_process(c702fb54,e0bf2d28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c702fb54,e0bf2d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0bf2d60, ebp = 0 --- Tracing command usb pid 15 tid 100043 td 0xc70358a0 sched_switch(c70358a0,0,104,191,3788bd85,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70358a0,0,c0e8b180,268,c70358a0,...) at sleepq_switch+0x162 sleepq_wait(c702fb2c,0,e0befcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c702fb2c,c702fbfc,c0e5753e,6b,c702fb34,...) at _cv_wait+0x243 usb_process(c702fb24,e0befd28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c702fb24,e0befd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0befd60, ebp = 0 --- Tracing command usb pid 15 tid 100042 td 0xc7035b80 sched_switch(c7035b80,0,104,191,e76e5fd8,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7035b80,0,c0e8b180,268,c7035b80,...) at sleepq_switch+0x162 sleepq_wait(c702fafc,0,e0beccac,1,0,...) at sleepq_wait+0x63 _cv_wait(c702fafc,c702fbfc,c0e5753e,6b,c702fb04,...) at _cv_wait+0x243 usb_process(c702faf4,e0becd28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c702faf4,e0becd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0becd60, ebp = 0 --- Tracing command usb pid 15 tid 100041 td 0xc7036000 sched_switch(c7036000,0,104,191,e76e4e30,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7036000,0,c0e8b180,268,c7036000,...) at sleepq_switch+0x162 sleepq_wait(c702facc,0,e0be9cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c702facc,c702fbfc,c0e5753e,6b,c702fad4,...) at _cv_wait+0x243 usb_process(c702fac4,e0be9d28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c702fac4,e0be9d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0be9d60, ebp = 0 --- Tracing command usb pid 15 tid 100039 td 0xc701f2e0 sched_switch(c701f2e0,0,104,191,e76e3ace,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c701f2e0,0,c0e8b180,268,c701f2e0,...) at sleepq_switch+0x162 sleepq_wait(c7029b5c,0,e0be2cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7029b5c,c7029bfc,c0e5753e,6b,c7029b64,...) at _cv_wait+0x243 usb_process(c7029b54,e0be2d28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c7029b54,e0be2d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0be2d60, ebp = 0 --- Tracing command usb pid 15 tid 100038 td 0xc701f5c0 sched_switch(c701f5c0,0,104,191,3735d272,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c701f5c0,0,c0e8b180,268,c701f5c0,...) at sleepq_switch+0x162 sleepq_wait(c7029b2c,0,e0bdfcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7029b2c,c7029bfc,c0e5753e,6b,c7029b34,...) at _cv_wait+0x243 usb_process(c7029b24,e0bdfd28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c7029b24,e0bdfd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0bdfd60, ebp = 0 --- Tracing command usb pid 15 tid 100037 td 0xc701f8a0 sched_switch(c701f8a0,0,104,191,e7077f27,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c701f8a0,0,c0e8b180,268,c701f8a0,...) at sleepq_switch+0x162 sleepq_wait(c7029afc,0,e0bdccac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7029afc,c7029bfc,c0e5753e,6b,c7029b04,...) at _cv_wait+0x243 usb_process(c7029af4,e0bdcd28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c7029af4,e0bdcd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0bdcd60, ebp = 0 --- Tracing command usb pid 15 tid 100036 td 0xc701fb80 sched_switch(c701fb80,0,104,191,e7076c30,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c701fb80,0,c0e8b180,268,c701fb80,...) at sleepq_switch+0x162 sleepq_wait(c7029acc,0,e0bd9cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7029acc,c7029bfc,c0e5753e,6b,c7029ad4,...) at _cv_wait+0x243 usb_process(c7029ac4,e0bd9d28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c7029ac4,e0bd9d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0bd9d60, ebp = 0 --- Tracing command usb pid 15 tid 100034 td 0xc70222e0 sched_switch(c70222e0,0,104,191,e70757c0,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70222e0,0,c0e8b180,268,c70222e0,...) at sleepq_switch+0x162 sleepq_wait(c7019b5c,0,e0bd2cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7019b5c,c7019bfc,c0e5753e,6b,c7019b64,...) at _cv_wait+0x243 usb_process(c7019b54,e0bd2d28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c7019b54,e0bd2d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0bd2d60, ebp = 0 --- Tracing command usb pid 15 tid 100033 td 0xc70225c0 sched_switch(c70225c0,0,104,191,34a24ba9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70225c0,0,c0e8b180,268,c70225c0,...) at sleepq_switch+0x162 sleepq_wait(c7019b2c,0,e0bcfcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7019b2c,c7019bfc,c0e5753e,6b,c7019b34,...) at _cv_wait+0x243 usb_process(c7019b24,e0bcfd28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c7019b24,e0bcfd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0bcfd60, ebp = 0 --- Tracing command usb pid 15 tid 100032 td 0xc70228a0 sched_switch(c70228a0,0,104,191,e6a062a9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70228a0,0,c0e8b180,268,c70228a0,...) at sleepq_switch+0x162 sleepq_wait(c7019afc,0,e0bcccac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7019afc,c7019bfc,c0e5753e,6b,c7019b04,...) at _cv_wait+0x243 usb_process(c7019af4,e0bccd28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c7019af4,e0bccd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0bccd60, ebp = 0 --- Tracing command usb pid 15 tid 100031 td 0xc7022b80 sched_switch(c7022b80,0,104,191,e6a04fc5,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7022b80,0,c0e8b180,268,c7022b80,...) at sleepq_switch+0x162 sleepq_wait(c7019acc,0,e0bc9cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7019acc,c7019bfc,c0e5753e,6b,c7019ad4,...) at _cv_wait+0x243 usb_process(c7019ac4,e0bc9d28,c0e8036c,390,c701e578,...) at usb_process+0x193 fork_exit(c0850390,c7019ac4,e0bc9d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0bc9d60, ebp = 0 --- Tracing command yarrow pid 14 tid 100017 td 0xc6ecb5c0 sched_switch(c6ecb5c0,0,104,191,f81da3d5,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6ecb5c0,0,c0e8b180,28b,2,...) at sleepq_switch+0x162 sleepq_timedwait(c1011704,0,c0e78e92,2,0,...) at sleepq_timedwait+0x6b _sleep(c1011704,0,0,c0e78e92,64,...) at _sleep+0x342 pause(c0e78e92,64,c0e45f4e,111,0,...) at pause+0x47 random_kthread(0,c6b55d28,c0e8036c,390,c6dbd000,...) at random_kthread+0x1ef fork_exit(c07bb4a0,0,c6b55d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b55d60, ebp = 0 --- Tracing command geom pid 13 tid 100015 td 0xc6ecbb80 sched_switch(c6ecbb80,0,104,191,fa79728c,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c6ecbb80,0,c0e8b180,268,0,...) at sleepq_switch+0x162 sleepq_wait(c100f348,5c,c0e78e92,0,0,...) at sleepq_wait+0x63 _sleep(c100f348,c100f2a8,25c,c0e78e92,0,...) at _sleep+0x372 g_io_schedule_down(c6ecbb80,0,c0e7a9e5,6c,c6b4fd14,...) at g_io_schedule_down+0x5b g_down_procbody(0,c6b4fd28,c0e8036c,390,c6dbd2bc,...) at g_down_procbody+0x9d fork_exit(c093e770,0,c6b4fd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b4fd60, ebp = 0 --- Tracing command geom pid 13 tid 100014 td 0xc6ecc000 sched_switch(c6ecc000,0,104,191,fa860696,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c6ecc000,0,c0e8b180,268,0,...) at sleepq_switch+0x162 sleepq_wait(c100f344,5c,c0e78e92,0,0,...) at sleepq_wait+0x63 _sleep(c100f344,c100f2c8,25c,c0e78e92,0,...) at _sleep+0x372 g_io_schedule_up(c6ecc000,0,c0e7a9e5,5f,c6b4cd14,...) at g_io_schedule_up+0x134 g_up_procbody(0,c6b4cd28,c0e8036c,390,c6dbd2bc,...) at g_up_procbody+0x9d fork_exit(c093e810,0,c6b4cd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b4cd60, ebp = 0 --- Tracing command geom pid 13 tid 100013 td 0xc6dc02e0 sched_switch(c6dc02e0,0,104,191,bfa32daf,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c6dc02e0,0,c0e8b180,268,0,...) at sleepq_switch+0x162 sleepq_wait(c100f33c,5c,c0e78e92,0,0,...) at sleepq_wait+0x63 _sleep(c100f33c,c100f26c,25c,c0e78e92,0,...) at _sleep+0x372 g_run_events(c101f580,0,c0e7a9e5,79,c6b49d14,...) at g_run_events+0x526 g_event_procbody(0,c6b49d28,c0e8036c,390,c6dbd2bc,...) at g_event_procbody+0x90 fork_exit(c093e8b0,0,c6b49d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b49d60, ebp = 0 --- Tracing command intr pid 12 tid 100065 td 0xc7171b80 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100064 td 0xc7172000 sched_switch(c7172000,0,109,191,e69ca4ec,...) at sched_switch+0x3bc mi_switch(109,0,c0e80691,554,c7172000,...) at mi_switch+0x219 ithread_loop(c7162ae0,ecf75d28,c0e8036c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097f750,c7162ae0,ecf75d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf75d60, ebp = 0 --- Tracing command intr pid 12 tid 100062 td 0xc70365c0 sched_switch(c70365c0,0,109,191,a15571f0,...) at sched_switch+0x3bc mi_switch(109,0,c0e80691,554,c70365c0,...) at mi_switch+0x219 ithread_loop(c7162b70,ecf65d28,c0e8036c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097f750,c7162b70,ecf65d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf65d60, ebp = 0 --- Tracing command intr pid 12 tid 100059 td 0xc7043000 sched_switch(c7043000,0,109,191,e69c3e46,...) at sched_switch+0x3bc mi_switch(109,0,c0e80691,554,c7043000,...) at mi_switch+0x219 ithread_loop(c701db60,ecf59d28,c0e8036c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097f750,c701db60,ecf59d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf59d60, ebp = 0 --- Tracing command intr pid 12 tid 100058 td 0xc70432e0 sched_switch(c70432e0,0,109,191,2365908,...) at sched_switch+0x3bc mi_switch(109,0,c0e80691,554,c70432e0,...) at mi_switch+0x219 ithread_loop(c701d210,ecf55d28,c0e8036c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097f750,c701d210,ecf55d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf55d60, ebp = 0 --- Tracing command intr pid 12 tid 100053 td 0xc70452e0 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100040 td 0xc701f000 sched_switch(c701f000,0,109,191,be48837,...) at sched_switch+0x3bc mi_switch(109,0,c0e80691,554,c701f000,...) at mi_switch+0x219 ithread_loop(c70028a0,e0be6d28,c0e8036c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097f750,c70028a0,e0be6d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0be6d60, ebp = 0 --- Tracing command intr pid 12 tid 100035 td 0xc7022000 sched_switch(c7022000,0,109,191,64ff5a9,...) at sched_switch+0x3bc mi_switch(109,0,c0e80691,554,c7022000,...) at mi_switch+0x219 ithread_loop(c7002ab0,e0bd6d28,c0e8036c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097f750,c7002ab0,e0bd6d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0bd6d60, ebp = 0 --- Tracing command intr pid 12 tid 100030 td 0xc6ecc2e0 sched_switch(c6ecc2e0,0,109,191,4624fbd,...) at sched_switch+0x3bc mi_switch(109,0,c0e80691,554,c6ecc2e0,...) at mi_switch+0x219 ithread_loop(c701d080,e0bc6d28,c0e8036c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097f750,c701d080,e0bc6d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0bc6d60, ebp = 0 --- Tracing command intr pid 12 tid 100029 td 0xc6ecc5c0 sched_switch(c6ecc5c0,0,109,191,fa846ec5,...) at sched_switch+0x3bc mi_switch(109,0,c0e80691,554,c6ecc5c0,...) at mi_switch+0x219 ithread_loop(c7002340,e0a70d28,c0e8036c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097f750,c7002340,e0a70d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0a70d60, ebp = 0 --- Tracing command intr pid 12 tid 100028 td 0xc6ecc8a0 sched_switch(c6ecc8a0,0,109,191,8482af3,...) at sched_switch+0x3bc mi_switch(109,0,c0e80691,554,c6ecc8a0,...) at mi_switch+0x219 ithread_loop(c70024e0,e0a6cd28,c0e8036c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097f750,c70024e0,e0a6cd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0a6cd60, ebp = 0 --- Tracing command intr pid 12 tid 100027 td 0xc6eccb80 sched_switch(c6eccb80,0,109,191,fa84f6c1,...) at sched_switch+0x3bc mi_switch(109,0,c0e80691,554,c6eccb80,...) at mi_switch+0x219 ithread_loop(c6d83380,c6b73d28,c0e8036c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097f750,c6d83380,c6b73d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b73d60, ebp = 0 --- Tracing command intr pid 12 tid 100021 td 0xc6e068a0 sched_switch(c6e068a0,0,109,191,41895fa7,...) at sched_switch+0x3bc mi_switch(109,0,c0e80691,554,c6e068a0,...) at mi_switch+0x219 ithread_loop(c6d83430,c6b61d28,c0e8036c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097f750,c6d83430,c6b61d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b61d60, ebp = 0 --- Tracing command intr pid 12 tid 100020 td 0xc6e06b80 sched_switch(c6e06b80,0,109,191,60d3dd46,...) at sched_switch+0x3bc mi_switch(109,0,c0e80691,554,c6e06b80,...) at mi_switch+0x219 ithread_loop(c6d83440,c6b5ed28,c0e8036c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097f750,c6d83440,c6b5ed28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b5ed60, ebp = 0 --- Tracing command intr pid 12 tid 100018 td 0xc6ecb2e0 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100012 td 0xc6dc05c0 sched_switch(c6dc05c0,0,109,191,cc04afe7,...) at sched_switch+0x3bc mi_switch(109,0,c0e80691,554,c6dc05c0,...) at mi_switch+0x219 ithread_loop(c6d836d0,c6b46d28,c0e8036c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097f750,c6d836d0,c6b46d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b46d60, ebp = 0 --- Tracing command intr pid 12 tid 100011 td 0xc6dc08a0 sched_switch(c6dc08a0,0,109,191,f6eee651,...) at sched_switch+0x3bc mi_switch(109,0,c0e80691,554,c6dc08a0,...) at mi_switch+0x219 ithread_loop(c6d836e0,c6b43d28,c0e8036c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097f750,c6d836e0,c6b43d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b43d60, ebp = 0 --- Tracing command intr pid 12 tid 100010 td 0xc6dc0b80 sched_switch(c6dc0b80,0,109,191,32e8943c,...) at sched_switch+0x3bc mi_switch(109,0,c0e80691,554,c6dc0b80,...) at mi_switch+0x219 ithread_loop(c6d836f0,c6b40d28,c0e8036c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097f750,c6d836f0,c6b40d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b40d60, ebp = 0 --- Tracing command intr pid 12 tid 100009 td 0xc6e06000 sched_switch(c6e06000,0,109,191,3371e74e,...) at sched_switch+0x3bc mi_switch(109,0,c0e80691,554,c6e06000,...) at mi_switch+0x219 ithread_loop(c6d83700,c6b3dd28,c0e8036c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097f750,c6d83700,c6b3dd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b3dd60, ebp = 0 --- Tracing command intr pid 12 tid 100008 td 0xc6e062e0 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100007 td 0xc6e065c0 sched_switch(c6e065c0,0,109,191,ab0d1b2c,...) at sched_switch+0x3bc mi_switch(109,0,c0e80691,554,c6e065c0,...) at mi_switch+0x219 ithread_loop(c6d83720,c6b37d28,c0e8036c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097f750,c6d83720,c6b37d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b37d60, ebp = 0 --- Tracing command idle pid 11 tid 100006 td 0xc6dbf000 sched_switch(c6dbf000,0,108,18c,75dd9dfc,...) at sched_switch+0x3bc mi_switch(108,0,c0e87a4b,3b9,c6dbf000,...) at mi_switch+0x219 sched_idletd(0,c6b33d28,c0e8036c,390,c6dbd834,...) at sched_idletd+0x19f fork_exit(c09ce540,0,c6b33d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b33d60, ebp = 0 --- Tracing command idle pid 11 tid 100005 td 0xc6dbf2e0 sched_switch(c6dbf2e0,0,108,18c,78ceaeea,...) at sched_switch+0x3bc mi_switch(108,0,c0e87a4b,3b9,c6dbf2e0,...) at mi_switch+0x219 sched_idletd(0,c6b30d28,c0e8036c,390,c6dbd834,...) at sched_idletd+0x19f fork_exit(c09ce540,0,c6b30d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b30d60, ebp = 0 --- Tracing command idle pid 11 tid 100004 td 0xc6dbf5c0 sched_switch(c6dbf5c0,0,108,18c,f33eb5e6,...) at sched_switch+0x3bc mi_switch(108,0,c0e87a4b,3b9,c6dbf5c0,...) at mi_switch+0x219 sched_idletd(0,c6b2dd28,c0e8036c,390,c6dbd834,...) at sched_idletd+0x19f fork_exit(c09ce540,0,c6b2dd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b2dd60, ebp = 0 --- Tracing command idle pid 11 tid 100003 td 0xc6dbf8a0 sched_switch(c6dbf8a0,0,108,18c,c524bc0d,...) at sched_switch+0x3bc mi_switch(108,0,c0e87a4b,3b9,c6dbf8a0,...) at mi_switch+0x219 sched_idletd(0,c6b2ad28,c0e8036c,390,c6dbd834,...) at sched_idletd+0x19f fork_exit(c09ce540,0,c6b2ad28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b2ad60, ebp = 0 --- Tracing command init pid 1 tid 100002 td 0xc6dbfb80 sched_switch(c6dbfb80,0,104,191,6b70fd4a,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c6dbfb80,0,c0e8b180,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b180,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6dbdaf0,6c,c0e8df12,100,0,...) at sleepq_wait_sig+0x17 _sleep(c6dbdaf0,c6dbdb78,16c,c0e8df12,0,...) at _sleep+0x35c kern_wait(c6dbfb80,ffffffff,c6b26c44,0,0,...) at kern_wait+0xbe6 wait4(c6dbfb80,c6b26cec,28415000,1,0,...) at wait4+0x3b syscallenter(c6dbfb80,c6b26ce4,c0cd2d5d,c1010ff0,0,...) at syscallenter+0x263 syscall(c6b26d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x8060de7, esp = 0xbfbfe8bc, ebp = 0xbfbfe8d8 --- Tracing command audit pid 10 tid 100001 td 0xc6dc0000 sched_switch(c6dc0000,0,104,191,e69e348e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6dc0000,0,c0e8b180,268,c6dc0000,...) at sleepq_switch+0x162 sleepq_wait(c118e780,0,c6b23c8c,1,0,...) at sleepq_wait+0x63 _cv_wait(c118e780,c118e764,c0eb5797,194,0,...) at _cv_wait+0x243 audit_worker(0,c6b23d28,c0e8036c,390,c6dbe000,...) at audit_worker+0x84 fork_exit(c0b9aeb0,0,c6b23d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b23d60, ebp = 0 --- Tracing command kernel pid 0 tid 100076 td 0xc70458a0 sched_switch(c70458a0,0,104,191,1be8d381,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70458a0,0,c0e8b180,268,0,...) at sleepq_switch+0x162 sleepq_wait(c71853c0,0,c0e78e92,0,0,...) at sleepq_wait+0x63 _sleep(c71853c0,c71853d8,0,c0e78e92,0,...) at _sleep+0x372 taskqueue_thread_loop(c11e6220,ef185d28,c0e8036c,390,c100f420,...) at taskqueue_thread_loop+0xb5 fork_exit(c09ea9e0,c11e6220,ef185d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xef185d60, ebp = 0 --- Tracing command kernel pid 0 tid 100066 td 0xc71718a0 sched_switch(c71718a0,0,104,191,2e884da7,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c71718a0,0,c0e8b180,28b,2,...) at sleepq_switch+0x162 sleepq_timedwait(c1011704,0,c0e78e92,2,0,...) at sleepq_timedwait+0x6b _sleep(c1011704,0,0,c0e78e92,bb8,...) at _sleep+0x342 pause(c0e78e92,bb8,124,122,c100f4a8,...) at pause+0x47 deadlkres(0,ecf7bd28,c0e8036c,390,c100f420,...) at deadlkres+0x324 fork_exit(c095ffe0,0,ecf7bd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf7bd60, ebp = 0 --- Tracing command kernel pid 0 tid 100060 td 0xc7036b80 sched_switch(c7036b80,0,104,191,2bb8c786,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7036b80,0,c0e8b180,268,0,...) at sleepq_switch+0x162 sleepq_wait(c7073900,0,c0e867a1,c0e78e92,0,...) at sleepq_wait+0x63 msleep_spin(c7073900,c7073918,c0e78e92,0,c0e84007,...) at msleep_spin+0x21d taskqueue_thread_loop(c706f49c,ecf5fd28,c0e8036c,390,c100f420,...) at taskqueue_thread_loop+0x8f fork_exit(c09ea9e0,c706f49c,ecf5fd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf5fd60, ebp = 0 --- Tracing command kernel pid 0 tid 100026 td 0xc6fab000 sched_switch(c6fab000,0,104,191,147d5eb,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6fab000,0,c0e8b180,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d92340,0,c0e867a1,c0e78e92,0,...) at sleepq_wait+0x63 msleep_spin(c6d92340,c6d92358,c0e78e92,0,c0e84007,...) at msleep_spin+0x21d taskqueue_thread_loop(c0fda6b8,c6b70d28,c0e8036c,390,c100f420,...) at taskqueue_thread_loop+0x8f fork_exit(c09ea9e0,c0fda6b8,c6b70d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b70d60, ebp = 0 --- Tracing command kernel pid 0 tid 100025 td 0xc6fab2e0 sched_switch(c6fab2e0,0,104,191,147c8ec,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6fab2e0,0,c0e8b180,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d92340,0,c0e867a1,c0e78e92,0,...) at sleepq_wait+0x63 msleep_spin(c6d92340,c6d92358,c0e78e92,0,c0e84007,...) at msleep_spin+0x21d taskqueue_thread_loop(c0fda6b8,c6b6dd28,c0e8036c,390,c100f420,...) at taskqueue_thread_loop+0x8f fork_exit(c09ea9e0,c0fda6b8,c6b6dd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b6dd60, ebp = 0 --- Tracing command kernel pid 0 tid 100024 td 0xc6fab5c0 sched_switch(c6fab5c0,0,104,191,147b701,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6fab5c0,0,c0e8b180,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d92340,0,c0e867a1,c0e78e92,0,...) at sleepq_wait+0x63 msleep_spin(c6d92340,c6d92358,c0e78e92,0,c0e84007,...) at msleep_spin+0x21d taskqueue_thread_loop(c0fda6b8,c6b6ad28,c0e8036c,390,c100f420,...) at taskqueue_thread_loop+0x8f fork_exit(c09ea9e0,c0fda6b8,c6b6ad28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b6ad60, ebp = 0 --- Tracing command kernel pid 0 tid 100023 td 0xc6fab8a0 sched_switch(c6fab8a0,0,104,191,1416973,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6fab8a0,0,c0e8b180,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d92380,0,c0e78e92,0,0,...) at sleepq_wait+0x63 _sleep(c6d92380,c6d92398,0,c0e78e92,0,...) at _sleep+0x372 taskqueue_thread_loop(c100fd98,c6b67d28,c0e8036c,390,c100f420,...) at taskqueue_thread_loop+0xb5 fork_exit(c09ea9e0,c100fd98,c6b67d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b67d60, ebp = 0 --- Tracing command kernel pid 0 tid 100022 td 0xc6fabb80 sched_switch(c6fabb80,0,104,191,1415881,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6fabb80,0,c0e8b180,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d923c0,0,c0e78e92,0,0,...) at sleepq_wait+0x63 _sleep(c6d923c0,c6d923d8,0,c0e78e92,0,...) at _sleep+0x372 taskqueue_thread_loop(c118ed64,c6b64d28,c0e8036c,390,c100f420,...) at taskqueue_thread_loop+0xb5 fork_exit(c09ea9e0,c118ed64,c6b64d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b64d60, ebp = 0 --- Tracing command kernel pid 0 tid 100019 td 0xc6ecb000 sched_switch(c6ecb000,0,104,191,3e66bf3,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6ecb000,0,c0e8b180,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d92500,0,c0e78e92,0,0,...) at sleepq_wait+0x63 _sleep(c6d92500,c6d92518,0,c0e78e92,0,...) at _sleep+0x372 taskqueue_thread_loop(c102e2a8,c6b5bd28,c0e8036c,390,c100f420,...) at taskqueue_thread_loop+0xb5 fork_exit(c09ea9e0,c102e2a8,c6b5bd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b5bd60, ebp = 0 --- Tracing command kernel pid 0 tid 100016 td 0xc6ecb8a0 sched_switch(c6ecb8a0,0,104,191,2553817c,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6ecb8a0,0,c0e8b180,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d92a80,0,c0e78e92,0,0,...) at sleepq_wait+0x63 _sleep(c6d92a80,c6d92a98,0,c0e78e92,0,...) at _sleep+0x372 taskqueue_thread_loop(c102cd20,c6b52d28,c0e8036c,390,c100f420,...) at taskqueue_thread_loop+0xb5 fork_exit(c09ea9e0,c102cd20,c6b52d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b52d60, ebp = 0 --- Tracing command kernel pid 0 tid 100000 td 0xc100f6e0 sched_switch(c100f6e0,0,104,191,71512d58,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b180,1f3,54,...) at mi_switch+0x219 sleepq_switch(c100f6e0,0,c0e8b180,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c100f420,54,c0e8835f,0,0,...) at sleepq_timedwait+0x6b _sleep(c100f420,0,54,c0e8835f,2710,...) at _sleep+0x342 scheduler(0,141ec00,141ec00,141e000,1425000,...) at scheduler+0x240 mi_startup() at mi_startup+0xac begin() at begin+0x2c db:0:allt> call doadump Physical memory: 3439 MB Dumping 187 MB: Fatal double fault: eip = 0xc09f2a26 esp = 0xecf94fd0 ebp = 0xecf95004 cpuid = 3; apic id = 03 panic: double fault cpuid = 3 KDB: stack backtrace: db_trace_self_wrapper(c0e89956,0,0,0,bf2eda7f,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c1020900,0,c0e86669,17b,c7045b80,...) at kdb_backtrace+0x2a mi_switch(100,0,c0e87a4b,97f,3,...) at mi_switch+0x136 sched_bind(c7045b80,0,c0e857bf,11e,c0ed3513,...) at sched_bind+0xb9 kern_reboot(104,c0e85a53,c0ed3513,c11a9070,3,...) at kern_reboot+0x40 panic(c0ed3513,3,3,0,0,...) at panic+0x151 dblfault_handler() at dblfault_handler+0x9b --- trap 0x17, eip = 0xc09f2a26, esp = 0xecf94fd0, ebp = 0xecf95004 --- witness_unlock(c1020900,8,c0e86669,17b,c7045b80,...) at witness_unlock+0x6 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xb8 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95094,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95108,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf9517c,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf951f0,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95264,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf952d8,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf9534c,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf953c0,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95434,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf954a8,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf9551c,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95590,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95604,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95678,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf956ec,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95760,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf957d4,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95848,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf958bc,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95930,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf959a4,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95a18,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95a8c,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95b00,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95b74,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95be8,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95c5c,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95cd0,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95d44,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95db8,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95e2c,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95ea0,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95f14,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95f88,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf95ffc,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e86669,17b,9,...) at _mtx_unlock_spin_flags+0xf4 mi_switch(602,0,c0e8627f,cd,c7045b80,...) at mi_switch+0x131 critical_exit(c1020900,ecf96070,c09984e4,c1020900,4,...) at critical_exit+0xa8 spinlock_exit(c1020900,4,c0e84007,109) at spinlock_exit+0x10 _mtx_unlock_spin_flags(c1020900,0,c0e80691,399,103f,...) at _mtx_unlock_spin_flags+0xf4 intr_event_schedule_thread(c6ff0000,ecf960d0,c048d830,c6d92300,0,...) at intr_event_schedule_thread+0x11a swi_sched(c6d92300,0,c0cf9b6d,103f) at swi_sched+0x28 xpt_done(ecf961dc,c7009a40,8,1,ecf96110,...) at xpt_done+0x110 ahci_end_transaction(c6ecd700,0,0,ecf96184,c0ce3deb,...) at ahci_end_transaction+0x6c8 ahci_ch_intr(c6e05894,493dd,ecf961b0,c0490146,c6e05880,...) at ahci_ch_intr+0x43d ahcipoll(c6e05880,4,c0cf9b6d,b62,c6e05894,...) at ahcipoll+0x14 xpt_polled_action(ecf961dc,ca,0,23a22fd,1,...) at xpt_polled_action+0xc6 adadump(c7393800,c11a98e0,0,7445fa00,4,...) at adadump+0x201 dump_write(c1011440,c11a98e0,0,7445fa00,4,...) at dump_write+0x8b minidumpsys(c1011440,c04df083,c1307bf0,ecf96760,ecf96760,...) at minidumpsys+0x356 dumpsys(c1011440,ecf96810,c04ddcb9,ecf967b8,0,...) at dumpsys+0x2b doadump(ecf967b8,0,0,0,0,...) at doadump+0x64 db_fncall(c0bc93a4,0,ffffffff,ecf9684c,0,...) at db_fncall+0x149 db_command(c0fd9788,ecf9693c,c04e2470,c0fd9788,0,...) at db_command+0x3bf db_command_script(c0fd9788,0,c0fd90e0,c0fd9787,c0fd90e0,...) at db_command_script+0x34 db_script_exec(c,ecf96a0c,c04de0b1,1,0,...) at db_script_exec+0x130 db_run_cmd(1,0,c11b1200,ecf96984,1,...) at db_run_cmd+0x41 db_command(c0d0f693,ecf96a6c,c04e018d,c0ed0666,c0cc6cb1,...) at db_command+0x381 db_command_loop(c0ed0666,c0cc6cb1,fb,2,0,...) at db_command_loop+0x5a db_trap(c,0,1,46,7,...) at db_trap+0xdd kdb_trap(c,0,ecf96b78,1,1,...) at kdb_trap+0x92 trap_fatal(5,0,c0ed37f6,c09f23db,c73a42bc,...) at trap_fatal+0x2df trap(ecf96b78) at trap+0x1a3 calltrap() at calltrap+0x6 --- trap 0xc, eip = 0xc0bc93a4, esp = 0xecf96bb8, ebp = 0xecf96bd8 --- free_diradd(c118efa8,4,c0eb851c,19e6,c79ec080,...) at free_diradd+0xc4 free_newdirblk(c118efa8,4,c0eb851c,19c8,c79ec080,...) at free_newdirblk+0x61 free_newblk(c118efa8,0,c0eb851c,1b47,424,...) at free_newblk+0x10f handle_workitem_freeblocks(0,ecf96c78,2,65e,1,...) at handle_workitem_freeblocks+0xcc process_worklist_item(c118efa8,0,c0eb851c,5a8,c7045b80,...) at process_worklist_item+0x225 softdep_process_worklist(c73fb2d4,0,c0eb851c,538,3e8,...) at softdep_process_worklist+0x83 softdep_flush(0,ecf96d28,c0e8036c,390,c73a42bc,...) at softdep_flush+0x2a0 fork_exit(c0bd8570,0,ecf96d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf96d60, ebp = 0 --- Script command 'call doadump' returned error db:0:doadump> reset cpu_reset: Restarting BSP cpu_reset_proxy: Stopped CPU 3 (kgdb) l *free_diradd+0xc4 0xc0bc93a4 is in free_diradd (../../../ufs/ffs/ffs_softdep.c:7905). 7900 dirrem->dm_dirinum = pagedep->pd_ino; 7901 dirrem->dm_state |= COMPLETE; 7902 if (LIST_EMPTY(&dirrem->dm_jremrefhd)) 7903 add_to_worklist(&dirrem->dm_list, 0); 7904 } 7905 if (inodedep_lookup(pagedep->pd_list.wk_mp, dap->da_newinum, 7906 0, &inodedep) != 0) 7907 if (inodedep->id_mkdiradd == dap) 7908 inodedep->id_mkdiradd = NULL; 7909 if ((dap->da_state & (MKDIR_PARENT | MKDIR_BODY)) != 0) { (kgdb) $ svn diff -x -p /usr/src/sys Index: /usr/src/sys/ufs/ufs/ufsmount.h =================================================================== --- /usr/src/sys/ufs/ufs/ufsmount.h (revision 221878) +++ /usr/src/sys/ufs/ufs/ufsmount.h (working copy) @@ -61,6 +61,7 @@ struct jblocks; struct inodedep; TAILQ_HEAD(inodedeplst, inodedep); +LIST_HEAD(bmsafemaphd, bmsafemap); /* This structure describes the UFS specific mount structure data. */ struct ufsmount { @@ -82,7 +83,8 @@ struct ufsmount { struct workhead softdep_journal_pending; /* journal work queue */ struct worklist *softdep_journal_tail; /* Tail pointer for above */ struct jblocks *softdep_jblocks; /* Journal block information */ - struct inodedeplst softdep_unlinked; /* Unlinked inodes */ + struct inodedeplst softdep_unlinked; /* Unlinked inodes */ + struct bmsafemaphd softdep_dirtycg; /* Dirty CGs */ int softdep_on_journal; /* Items on the journal list */ int softdep_on_worklist; /* Items on the worklist */ int softdep_on_worklist_inprogress; /* Busy items on worklist */ Index: /usr/src/sys/ufs/ffs/ffs_softdep.c =================================================================== --- /usr/src/sys/ufs/ffs/ffs_softdep.c (revision 221878) +++ /usr/src/sys/ufs/ffs/ffs_softdep.c (working copy) @@ -52,6 +52,8 @@ __FBSDID("$FreeBSD$"); #define DEBUG #endif +/* #define SUJ_DEBUG 1 */ + #include #include #include @@ -214,6 +216,17 @@ softdep_setup_allocindir_meta(nbp, ip, bp, ptrno, } void +softdep_journal_freeblocks(ip, cred, length, flags) + struct inode *ip; + struct ucred *cred; + off_t length; + int flags; +{ + + panic("softdep_journal_freeblocks called"); +} + +void softdep_setup_freeblocks(ip, length, flags) struct inode *ip; off_t length; @@ -618,6 +631,7 @@ FEATURE(softupdates, "FFS soft-updates support"); unsigned long dep_current[D_LAST + 1]; unsigned long dep_total[D_LAST + 1]; +unsigned long dep_write[D_LAST + 1]; SYSCTL_NODE(_debug, OID_AUTO, softdep, CTLFLAG_RW, 0, "soft updates stats"); @@ -625,13 +639,17 @@ SYSCTL_NODE(_debug_softdep, OID_AUTO, total, CTLFL "total dependencies allocated"); SYSCTL_NODE(_debug_softdep, OID_AUTO, current, CTLFLAG_RW, 0, "current dependencies allocated"); +SYSCTL_NODE(_debug_softdep, OID_AUTO, write, CTLFLAG_RW, 0, + "current dependencies written"); #define SOFTDEP_TYPE(type, str, long) \ static MALLOC_DEFINE(M_ ## type, #str, long); \ SYSCTL_ULONG(_debug_softdep_total, OID_AUTO, str, CTLFLAG_RD, \ &dep_total[D_ ## type], 0, ""); \ SYSCTL_ULONG(_debug_softdep_current, OID_AUTO, str, CTLFLAG_RD, \ - &dep_current[D_ ## type], 0, ""); + &dep_current[D_ ## type], 0, ""); \ + SYSCTL_ULONG(_debug_softdep_write, OID_AUTO, str, CTLFLAG_RD, \ + &dep_write[D_ ## type], 0, ""); SOFTDEP_TYPE(PAGEDEP, pagedep, "File page dependencies"); SOFTDEP_TYPE(INODEDEP, inodedep, "Inode dependencies"); @@ -736,8 +754,10 @@ static int flush_pagedep_deps(struct vnode *, stru struct diraddhd *); static void free_pagedep(struct pagedep *); static int flush_newblk_dep(struct vnode *, struct mount *, ufs_lbn_t); -static int flush_inodedep_deps(struct mount *, ino_t); +static int flush_inodedep_deps(struct vnode *, struct mount *, ino_t); static int flush_deplist(struct allocdirectlst *, int, int *); +static int flush_trunclist(struct vnode *, struct inodedep *, int, int *); +static void sync_cgs(struct mount *, int); static int handle_written_filepage(struct pagedep *, struct buf *); static int handle_written_sbdep(struct sbdep *, struct buf *); static void initiate_write_sbdep(struct sbdep *); @@ -752,6 +772,7 @@ static void handle_written_jseg(struct jseg *, str static void handle_written_jnewblk(struct jnewblk *); static void handle_written_jfreeblk(struct jfreeblk *); static void handle_written_jfreefrag(struct jfreefrag *); +static void handle_written_jtrunc(struct jtrunc *); static void complete_jseg(struct jseg *); static void jseg_write(struct ufsmount *ump, struct jseg *, uint8_t *); static void jaddref_write(struct jaddref *, struct jseg *, uint8_t *); @@ -768,7 +789,9 @@ static void handle_allocdirect_partdone(struct all static struct jnewblk *cancel_newblk(struct newblk *, struct worklist *, struct workhead *); static void indirdep_complete(struct indirdep *); -static int indirblk_inseg(struct mount *, ufs2_daddr_t); +static int indirblk_lookup(struct mount *, ufs2_daddr_t); +static void indirblk_insert(struct freework *); +static void indirblk_remove(struct freework *); static void handle_allocindir_partdone(struct allocindir *); static void initiate_write_filepage(struct pagedep *, struct buf *); static void initiate_write_indirdep(struct indirdep*, struct buf *); @@ -780,7 +803,9 @@ static void handle_workitem_freefile(struct freefi static void handle_workitem_remove(struct dirrem *, struct vnode *); static struct dirrem *newdirrem(struct buf *, struct inode *, struct inode *, int, struct dirrem **); -static void cancel_indirdep(struct indirdep *, struct buf *, struct inodedep *, +static struct indirdep *indirdep_lookup(struct mount *, struct inode *, + struct buf *); +static void cancel_indirdep(struct indirdep *, struct buf *, struct freeblks *); static void free_indirdep(struct indirdep *); static void free_diradd(struct diradd *, struct workhead *); @@ -795,8 +820,13 @@ static void cancel_diradd(struct diradd *, struct struct jremref *, struct jremref *); static void dirrem_journal(struct dirrem *, struct jremref *, struct jremref *, struct jremref *); -static void cancel_allocindir(struct allocindir *, struct inodedep *, - struct freeblks *); +static void cancel_allocindir(struct allocindir *, struct buf *bp, + struct freeblks *, int); +static int setup_trunc_indir(struct freeblks *, struct inode *, + ufs_lbn_t, ufs_lbn_t, ufs2_daddr_t, int); +static void complete_trunc_indir(struct freework *); +static void trunc_indirdep(struct indirdep *, struct freeblks *, struct buf *, + int); static void complete_mkdir(struct mkdir *); static void free_newdirblk(struct newdirblk *); static void free_jremref(struct jremref *); @@ -818,30 +848,29 @@ static void cancel_jfreefrag(struct jfreefrag *); static inline void setup_freedirect(struct freeblks *, struct inode *, int, int); static inline void setup_freeext(struct freeblks *, struct inode *, int, int); -static inline void setup_freeindir(struct freeblks *, struct inode *, int i, +static inline void setup_freeindir(struct freeblks *, struct inode *, int, ufs_lbn_t, int); static inline struct freeblks *newfreeblks(struct mount *, struct inode *); static void indir_trunc(struct freework *, ufs2_daddr_t, ufs_lbn_t); -static void softdep_trunc_deps(struct vnode *, struct freeblks *, ufs_lbn_t, +static void trunc_dependencies(struct inode *, struct freeblks *, ufs_lbn_t, int, int); -static int cancel_pagedep(struct pagedep *, struct inodedep *, - struct freeblks *); -static int deallocate_dependencies(struct buf *, struct inodedep *, - struct freeblks *, int off); +static int cancel_pagedep(struct pagedep *, struct freeblks *, int); +static int deallocate_dependencies(struct buf *, struct freeblks *, int); +static void newblk_freefrag(struct newblk*); static void free_newblk(struct newblk *); static void cancel_allocdirect(struct allocdirectlst *, - struct allocdirect *, struct freeblks *, int); + struct allocdirect *, struct freeblks *); static int check_inode_unwritten(struct inodedep *); static int free_inodedep(struct inodedep *); static void freework_freeblock(struct freework *); static void handle_workitem_freeblocks(struct freeblks *, int); -static void handle_complete_freeblocks(struct freeblks *); +static void handle_complete_freeblocks(struct freeblks *, int); static void handle_workitem_indirblk(struct freework *); static void handle_written_freework(struct freework *); static void merge_inode_lists(struct allocdirectlst *,struct allocdirectlst *); static struct worklist *jnewblk_merge(struct worklist *, struct worklist *, struct workhead *); -static void setup_allocindir_phase2(struct buf *, struct inode *, +static struct freefrag *setup_allocindir_phase2(struct buf *, struct inode *, struct inodedep *, struct allocindir *, ufs_lbn_t); static struct allocindir *newallocindir(struct inode *, int, ufs2_daddr_t, ufs2_daddr_t, ufs_lbn_t); @@ -870,7 +899,9 @@ static void pause_timer(void *); static int request_cleanup(struct mount *, int); static int process_worklist_item(struct mount *, int); static void process_removes(struct vnode *); +static void process_truncates(struct vnode *); static void jwork_move(struct workhead *, struct workhead *); +static void jwork_insert(struct workhead *, struct jsegdep *); static void add_to_worklist(struct worklist *, int); static void remove_from_worklist(struct worklist *); static void softdep_flush(void); @@ -894,11 +925,12 @@ static inline void newinoref(struct inoref *, ino_ static inline struct jsegdep *inoref_jseg(struct inoref *); static struct jmvref *newjmvref(struct inode *, ino_t, off_t, off_t); static struct jfreeblk *newjfreeblk(struct freeblks *, ufs_lbn_t, - ufs2_daddr_t, int); + ufs2_daddr_t, int, int); +static void cancel_jfreeblk(struct freeblks *, ufs2_daddr_t); static struct jfreefrag *newjfreefrag(struct freefrag *, struct inode *, ufs2_daddr_t, long, ufs_lbn_t); static struct freework *newfreework(struct ufsmount *, struct freeblks *, - struct freework *, ufs_lbn_t, ufs2_daddr_t, int, int); + struct freework *, ufs_lbn_t, ufs2_daddr_t, int, int, int); static void jwait(struct worklist *wk); static struct inodedep *inodedep_lookup_ip(struct inode *); static int bmsafemap_rollbacks(struct bmsafemap *); @@ -1064,6 +1096,30 @@ jwork_move(dst, src) } } +static void +jwork_insert(dst, jsegdep) + struct workhead *dst; + struct jsegdep *jsegdep; +{ + struct jsegdep *jsegdepn; + struct worklist *wk; + + LIST_FOREACH(wk, dst, wk_list) + if (wk->wk_type == D_JSEGDEP) + break; + if (wk == NULL) { + WORKLIST_INSERT(dst, &jsegdep->jd_list); + return; + } + jsegdepn = WK_JSEGDEP(wk); + if (jsegdep->jd_seg->js_seq < jsegdepn->jd_seg->js_seq) { + WORKLIST_REMOVE(wk); + free_jsegdep(jsegdepn); + WORKLIST_INSERT(dst, &jsegdep->jd_list); + } else + free_jsegdep(jsegdep); +} + /* * Routines for tracking and managing workitems. */ @@ -1101,14 +1157,18 @@ workitem_alloc(item, type, mp) int type; struct mount *mp; { + struct ufsmount *ump; + item->wk_type = type; item->wk_mp = mp; item->wk_state = 0; + + ump = VFSTOUFS(mp); ACQUIRE_LOCK(&lk); dep_current[type]++; dep_total[type]++; - VFSTOUFS(mp)->softdep_deps++; - VFSTOUFS(mp)->softdep_accdeps++; + ump->softdep_deps++; + ump->softdep_accdeps++; FREE_LOCK(&lk); } @@ -1478,6 +1538,43 @@ process_removes(vp) } /* + * Process all truncations associated with a vnode if we are running out + * of journal space. This is called when the vnode lock is already held + * and no other process can clear the truncation. + */ +static void +process_truncates(vp) + struct vnode *vp; +{ + struct inodedep *inodedep; + struct freeblks *freeblks; + struct mount *mp; + ino_t inum; + + mtx_assert(&lk, MA_OWNED); + + mp = vp->v_mount; + inum = VTOI(vp)->i_number; + for (;;) { + if (inodedep_lookup(mp, inum, 0, &inodedep) == 0) + return; + TAILQ_FOREACH(freeblks, &inodedep->id_freeblklst, fb_next) + if ((freeblks->fb_state & (ALLCOMPLETE | ONWORKLIST)) == + (ALLCOMPLETE | ONWORKLIST)) + break; + if (freeblks == NULL) + return; + remove_from_worklist(&freeblks->fb_list); + FREE_LOCK(&lk); + if (vn_start_secondary_write(NULL, &mp, V_NOWAIT)) + panic("process_removes: suspended filesystem"); + handle_workitem_freeblocks(freeblks, 0); + vn_finished_secondary_write(mp); + ACQUIRE_LOCK(&lk); + } +} + +/* * Process one item on the worklist. */ static int @@ -1560,7 +1657,9 @@ process_worklist_item(mp, flags) case D_FREEWORK: /* Final block in an indirect was freed. */ + ACQUIRE_LOCK(&lk); handle_workitem_indirblk(WK_FREEWORK(wk)); + FREE_LOCK(&lk); break; default: @@ -1922,6 +2021,7 @@ inodedep_lookup(mp, inum, flags, inodedeppp) TAILQ_INIT(&inodedep->id_newinoupdt); TAILQ_INIT(&inodedep->id_extupdt); TAILQ_INIT(&inodedep->id_newextupdt); + TAILQ_INIT(&inodedep->id_freeblklst); LIST_INSERT_HEAD(inodedephd, inodedep, id_hash); *inodedeppp = inodedep; return (0); @@ -2008,43 +2108,86 @@ newblk_lookup(mp, newblkno, flags, newblkpp) } /* - * Structures and routines associated with indir caching. + * Structures and routines associated with freed indirect block caching. */ -struct workhead *indir_hashtbl; +struct freeworklst *indir_hashtbl; u_long indir_hash; /* size of hash table - 1 */ #define INDIR_HASH(mp, blkno) \ (&indir_hashtbl[((((register_t)(mp)) >> 13) + (blkno)) & indir_hash]) +/* + * Lookup an indirect block in the indir hash table. The freework is + * removed and potentially freed. The caller must do a blocking journal + * write before writing to the blkno. + */ static int -indirblk_inseg(mp, blkno) +indirblk_lookup(mp, blkno) struct mount *mp; ufs2_daddr_t blkno; { struct freework *freework; - struct workhead *wkhd; - struct worklist *wk; + struct freeworklst *wkhd; wkhd = INDIR_HASH(mp, blkno); - LIST_FOREACH(wk, wkhd, wk_list) { - freework = WK_FREEWORK(wk); - if (freework->fw_blkno == blkno && - freework->fw_list.wk_mp == mp) { - LIST_REMOVE(freework, fw_next); - WORKLIST_REMOVE(&freework->fw_list); - WORKITEM_FREE(freework, D_FREEWORK); - return (1); - } + TAILQ_FOREACH(freework, wkhd, fw_next) { + if (freework->fw_blkno != blkno) + continue; + if (freework->fw_list.wk_mp != mp) + continue; + indirblk_remove(freework); + return (1); } return (0); } /* + * Insert an indirect block represented by freework into the indirblk + * hash table so that it may prevent the block from being re-used prior + * to the journal being written. + */ +static void +indirblk_insert(freework) + struct freework *freework; +{ + struct freeblks *freeblks; + struct jsegdep *jsegdep; + struct worklist *wk; + + freeblks = freework->fw_freeblks; + LIST_FOREACH(wk, &freeblks->fb_jwork, wk_list) + if (wk->wk_type == D_JSEGDEP) + break; + if (wk == NULL) + return; + + jsegdep = WK_JSEGDEP(wk); + LIST_INSERT_HEAD(&jsegdep->jd_seg->js_indirs, freework, fw_segs); + TAILQ_INSERT_HEAD(INDIR_HASH(freework->fw_list.wk_mp, + freework->fw_blkno), freework, fw_next); + freework->fw_state &= ~DEPCOMPLETE; +} + +static void +indirblk_remove(freework) + struct freework *freework; +{ + + LIST_REMOVE(freework, fw_segs); + TAILQ_REMOVE(INDIR_HASH(freework->fw_list.wk_mp, + freework->fw_blkno), freework, fw_next); + freework->fw_state |= DEPCOMPLETE; + if ((freework->fw_state & ALLCOMPLETE) == ALLCOMPLETE) + WORKITEM_FREE(freework, D_FREEWORK); +} + +/* * Executed during filesystem system initialization before * mounting any filesystems. */ void softdep_initialize() { + int i; LIST_INIT(&mkdirlisthd); max_softdeps = desiredvnodes * 4; @@ -2052,7 +2195,12 @@ softdep_initialize() inodedep_hashtbl = hashinit(desiredvnodes, M_INODEDEP, &inodedep_hash); newblk_hashtbl = hashinit(desiredvnodes / 5, M_NEWBLK, &newblk_hash); bmsafemap_hashtbl = hashinit(1024, M_BMSAFEMAP, &bmsafemap_hash); - indir_hashtbl = hashinit(desiredvnodes / 10, M_FREEWORK, &indir_hash); + i = 1 << (ffs(desiredvnodes / 10) - 1); + indir_hashtbl = malloc(i * sizeof(indir_hashtbl[0]), M_FREEWORK, + M_WAITOK); + indir_hash = i - 1; + for (i = 0; i <= indir_hash; i++) + TAILQ_INIT(&indir_hashtbl[i]); /* initialise bioops hack */ bioops.io_start = softdep_disk_io_initiation; @@ -2077,6 +2225,7 @@ softdep_uninitialize() hashdestroy(inodedep_hashtbl, M_INODEDEP, inodedep_hash); hashdestroy(newblk_hashtbl, M_NEWBLK, newblk_hash); hashdestroy(bmsafemap_hashtbl, M_BMSAFEMAP, bmsafemap_hash); + free(indir_hashtbl, M_FREEWORK); } /* @@ -2108,6 +2257,7 @@ softdep_mount(devvp, mp, fs, cred) LIST_INIT(&ump->softdep_workitem_pending); LIST_INIT(&ump->softdep_journal_pending); TAILQ_INIT(&ump->softdep_unlinked); + LIST_INIT(&ump->softdep_dirtycg); ump->softdep_worklist_tail = NULL; ump->softdep_on_worklist = 0; ump->softdep_deps = 0; @@ -2570,6 +2720,7 @@ softdep_prealloc(vp, waitok) ffs_syncvnode(vp, waitok); ACQUIRE_LOCK(&lk); process_removes(vp); + process_truncates(vp); if (journal_space(ump, 0) == 0) { softdep_speedup(); if (journal_space(ump, 1) == 0) @@ -2604,9 +2755,12 @@ softdep_prelink(dvp, vp) ffs_syncvnode(dvp, MNT_WAIT); ACQUIRE_LOCK(&lk); /* Process vp before dvp as it may create .. removes. */ - if (vp) + if (vp) { process_removes(vp); + process_truncates(vp); + } process_removes(dvp); + process_truncates(dvp); softdep_speedup(); process_worklist_item(UFSTOVFS(ump), LK_NOWAIT); process_worklist_item(UFSTOVFS(ump), LK_NOWAIT); @@ -2753,6 +2907,7 @@ jtrunc_write(jtrunc, jseg, data) { struct jtrncrec *rec; + jtrunc->jt_jsegdep->jd_seg = jseg; rec = (struct jtrncrec *)data; rec->jt_op = JOP_TRUNC; rec->jt_ino = jtrunc->jt_ino; @@ -3013,7 +3168,8 @@ complete_jseg(jseg) rele_jseg(jseg); jmvref = WK_JMVREF(wk); LIST_REMOVE(jmvref, jm_deps); - free_pagedep(jmvref->jm_pagedep); + if ((jmvref->jm_pagedep->pd_state & ONWORKLIST) == 0) + free_pagedep(jmvref->jm_pagedep); WORKITEM_FREE(jmvref, D_JMVREF); break; case D_JNEWBLK: @@ -3026,8 +3182,7 @@ complete_jseg(jseg) handle_written_jfreefrag(WK_JFREEFRAG(wk)); break; case D_JTRUNC: - WK_JTRUNC(wk)->jt_jsegdep->jd_seg = jseg; - WORKITEM_FREE(wk, D_JTRUNC); + handle_written_jtrunc(WK_JTRUNC(wk)); break; default: panic("handle_written_jseg: Unknown type %s", @@ -3082,6 +3237,27 @@ handle_written_jseg(jseg, bp) free_jsegs(jblocks); } +static void +handle_written_jtrunc(jtrunc) + struct jtrunc *jtrunc; +{ + struct freeblks *freeblks; + + freeblks = jtrunc->jt_freeblks; + freeblks->fb_jtrunc = NULL; + jwork_insert(&freeblks->fb_jwork, jtrunc->jt_jsegdep); + /* + * If the freeblks is all journaled, we can add it to the worklist. + */ + if ((freeblks->fb_state & ALLCOMPLETE) == ALLCOMPLETE) { + /* Remove from the b_dep that is waiting on this write. */ + if (freeblks->fb_state & ONWORKLIST) + WORKLIST_REMOVE(&freeblks->fb_list); + add_to_worklist(&freeblks->fb_list, 1); + } + WORKITEM_FREE(jtrunc, D_JTRUNC); +} + static inline struct jsegdep * inoref_jseg(inoref) struct inoref *inoref; @@ -3123,7 +3299,7 @@ handle_written_jremref(jremref) jremref->jr_dirrem = NULL; LIST_REMOVE(jremref, jr_deps); jsegdep->jd_state |= jremref->jr_state & MKDIR_PARENT; - WORKLIST_INSERT(&dirrem->dm_jwork, &jsegdep->jd_list); + jwork_insert(&dirrem->dm_jwork, jsegdep); if (LIST_EMPTY(&dirrem->dm_jremrefhd) && (dirrem->dm_state & COMPLETE) != 0) add_to_worklist(&dirrem->dm_list, 0); @@ -3183,7 +3359,7 @@ handle_written_jaddref(jaddref) mkdir->md_state |= DEPCOMPLETE; complete_mkdir(mkdir); } - WORKLIST_INSERT(&diradd->da_jwork, &jsegdep->jd_list); + jwork_insert(&diradd->da_jwork, jsegdep); if (jaddref->ja_state & NEWBLOCK) { inodedep->id_state |= ONDEPLIST; LIST_INSERT_HEAD(&inodedep->id_bmsafemap->sm_inodedephd, @@ -3205,10 +3381,9 @@ handle_written_jnewblk(jnewblk) { struct bmsafemap *bmsafemap; struct freefrag *freefrag; + struct freework *freework; struct jsegdep *jsegdep; struct newblk *newblk; - struct freework *freework; - struct indirdep *indirdep; /* Grab the jsegdep. */ jsegdep = jnewblk->jn_jsegdep; @@ -3225,10 +3400,13 @@ handle_written_jnewblk(jnewblk) */ newblk = WK_NEWBLK(jnewblk->jn_dep); newblk->nb_jnewblk = NULL; - bmsafemap = newblk->nb_bmsafemap; - newblk->nb_state |= ONDEPLIST; - LIST_INSERT_HEAD(&bmsafemap->sm_newblkhd, newblk, nb_deps); - WORKLIST_INSERT(&newblk->nb_jwork, &jsegdep->jd_list); + if ((newblk->nb_state & GOINGAWAY) == 0) { + bmsafemap = newblk->nb_bmsafemap; + newblk->nb_state |= ONDEPLIST; + LIST_INSERT_HEAD(&bmsafemap->sm_newblkhd, newblk, + nb_deps); + } + jwork_insert(&newblk->nb_jwork, jsegdep); break; case D_FREEFRAG: /* @@ -3245,16 +3423,9 @@ handle_written_jnewblk(jnewblk) */ freework = WK_FREEWORK(jnewblk->jn_dep); freework->fw_jnewblk = NULL; - WORKLIST_INSERT(&freework->fw_jwork, &jsegdep->jd_list); + WORKLIST_INSERT(&freework->fw_freeblks->fb_jwork, + &jsegdep->jd_list); break; - case D_INDIRDEP: - /* - * An indirect block was removed by truncate. - */ - indirdep = WK_INDIRDEP(jnewblk->jn_dep); - LIST_REMOVE(jnewblk, jn_indirdeps); - WORKLIST_INSERT(&indirdep->ir_jwork, &jsegdep->jd_list); - break; default: panic("handle_written_jnewblk: Unknown type %d.", jnewblk->jn_dep->wk_type); @@ -3321,7 +3492,7 @@ handle_written_jfreefrag(jfreefrag) panic("handle_written_jfreefrag: No freefrag."); freefrag->ff_state |= DEPCOMPLETE; freefrag->ff_jdep = NULL; - WORKLIST_INSERT(&freefrag->ff_jwork, &jsegdep->jd_list); + jwork_insert(&freefrag->ff_jwork, jsegdep); if ((freefrag->ff_state & ALLCOMPLETE) == ALLCOMPLETE) add_to_worklist(&freefrag->ff_list, 0); jfreefrag->fr_freefrag = NULL; @@ -3351,12 +3522,8 @@ handle_written_jfreeblk(jfreeblk) * If the freeblks is all journaled, we can add it to the worklist. */ if (LIST_EMPTY(&freeblks->fb_jfreeblkhd) && - (freeblks->fb_state & ALLCOMPLETE) == ALLCOMPLETE) { - /* Remove from the b_dep that is waiting on this write. */ - if (freeblks->fb_state & ONWORKLIST) - WORKLIST_REMOVE(&freeblks->fb_list); + (freeblks->fb_state & ALLCOMPLETE) == ALLCOMPLETE) add_to_worklist(&freeblks->fb_list, 1); - } free_jfreeblk(jfreeblk); } @@ -3493,51 +3660,79 @@ free_freedep(freedep) * is visible outside of softdep_setup_freeblocks(). */ static struct freework * -newfreework(ump, freeblks, parent, lbn, nb, frags, journal) +newfreework(ump, freeblks, parent, lbn, nb, frags, off, journal) struct ufsmount *ump; struct freeblks *freeblks; struct freework *parent; ufs_lbn_t lbn; ufs2_daddr_t nb; int frags; + int off; int journal; { + struct jfreeblk *jfreeblk; struct freework *freework; freework = malloc(sizeof(*freework), M_FREEWORK, M_SOFTDEP_FLAGS); workitem_alloc(&freework->fw_list, D_FREEWORK, freeblks->fb_list.wk_mp); + freework->fw_state = ATTACHED; freework->fw_jnewblk = NULL; freework->fw_freeblks = freeblks; freework->fw_parent = parent; freework->fw_lbn = lbn; freework->fw_blkno = nb; freework->fw_frags = frags; + freework->fw_indir = NULL; freework->fw_ref = ((UFSTOVFS(ump)->mnt_kern_flag & MNTK_SUJ) == 0 || lbn >= -NXADDR) ? 0 : NINDIR(ump->um_fs) + 1; - freework->fw_off = 0; - LIST_INIT(&freework->fw_jwork); - + freework->fw_start = freework->fw_off = off; + jfreeblk = NULL; + if (journal) { + jfreeblk = newjfreeblk(freeblks, lbn, nb, frags, off); + LIST_INSERT_HEAD(&freeblks->fb_jfreeblkhd, jfreeblk, jf_deps); + } if (parent == NULL) { - WORKLIST_INSERT_UNLOCKED(&freeblks->fb_freeworkhd, - &freework->fw_list); + ACQUIRE_LOCK(&lk); + freework->fw_state |= ONDEPLIST; + WORKLIST_INSERT(&freeblks->fb_freeworkhd, &freework->fw_list); freeblks->fb_ref++; + FREE_LOCK(&lk); } - if (journal) - newjfreeblk(freeblks, lbn, nb, frags); return (freework); } /* + * Eliminate a jfreeblk for a block that does not need journaling. + */ +static void +cancel_jfreeblk(freeblks, blkno) + struct freeblks *freeblks; + ufs2_daddr_t blkno; +{ + struct jfreeblk *jfreeblk; + + LIST_FOREACH(jfreeblk, &freeblks->fb_jfreeblkhd, jf_deps) + if (jfreeblk->jf_blkno == blkno) + break; + if (jfreeblk == NULL) + return; + free_jsegdep(jfreeblk->jf_jsegdep); + LIST_REMOVE(jfreeblk, jf_deps); + WORKITEM_FREE(jfreeblk, D_JFREEBLK); +} + +/* * Allocate a new jfreeblk to journal top level block pointer when truncating * a file. The caller must add this to the worklist when lk is held. */ static struct jfreeblk * -newjfreeblk(freeblks, lbn, blkno, frags) +newjfreeblk(freeblks, lbn, blkno, frags, off) struct freeblks *freeblks; ufs_lbn_t lbn; ufs2_daddr_t blkno; int frags; + int off; { struct jfreeblk *jfreeblk; @@ -3545,12 +3740,12 @@ static struct jfreeblk * workitem_alloc(&jfreeblk->jf_list, D_JFREEBLK, freeblks->fb_list.wk_mp); jfreeblk->jf_jsegdep = newjsegdep(&jfreeblk->jf_list); jfreeblk->jf_state = ATTACHED | DEPCOMPLETE; - jfreeblk->jf_ino = freeblks->fb_previousinum; + jfreeblk->jf_ino = freeblks->fb_inum; jfreeblk->jf_lbn = lbn; jfreeblk->jf_blkno = blkno; jfreeblk->jf_frags = frags; + jfreeblk->jf_off = off; jfreeblk->jf_freeblks = freeblks; - LIST_INSERT_HEAD(&freeblks->fb_jfreeblkhd, jfreeblk, jf_deps); return (jfreeblk); } @@ -3645,7 +3840,7 @@ cancel_jaddref(jaddref, inodedep, wkhd) if (jaddref->ja_state & IOSTARTED) { jaddref->ja_state &= ~IOSTARTED; WORKLIST_REMOVE(&jaddref->ja_list); - WORKLIST_INSERT(wkhd, &jsegdep->jd_list); + jwork_insert(wkhd, jsegdep); } else { free_jsegdep(jsegdep); if (jaddref->ja_state & DEPCOMPLETE) @@ -3734,11 +3929,7 @@ free_jnewblk(jnewblk) } /* - * Cancel a jnewblk which has been superseded by a freeblk. The jnewblk - * is kept linked into the bmsafemap until the free completes, thus - * preventing the modified state from ever reaching disk. The free - * routine must pass this structure via ffs_blkfree() to - * softdep_setup_freeblks() so there is no race in releasing the space. + * Cancel a jnewblk which has been been made redundant by frag extension. */ static void cancel_jnewblk(jnewblk, wkhd) @@ -3756,7 +3947,7 @@ cancel_jnewblk(jnewblk, wkhd) if (jnewblk->jn_state & IOSTARTED) { jnewblk->jn_state &= ~IOSTARTED; WORKLIST_REMOVE(&jnewblk->jn_list); - WORKLIST_INSERT(wkhd, &jsegdep->jd_list); + jwork_insert(wkhd, jsegdep); } else { free_jsegdep(jsegdep); remove_from_journal(&jnewblk->jn_list); @@ -3792,11 +3983,8 @@ free_jseg(jseg, jblocks) * Free freework structures that were lingering to indicate freed * indirect blocks that forced journal write ordering on reallocate. */ - while ((freework = LIST_FIRST(&jseg->js_indirs)) != NULL) { - LIST_REMOVE(freework, fw_next); - WORKLIST_REMOVE(&freework->fw_list); - WORKITEM_FREE(freework, D_FREEWORK); - } + while ((freework = LIST_FIRST(&jseg->js_indirs)) != NULL) + indirblk_remove(freework); if (jblocks->jb_oldestseg == jseg) jblocks->jb_oldestseg = TAILQ_NEXT(jseg, js_next); TAILQ_REMOVE(&jblocks->jb_segs, jseg, js_next); @@ -3928,68 +4116,6 @@ inodedep_lookup_ip(ip) } /* - * Create a journal entry that describes a truncate that we're about to - * perform. The inode allocations and frees between here and the completion - * of the operation are done asynchronously and without journaling. At - * the end of the operation the vnode is sync'd and the journal space - * is released. Recovery will discover the partially completed truncate - * and complete it. - */ -void * -softdep_setup_trunc(vp, length, flags) - struct vnode *vp; - off_t length; - int flags; -{ - struct jsegdep *jsegdep; - struct jtrunc *jtrunc; - struct ufsmount *ump; - struct inode *ip; - - softdep_prealloc(vp, MNT_WAIT); - ip = VTOI(vp); - ump = VFSTOUFS(vp->v_mount); - jtrunc = malloc(sizeof(*jtrunc), M_JTRUNC, M_SOFTDEP_FLAGS); - workitem_alloc(&jtrunc->jt_list, D_JTRUNC, vp->v_mount); - jsegdep = jtrunc->jt_jsegdep = newjsegdep(&jtrunc->jt_list); - jtrunc->jt_ino = ip->i_number; - jtrunc->jt_extsize = 0; - jtrunc->jt_size = length; - if ((flags & IO_EXT) == 0 && ump->um_fstype == UFS2) - jtrunc->jt_extsize = ip->i_din2->di_extsize; - if ((flags & IO_NORMAL) == 0) - jtrunc->jt_size = DIP(ip, i_size); - ACQUIRE_LOCK(&lk); - add_to_journal(&jtrunc->jt_list); - while (jsegdep->jd_seg == NULL) { - stat_jwait_freeblks++; - jwait(&jtrunc->jt_list); - } - FREE_LOCK(&lk); - - return (jsegdep); -} - -/* - * After synchronous truncation is complete we free sync the vnode and - * release the jsegdep so the journal space can be freed. - */ -int -softdep_complete_trunc(vp, cookie) - struct vnode *vp; - void *cookie; -{ - int error; - - error = ffs_syncvnode(vp, MNT_WAIT); - ACQUIRE_LOCK(&lk); - free_jsegdep((struct jsegdep *)cookie); - FREE_LOCK(&lk); - - return (error); -} - -/* * Called prior to creating a new inode and linking it to a directory. The * jaddref structure must already be allocated by softdep_setup_inomapdep * and it is discovered here so we can initialize the mode and update @@ -4523,6 +4649,8 @@ bmsafemap_lookup(mp, bp, cg) LIST_INIT(&bmsafemap->sm_newblkwr); LIST_INIT(&bmsafemap->sm_jaddrefhd); LIST_INIT(&bmsafemap->sm_jnewblkhd); + LIST_INIT(&bmsafemap->sm_freehd); + LIST_INIT(&bmsafemap->sm_freewr); ACQUIRE_LOCK(&lk); if (bmsafemap_find(bmsafemaphd, mp, cg, &collision) == 1) { WORKITEM_FREE(bmsafemap, D_BMSAFEMAP); @@ -4530,6 +4658,7 @@ bmsafemap_lookup(mp, bp, cg) } bmsafemap->sm_cg = cg; LIST_INSERT_HEAD(bmsafemaphd, bmsafemap, sm_hash); + LIST_INSERT_HEAD(&VFSTOUFS(mp)->softdep_dirtycg, bmsafemap, sm_next); WORKLIST_INSERT(&bp->b_dep, &bmsafemap->sm_list); return (bmsafemap); } @@ -4814,9 +4943,8 @@ allocdirect_merge(adphead, newadp, oldadp) &oldadp->ad_block.nb_jnewblk->jn_list, &newadp->ad_block.nb_jwork); oldadp->ad_block.nb_jnewblk = NULL; - if (cancel_newblk(&oldadp->ad_block, NULL, - &newadp->ad_block.nb_jwork)) - panic("allocdirect_merge: Unexpected dependency."); + cancel_newblk(&oldadp->ad_block, NULL, + &newadp->ad_block.nb_jwork); } else { wk = (struct worklist *) cancel_newblk(&oldadp->ad_block, &freefrag->ff_list, &freefrag->ff_jwork); @@ -5084,6 +5212,7 @@ newallocindir(ip, ptrno, newblkno, oldblkno, lbn) aip = (struct allocindir *)newblk; aip->ai_offset = ptrno; aip->ai_oldblkno = oldblkno; + aip->ai_lbn = lbn; if ((jnewblk = newblk->nb_jnewblk) != NULL) { jnewblk->jn_ino = ip->i_number; jnewblk->jn_lbn = lbn; @@ -5110,6 +5239,7 @@ softdep_setup_allocindir_page(ip, lbn, bp, ptrno, struct buf *nbp; /* buffer holding allocated page */ { struct inodedep *inodedep; + struct freefrag *freefrag; struct allocindir *aip; struct pagedep *pagedep; struct mount *mp; @@ -5130,8 +5260,10 @@ softdep_setup_allocindir_page(ip, lbn, bp, ptrno, pagedep_lookup(mp, ip->i_number, lbn, DEPALLOC, &pagedep) == 0) WORKLIST_INSERT(&nbp->b_dep, &pagedep->pd_list); WORKLIST_INSERT(&nbp->b_dep, &aip->ai_block.nb_list); - setup_allocindir_phase2(bp, ip, inodedep, aip, lbn); + freefrag = setup_allocindir_phase2(bp, ip, inodedep, aip, lbn); FREE_LOCK(&lk); + if (freefrag) + handle_workitem_freefrag(freefrag); } /* @@ -5155,7 +5287,8 @@ softdep_setup_allocindir_meta(nbp, ip, bp, ptrno, aip = newallocindir(ip, ptrno, newblkno, 0, lbn); inodedep_lookup(UFSTOVFS(ip->i_ump), ip->i_number, DEPALLOC, &inodedep); WORKLIST_INSERT(&nbp->b_dep, &aip->ai_block.nb_list); - setup_allocindir_phase2(bp, ip, inodedep, aip, lbn); + if (setup_allocindir_phase2(bp, ip, inodedep, aip, lbn)) + panic("softdep_setup_allocindir_meta: Block already existed"); FREE_LOCK(&lk); } @@ -5166,7 +5299,7 @@ indirdep_complete(indirdep) struct allocindir *aip; LIST_REMOVE(indirdep, ir_next); - indirdep->ir_state &= ~ONDEPLIST; + indirdep->ir_state |= DEPCOMPLETE; while ((aip = LIST_FIRST(&indirdep->ir_completehd)) != NULL) { LIST_REMOVE(aip, ai_next); @@ -5181,127 +5314,134 @@ indirdep_complete(indirdep) free_indirdep(indirdep); } -/* - * Called to finish the allocation of the "aip" allocated - * by one of the two routines above. - */ -static void -setup_allocindir_phase2(bp, ip, inodedep, aip, lbn) - struct buf *bp; /* in-memory copy of the indirect block */ - struct inode *ip; /* inode for file being extended */ - struct inodedep *inodedep; /* Inodedep for ip */ - struct allocindir *aip; /* allocindir allocated by the above routines */ - ufs_lbn_t lbn; /* Logical block number for this block. */ +static struct indirdep * +indirdep_lookup(mp, ip, bp) + struct mount *mp; + struct inode *ip; + struct buf *bp; { + struct indirdep *indirdep, *newindirdep; + struct newblk *newblk; struct worklist *wk; struct fs *fs; - struct newblk *newblk; - struct indirdep *indirdep, *newindirdep; - struct allocindir *oldaip; - struct freefrag *freefrag; - struct mount *mp; ufs2_daddr_t blkno; - mp = UFSTOVFS(ip->i_ump); + mtx_assert(&lk, MA_OWNED); + indirdep = NULL; + newindirdep = NULL; fs = ip->i_fs; - mtx_assert(&lk, MA_OWNED); - if (bp->b_lblkno >= 0) - panic("setup_allocindir_phase2: not indir blk"); - for (freefrag = NULL, indirdep = NULL, newindirdep = NULL; ; ) { + for (;;) { LIST_FOREACH(wk, &bp->b_dep, wk_list) { if (wk->wk_type != D_INDIRDEP) continue; indirdep = WK_INDIRDEP(wk); break; } - if (indirdep == NULL && newindirdep) { - indirdep = newindirdep; - newindirdep = NULL; - WORKLIST_INSERT(&bp->b_dep, &indirdep->ir_list); - if (newblk_lookup(mp, dbtofsb(fs, bp->b_blkno), 0, - &newblk)) { - indirdep->ir_state |= ONDEPLIST; - LIST_INSERT_HEAD(&newblk->nb_indirdeps, - indirdep, ir_next); - } else - indirdep->ir_state |= DEPCOMPLETE; - } - if (indirdep) { - aip->ai_indirdep = indirdep; - /* - * Check to see if there is an existing dependency - * for this block. If there is, merge the old - * dependency into the new one. This happens - * as a result of reallocblk only. - */ - if (aip->ai_oldblkno == 0) - oldaip = NULL; - else - - LIST_FOREACH(oldaip, &indirdep->ir_deplisthd, - ai_next) - if (oldaip->ai_offset == aip->ai_offset) - break; - if (oldaip != NULL) - freefrag = allocindir_merge(aip, oldaip); - LIST_INSERT_HEAD(&indirdep->ir_deplisthd, aip, ai_next); - KASSERT(aip->ai_offset >= 0 && - aip->ai_offset < NINDIR(ip->i_ump->um_fs), - ("setup_allocindir_phase2: Bad offset %d", - aip->ai_offset)); - KASSERT(indirdep->ir_savebp != NULL, - ("setup_allocindir_phase2 NULL ir_savebp")); - if (ip->i_ump->um_fstype == UFS1) - ((ufs1_daddr_t *)indirdep->ir_savebp->b_data) - [aip->ai_offset] = aip->ai_oldblkno; - else - ((ufs2_daddr_t *)indirdep->ir_savebp->b_data) - [aip->ai_offset] = aip->ai_oldblkno; - FREE_LOCK(&lk); - if (freefrag != NULL) - handle_workitem_freefrag(freefrag); - } else - FREE_LOCK(&lk); - if (newindirdep) { - newindirdep->ir_savebp->b_flags |= B_INVAL | B_NOCACHE; - brelse(newindirdep->ir_savebp); - ACQUIRE_LOCK(&lk); - WORKITEM_FREE((caddr_t)newindirdep, D_INDIRDEP); - if (indirdep) - break; - FREE_LOCK(&lk); - } - if (indirdep) { - ACQUIRE_LOCK(&lk); + /* Found on the buffer worklist, no new structure to free. */ + if (indirdep != NULL && newindirdep == NULL) + return (indirdep); + if (indirdep != NULL && newindirdep != NULL) + panic("indirdep_lookup: simultaneous create"); + /* None found on the buffer and a new structure is ready. */ + if (indirdep == NULL && newindirdep != NULL) break; - } + /* None found and no new structure available. */ + FREE_LOCK(&lk); newindirdep = malloc(sizeof(struct indirdep), - M_INDIRDEP, M_SOFTDEP_FLAGS); + M_INDIRDEP, M_SOFTDEP_FLAGS); workitem_alloc(&newindirdep->ir_list, D_INDIRDEP, mp); newindirdep->ir_state = ATTACHED; if (ip->i_ump->um_fstype == UFS1) newindirdep->ir_state |= UFS1FMT; + TAILQ_INIT(&newindirdep->ir_trunc); newindirdep->ir_saveddata = NULL; LIST_INIT(&newindirdep->ir_deplisthd); LIST_INIT(&newindirdep->ir_donehd); LIST_INIT(&newindirdep->ir_writehd); LIST_INIT(&newindirdep->ir_completehd); - LIST_INIT(&newindirdep->ir_jwork); - LIST_INIT(&newindirdep->ir_jnewblkhd); if (bp->b_blkno == bp->b_lblkno) { ufs_bmaparray(bp->b_vp, bp->b_lblkno, &blkno, bp, NULL, NULL); bp->b_blkno = blkno; } + newindirdep->ir_freeblks = NULL; newindirdep->ir_savebp = getblk(ip->i_devvp, bp->b_blkno, bp->b_bcount, 0, 0, 0); + newindirdep->ir_bp = bp; BUF_KERNPROC(newindirdep->ir_savebp); bcopy(bp->b_data, newindirdep->ir_savebp->b_data, bp->b_bcount); ACQUIRE_LOCK(&lk); } + indirdep = newindirdep; + WORKLIST_INSERT(&bp->b_dep, &indirdep->ir_list); + /* + * If the block is not yet allocated we don't set DEPCOMPLETE so + * that we don't free dependencies until the pointers are valid. + * This could search b_dep for D_ALLOCDIRECT/D_ALLOCINDIR rather + * than using the hash. + */ + if (newblk_lookup(mp, dbtofsb(fs, bp->b_blkno), 0, &newblk)) + LIST_INSERT_HEAD(&newblk->nb_indirdeps, indirdep, ir_next); + else + indirdep->ir_state |= DEPCOMPLETE; + return (indirdep); } /* + * Called to finish the allocation of the "aip" allocated + * by one of the two routines above. + */ +static struct freefrag * +setup_allocindir_phase2(bp, ip, inodedep, aip, lbn) + struct buf *bp; /* in-memory copy of the indirect block */ + struct inode *ip; /* inode for file being extended */ + struct inodedep *inodedep; /* Inodedep for ip */ + struct allocindir *aip; /* allocindir allocated by the above routines */ + ufs_lbn_t lbn; /* Logical block number for this block. */ +{ + struct fs *fs; + struct indirdep *indirdep; + struct allocindir *oldaip; + struct freefrag *freefrag; + struct mount *mp; + + mtx_assert(&lk, MA_OWNED); + mp = UFSTOVFS(ip->i_ump); + fs = ip->i_fs; + if (bp->b_lblkno >= 0) + panic("setup_allocindir_phase2: not indir blk"); + KASSERT(aip->ai_offset >= 0 && aip->ai_offset < NINDIR(fs), + ("setup_allocindir_phase2: Bad offset %d", aip->ai_offset)); + indirdep = indirdep_lookup(mp, ip, bp); + KASSERT(indirdep->ir_savebp != NULL, + ("setup_allocindir_phase2 NULL ir_savebp")); + aip->ai_indirdep = indirdep; + /* + * Check for an unwritten dependency for this indirect offset. If + * there is, merge the old dependency into the new one. This happens + * as a result of reallocblk only. + */ + freefrag = NULL; + if (aip->ai_oldblkno != 0) { + LIST_FOREACH(oldaip, &indirdep->ir_deplisthd, ai_next) { + if (oldaip->ai_offset == aip->ai_offset) { + freefrag = allocindir_merge(aip, oldaip); + goto done; + } + } + LIST_FOREACH(oldaip, &indirdep->ir_donehd, ai_next) { + if (oldaip->ai_offset == aip->ai_offset) { + freefrag = allocindir_merge(aip, oldaip); + goto done; + } + } + } +done: + LIST_INSERT_HEAD(&indirdep->ir_deplisthd, aip, ai_next); + return (freefrag); +} + +/* * Merge two allocindirs which refer to the same block. Move newblock * dependencies and setup the freefrags appropriately. */ @@ -5363,7 +5503,7 @@ setup_freedirect(freeblks, ip, i, needj) DIP_SET(ip, i_db[i], 0); frags = sblksize(ip->i_fs, ip->i_size, i); frags = numfrags(ip->i_fs, frags); - newfreework(ip->i_ump, freeblks, NULL, i, blkno, frags, needj); + newfreework(ip->i_ump, freeblks, NULL, i, blkno, frags, 0, needj); } static inline void @@ -5382,15 +5522,15 @@ setup_freeext(freeblks, ip, i, needj) ip->i_din2->di_extb[i] = 0; frags = sblksize(ip->i_fs, ip->i_din2->di_extsize, i); frags = numfrags(ip->i_fs, frags); - newfreework(ip->i_ump, freeblks, NULL, -1 - i, blkno, frags, needj); + newfreework(ip->i_ump, freeblks, NULL, -1 - i, blkno, frags, 0, needj); } static inline void setup_freeindir(freeblks, ip, i, lbn, needj) struct freeblks *freeblks; struct inode *ip; + int i; ufs_lbn_t lbn; - int i; int needj; { ufs2_daddr_t blkno; @@ -5400,7 +5540,7 @@ setup_freeindir(freeblks, ip, i, lbn, needj) return; DIP_SET(ip, i_ib[i], 0); newfreework(ip->i_ump, freeblks, NULL, lbn, blkno, ip->i_fs->fs_frag, - needj); + 0, needj); } static inline struct freeblks * @@ -5415,16 +5555,529 @@ newfreeblks(mp, ip) workitem_alloc(&freeblks->fb_list, D_FREEBLKS, mp); LIST_INIT(&freeblks->fb_jfreeblkhd); LIST_INIT(&freeblks->fb_jwork); + freeblks->fb_ref = 1; + freeblks->fb_jtrunc = NULL; freeblks->fb_state = ATTACHED; freeblks->fb_uid = ip->i_uid; - freeblks->fb_previousinum = ip->i_number; + freeblks->fb_inum = ip->i_number; + freeblks->fb_modrev = DIP(ip, i_modrev); freeblks->fb_devvp = ip->i_devvp; freeblks->fb_chkcnt = 0; + freeblks->fb_freecnt = 0; + freeblks->fb_len = 0; return (freeblks); } +static void +trunc_indirdep(indirdep, freeblks, bp, off) + struct indirdep *indirdep; + struct freeblks *freeblks; + struct buf *bp; + int off; +{ + struct allocindir *aip, *aipn; + + /* + * The first set of allocindirs won't be in savedbp. + */ + LIST_FOREACH_SAFE(aip, &indirdep->ir_deplisthd, ai_next, aipn) + if (aip->ai_offset > off) + cancel_allocindir(aip, bp, freeblks, 1); + LIST_FOREACH_SAFE(aip, &indirdep->ir_donehd, ai_next, aipn) + if (aip->ai_offset > off) + cancel_allocindir(aip, bp, freeblks, 1); + /* + * These will exist in savedbp. + */ + LIST_FOREACH_SAFE(aip, &indirdep->ir_writehd, ai_next, aipn) + if (aip->ai_offset > off) + cancel_allocindir(aip, NULL, freeblks, 0); + LIST_FOREACH_SAFE(aip, &indirdep->ir_completehd, ai_next, aipn) + if (aip->ai_offset > off) + cancel_allocindir(aip, NULL, freeblks, 0); +} + /* + * Follow the chain of indirects down to lastlbn creating a freework + * structure for each. This will be used to start indir_trunc() at + * the right offset and create the journal records for the parrtial + * truncation. A second step will handle the truncated dependencies. + */ +static int +setup_trunc_indir(freeblks, ip, lbn, lastlbn, blkno, needj) + struct freeblks *freeblks; + struct inode *ip; + ufs_lbn_t lbn; + ufs_lbn_t lastlbn; + ufs2_daddr_t blkno; + int needj; +{ + struct indirdep *indirdep; + struct indirdep *indirn; + struct freework *freework; + struct newblk *newblk; + struct mount *mp; + struct buf *bp; + uint8_t *start; + uint8_t *end; + ufs_lbn_t lbnadd; + int level; + int error; + int off; + + + freework = NULL; + if (blkno == 0) + return (0); + mp = freeblks->fb_list.wk_mp; + bp = getblk(ITOV(ip), lbn, mp->mnt_stat.f_iosize, 0, 0, 0); + if ((bp->b_flags & B_CACHE) == 0) { + bp->b_blkno = blkptrtodb(VFSTOUFS(mp), blkno); + bp->b_iocmd = BIO_READ; + bp->b_flags &= ~B_INVAL; + bp->b_ioflags &= ~BIO_ERROR; + vfs_busy_pages(bp, 0); + bp->b_iooffset = dbtob(bp->b_blkno); + bstrategy(bp); + curthread->td_ru.ru_inblock++; + error = bufwait(bp); + if (error) { + brelse(bp); + return (error); + } + } + level = lbn_level(lbn); + lbnadd = lbn_offset(ip->i_fs, level); + /* + * Compute the offset of the last block we want to keep. Store + * in the freework the first block we want to completely free. + */ + off = (lastlbn - -(lbn + level)) / lbnadd; + if (off + 1 == NINDIR(ip->i_fs)) + goto nowork; + freework = newfreework(ip->i_ump, freeblks, NULL, lbn, blkno, 0, off+1, + needj); + /* + * Link the freework into the indirdep. This will prevent any new + * allocations from proceeding until we are finished with the + * truncate and the block is written. + */ + ACQUIRE_LOCK(&lk); + indirdep = indirdep_lookup(mp, ip, bp); + TAILQ_INSERT_TAIL(&indirdep->ir_trunc, freework, fw_next); + freework->fw_indir = indirdep; + /* + * Cancel any allocindirs that will not make it to disk. + * We have to do this for all copies of the indirdep that + * live on this newblk. + */ + if ((indirdep->ir_state & DEPCOMPLETE) == 0) { + newblk_lookup(mp, dbtofsb(ip->i_fs, bp->b_blkno), 0, &newblk); + LIST_FOREACH(indirn, &newblk->nb_indirdeps, ir_next) + trunc_indirdep(indirn, freeblks, bp, off); + } else + trunc_indirdep(indirdep, freeblks, bp, off); + FREE_LOCK(&lk); + /* + * Creation is protected by the buf lock. The saveddata is only + * needed if a full truncation follows a partial truncation but it + * is difficult to allocate in that case so we fetch it anyway. + */ + if (indirdep->ir_saveddata == NULL) + indirdep->ir_saveddata = malloc(bp->b_bcount, M_INDIRDEP, + M_SOFTDEP_FLAGS); +nowork: + /* Fetch the blkno of the child and the zero start offset. */ + if (ip->i_ump->um_fstype == UFS1) { + blkno = ((ufs1_daddr_t *)bp->b_data)[off]; + start = (uint8_t *)&((ufs1_daddr_t *)bp->b_data)[off+1]; + } else { + blkno = ((ufs2_daddr_t *)bp->b_data)[off]; + start = (uint8_t *)&((ufs2_daddr_t *)bp->b_data)[off+1]; + } + if (freework) { + /* Zero the truncated pointers. */ + end = bp->b_data + bp->b_bcount; + bzero(start, end - start); + bdwrite(bp); + } else + bqrelse(bp); + if (level == 0) + return (0); + lbn++; /* adjust level */ + lbn -= (off * lbnadd); + return setup_trunc_indir(freeblks, ip, lbn, lastlbn, blkno, needj); +} + +/* + * Complete the partial truncation of an indirect block setup by + * setup_trunc_indir(). This zeros the truncated pointers in the saved + * copy and writes them to disk before the freeblks is allowed to complete. + */ +static void +complete_trunc_indir(freework) + struct freework *freework; +{ + struct indirdep *indirdep; + struct buf *bp; + uintptr_t start; + int count; + + indirdep = freework->fw_indir; + freework->fw_state |= DEPCOMPLETE; + do { + bp = indirdep->ir_bp; + /* See if the block was discarded. */ + if (bp == NULL) + break; + } while ((bp = getdirtybuf(bp, &lk, MNT_WAIT)) == NULL); + TAILQ_REMOVE(&indirdep->ir_trunc, freework, fw_next); + /* + * Zero the pointers in the saved copy. + */ + if (indirdep->ir_state & UFS1FMT) + start = sizeof(ufs1_daddr_t); + else + start = sizeof(ufs2_daddr_t); + start *= freework->fw_start; + count = indirdep->ir_savebp->b_bcount - start; + start += (uintptr_t)indirdep->ir_savebp->b_data; + bzero((char *)start, count); + /* + * If bp is NULL the block was fully truncated, restore the saved + * block list otherwise free it if it is no longer needed. + */ + if (TAILQ_EMPTY(&indirdep->ir_trunc)) { + if (bp == NULL) + bcopy(indirdep->ir_saveddata, + indirdep->ir_savebp->b_data, + indirdep->ir_savebp->b_bcount); + free(indirdep->ir_saveddata, M_INDIRDEP); + indirdep->ir_saveddata = NULL; + } + /* + * When bp is NULL there is a full truncation pending. We + * must wait for this full truncation to be journaled before + * we can release this freework because the disk pointers will + * never be written as zero. + */ + if (bp == NULL) { + if (LIST_EMPTY(&indirdep->ir_freeblks->fb_jfreeblkhd)) { + handle_written_freework(freework); + return; + } + freework->fw_state |= ONDEPLIST; + WORKLIST_INSERT(&indirdep->ir_freeblks->fb_freeworkhd, + &freework->fw_list); + return; + } + /* Complete when the real copy is written. */ + WORKLIST_INSERT(&bp->b_dep, &freework->fw_list); + FREE_LOCK(&lk); + bqrelse(bp); + ACQUIRE_LOCK(&lk); + return; +} + +/* + * Handle freeblocks for journaled softupdate filesystems. + * + * Contrary to normal softupdates, we must preserve the block pointers in + * indirects until their subordinates are free. This is to avoid journaling + * every block that is freed which may consume more space than the journal + * itself. The recovery program will see the free block journals at the + * base of the truncated area and traverse them to reclaim space. The + * pointers in the inode may be cleared immediately after the journal + * records are written because each direct and indirect pointer in the + * inode is recorded in a journal. This permits full truncation to proceed + * asynchronously. The write order is journal -> inode -> cgs -> indirects. + * + * The algorithm is as follows: + * 1) Traverse the in-memory state and create journal entries to release + * the relevant blocks and full indirect trees. + * 2) Traverse the indirect block chain adding partial truncation freework + * records to indirects in the path to lastlbn. The freework will + * prevent new allocation dependencies from being satisfied in this + * indirect until the truncation completes. + * 3) Read and lock the inode block, performing an update with the new size + * and pointers. This prevents truncated data from becoming valid on + * disk through step 4. + * 4) Reap unsatisfied dependencies that are beyond the truncated area, + * eliminate journal work for those records that do not require it. + * 5) Schedule the journal records to be written followed by the inode block. + * 6) Allocate any necessary frags for the end of file. + * 7) Zero any partially truncated blocks. + * + * From this truncation proceeds asynchronously using the freework and + * indir_trunc machinery. The file will not be extended again into a + * partially truncated indirect block until all work is completed but + * the normal dependency mechanism ensures that it is rolled back/forward + * as appropriate. Further truncation may occur without delay and is + * serialized in indir_trunc(). + */ +void +softdep_journal_freeblocks(ip, cred, length, flags) + struct inode *ip; /* The inode whose length is to be reduced */ + struct ucred *cred; + off_t length; /* The new length for the file */ + int flags; /* IO_EXT and/or IO_NORMAL */ +{ + struct freeblks *freeblks, *fbn; + struct inodedep *inodedep; + struct jfreeblk *jfreeblk; + struct allocdirect *adp, *adpn; + struct fs *fs; + struct buf *bp; + struct vnode *vp; + ufs2_daddr_t extblocks, datablocks; + struct mount *mp; + ufs_lbn_t tmpval, lbn, lastlbn, partlbn; + off_t osize; + int frags; + int lastoff, iboff; + int allocblock; + int error, i; + int partlvl; + int needj; + + fs = ip->i_fs; + mp = UFSTOVFS(ip->i_ump); + vp = ITOV(ip); + needj = 1; + lastoff = 0; + iboff = -1; + allocblock = 0; + extblocks = 0; + datablocks = 0; + partlbn = 0; + partlvl = 0; + osize = 0; + frags = 0; + freeblks = newfreeblks(mp, ip); + ACQUIRE_LOCK(&lk); + /* + * If we're truncating a removed file that will never be written + * we don't need to journal the block frees. The canceled journals + * for the allocations will suffice. + */ + inodedep_lookup(mp, ip->i_number, DEPALLOC, &inodedep); + if ((inodedep->id_state & (UNLINKED | DEPCOMPLETE)) == UNLINKED && + length == 0) + needj = 0; + FREE_LOCK(&lk); + /* + * Calculate the lbn that we are truncating to. This results in -1 + * if we're truncating the 0 bytes. So it is the last lbn we want + * to keep, not the first lbn we want to truncate. + */ + lastlbn = lblkno(fs, length + fs->fs_bsize - 1) - 1; + /* + * Compute frags we are keeping in lastlbn. 0 means all. + */ + if (lastlbn >= 0 && lastlbn < NDADDR) { + lastoff = blkoff(fs, length); + frags = fragroundup(fs, lastoff); + /* adp offset of last valid allocdirect. */ + iboff = lastlbn; + } + if (fs->fs_magic == FS_UFS2_MAGIC) + extblocks = btodb(fragroundup(fs, ip->i_din2->di_extsize)); + /* + * Handle normal data blocks and indirects. This section saves + * values used after the inode update to complete frag and indirect + * truncation. + */ + if ((flags & IO_NORMAL) != 0) { + /* + * Handle truncation of whole direct and indirect blocks. + */ + for (i = 0; i < NDADDR; i++) + if (i > lastlbn) + setup_freedirect(freeblks, ip, i, needj); + for (i = 0, tmpval = NINDIR(fs), lbn = NDADDR; i < NIADDR; + i++, lbn += tmpval, tmpval *= NINDIR(fs)) { + /* Release a whole indirect tree. */ + if (lbn > lastlbn) { + setup_freeindir(freeblks, ip, i, -lbn -i, + needj); + continue; + } + iboff = i + NDADDR; + /* + * Record the level and lbn for a indir needing + * partial truncation. + */ + if (lbn <= lastlbn && lbn + tmpval - 1 > lastlbn) { + partlbn = -lbn - i; + partlvl = i; + } + } + /* + * Traverse partially truncated indirect tree. + */ + if (partlbn) + setup_trunc_indir(freeblks, ip, partlbn, + lastlbn, DIP(ip, i_ib[partlvl]), needj); + osize = ip->i_size; + ip->i_size = length; + /* + * Handle partial truncation to a frag boundary. + */ + if (lastoff) { + ufs2_daddr_t blkno; + long oldfrags; + + oldfrags = blksize(fs, ip, lastlbn); + blkno = DIP(ip, i_db[lastlbn]); + if (blkno && oldfrags != frags) { + oldfrags -= frags; + oldfrags = numfrags(ip->i_fs, oldfrags); + blkno += numfrags(ip->i_fs, frags); + newfreework(ip->i_ump, freeblks, NULL, lastlbn, + blkno, oldfrags, 0, needj); + } else if (blkno == 0) { + ip->i_size = length - lastoff; + allocblock = 1; + } + } + DIP_SET(ip, i_size, ip->i_size); + if (length == 0) + datablocks = DIP(ip, i_blocks) - extblocks; + freeblks->fb_len = length; + } + if ((flags & IO_EXT) != 0) { + for (i = 0; i < NXADDR; i++) + setup_freeext(freeblks, ip, i, needj); + ip->i_din2->di_extsize = 0; + datablocks += extblocks; + } + freeblks->fb_chkcnt = datablocks; + UFS_LOCK(ip->i_ump); + fs->fs_pendingblocks += datablocks; + UFS_UNLOCK(ip->i_ump); + DIP_SET(ip, i_blocks, DIP(ip, i_blocks) - datablocks); + /* + * Handle truncation of incomplete alloc direct dependencies. We + * hold the inode block locked to prevent incomplete dependencies + * from reaching the disk while we are eliminating those that + * have been truncated. This is a partially inlined ffs_update(). + */ + ufs_itimes(vp); + ip->i_flag &= ~(IN_LAZYACCESS | IN_LAZYMOD | IN_MODIFIED); + error = bread(ip->i_devvp, fsbtodb(fs, ino_to_fsba(fs, ip->i_number)), + (int)fs->fs_bsize, cred, &bp); + if (error) { + brelse(bp); + softdep_error("softdep_journal_freeblocks", error); + return; + } + if (bp->b_bufsize == fs->fs_bsize) + bp->b_flags |= B_CLUSTEROK; + softdep_update_inodeblock(ip, bp, 0); + if (ip->i_ump->um_fstype == UFS1) + *((struct ufs1_dinode *)bp->b_data + + ino_to_fsbo(fs, ip->i_number)) = *ip->i_din1; + else + *((struct ufs2_dinode *)bp->b_data + + ino_to_fsbo(fs, ip->i_number)) = *ip->i_din2; + ACQUIRE_LOCK(&lk); + (void) inodedep_lookup(mp, ip->i_number, DEPALLOC, &inodedep); + if ((inodedep->id_state & IOSTARTED) != 0) + panic("softdep_setup_freeblocks: inode busy"); + /* + * Add the freeblks structure to the list of operations that + * must await the zero'ed inode being written to disk. If we + * still have a bitmap dependency (needj), then the inode + * has never been written to disk, so we can process the + * freeblks below once we have deleted the dependencies. + */ + if (needj) + WORKLIST_INSERT(&bp->b_dep, &freeblks->fb_list); + else + freeblks->fb_state |= COMPLETE; + if (flags & IO_NORMAL) { + TAILQ_FOREACH_SAFE(adp, &inodedep->id_inoupdt, ad_next, adpn) { + if (adp->ad_offset > iboff) + cancel_allocdirect(&inodedep->id_inoupdt, adp, + freeblks); + /* + * Truncate the allocdirect. We could eliminate + * or modify journal records as well. + */ + else if (adp->ad_offset == iboff && lastoff) + adp->ad_newsize = frags; + } + } + if (flags & IO_EXT) + while ((adp = TAILQ_FIRST(&inodedep->id_extupdt)) != 0) + cancel_allocdirect(&inodedep->id_extupdt, adp, + freeblks); + /* + * Add journal work. + */ + LIST_FOREACH(jfreeblk, &freeblks->fb_jfreeblkhd, jf_deps) + add_to_journal(&jfreeblk->jf_list); + FREE_LOCK(&lk); + bdwrite(bp); + /* + * Truncate dependency structures beyond length. + */ + trunc_dependencies(ip, freeblks, lastlbn, frags, flags); + /* + * This is only set when we need to allocate a fragment because + * none existed at the end of a frag-sized file. It handles only + * allocating a new, zero filled block. + */ + if (allocblock) { + error = UFS_BALLOC(vp, length - 1, 1, cred, BA_CLRBUF, &bp); + if (error != 0) { + softdep_error("softdep_journal_freeblks", error); + return; + } + ip->i_size = length; + DIP_SET(ip, i_size, length); + ip->i_flag |= IN_CHANGE | IN_UPDATE; + allocbuf(bp, frags); + bawrite(bp); + /* + * Zero the end of a truncated frag or block. + */ + } else if (lastoff != 0 && vp->v_type != VDIR) { + int size; + + size = sblksize(fs, osize, lastlbn); + error = bread(vp, lastlbn, size, cred, &bp); + if (error) { + softdep_error("softdep_journal_freeblks", error); + return; + } + bzero((char *)bp->b_data + lastoff, size - lastoff); + size = sblksize(fs, length, lastlbn); + allocbuf(bp, size); + bawrite(bp); + + } + ACQUIRE_LOCK(&lk); + inodedep_lookup(mp, ip->i_number, DEPALLOC, &inodedep); + TAILQ_INSERT_TAIL(&inodedep->id_freeblklst, freeblks, fb_next); + freeblks->fb_state |= DEPCOMPLETE | ONDEPLIST; + /* + * We zero earlier truncations so they don't erroneously + * update i_blocks. + */ + if (freeblks->fb_len == 0) + TAILQ_FOREACH(fbn, &inodedep->id_freeblklst, fb_next) + fbn->fb_len = 0; + if ((freeblks->fb_state & ALLCOMPLETE) != ALLCOMPLETE || + !LIST_EMPTY(&freeblks->fb_jfreeblkhd)) + freeblks = NULL; + FREE_LOCK(&lk); + if (freeblks) + handle_workitem_freeblocks(freeblks, 0); +} + +/* * Block de-allocation dependencies. * * When blocks are de-allocated, the on-disk pointers must be nullified before @@ -5464,7 +6117,6 @@ softdep_setup_freeblocks(ip, length, flags) struct freeblks *freeblks; struct inodedep *inodedep; struct allocdirect *adp; - struct jfreeblk *jfreeblk; struct buf *bp; struct fs *fs; ufs2_daddr_t extblocks, datablocks; @@ -5472,52 +6124,37 @@ softdep_setup_freeblocks(ip, length, flags) int i, delay, error; ufs_lbn_t tmpval; ufs_lbn_t lbn; - int needj; fs = ip->i_fs; mp = UFSTOVFS(ip->i_ump); if (length != 0) panic("softdep_setup_freeblocks: non-zero length"); freeblks = newfreeblks(mp, ip); - ACQUIRE_LOCK(&lk); - /* - * If we're truncating a removed file that will never be written - * we don't need to journal the block frees. The canceled journals - * for the allocations will suffice. - */ - inodedep_lookup(mp, ip->i_number, DEPALLOC, &inodedep); - if ((inodedep->id_state & (UNLINKED | DEPCOMPLETE)) == UNLINKED || - (fs->fs_flags & FS_SUJ) == 0) - needj = 0; - else - needj = 1; - FREE_LOCK(&lk); extblocks = 0; + datablocks = 0; if (fs->fs_magic == FS_UFS2_MAGIC) extblocks = btodb(fragroundup(fs, ip->i_din2->di_extsize)); - datablocks = DIP(ip, i_blocks) - extblocks; if ((flags & IO_NORMAL) != 0) { for (i = 0; i < NDADDR; i++) - setup_freedirect(freeblks, ip, i, needj); + setup_freedirect(freeblks, ip, i, 0); for (i = 0, tmpval = NINDIR(fs), lbn = NDADDR; i < NIADDR; i++, lbn += tmpval, tmpval *= NINDIR(fs)) - setup_freeindir(freeblks, ip, i, -lbn -i, needj); + setup_freeindir(freeblks, ip, i, -lbn -i, 0); ip->i_size = 0; DIP_SET(ip, i_size, 0); - freeblks->fb_chkcnt = datablocks; - UFS_LOCK(ip->i_ump); - fs->fs_pendingblocks += datablocks; - UFS_UNLOCK(ip->i_ump); + datablocks = DIP(ip, i_blocks) - extblocks; } if ((flags & IO_EXT) != 0) { for (i = 0; i < NXADDR; i++) - setup_freeext(freeblks, ip, i, needj); + setup_freeext(freeblks, ip, i, 0); ip->i_din2->di_extsize = 0; - freeblks->fb_chkcnt += extblocks; + datablocks += extblocks; } - if (LIST_EMPTY(&freeblks->fb_jfreeblkhd)) - needj = 0; - DIP_SET(ip, i_blocks, DIP(ip, i_blocks) - freeblks->fb_chkcnt); + freeblks->fb_chkcnt = datablocks; + UFS_LOCK(ip->i_ump); + fs->fs_pendingblocks += datablocks; + UFS_UNLOCK(ip->i_ump); + DIP_SET(ip, i_blocks, DIP(ip, i_blocks) - datablocks); /* * Push the zero'ed inode to to its disk buffer so that we are free * to delete its dependencies below. Once the dependencies are gone @@ -5557,8 +6194,6 @@ softdep_setup_freeblocks(ip, length, flags) delay = (inodedep->id_state & DEPCOMPLETE); if (delay) WORKLIST_INSERT(&bp->b_dep, &freeblks->fb_list); - else if (needj) - freeblks->fb_state |= COMPLETE; /* * Because the file length has been truncated to zero, any * pending block allocation dependency structures associated @@ -5573,27 +6208,22 @@ softdep_setup_freeblocks(ip, length, flags) &inodedep->id_inoupdt); while ((adp = TAILQ_FIRST(&inodedep->id_inoupdt)) != 0) cancel_allocdirect(&inodedep->id_inoupdt, adp, - freeblks, delay); + freeblks); } if (flags & IO_EXT) { merge_inode_lists(&inodedep->id_newextupdt, &inodedep->id_extupdt); while ((adp = TAILQ_FIRST(&inodedep->id_extupdt)) != 0) cancel_allocdirect(&inodedep->id_extupdt, adp, - freeblks, delay); + freeblks); } - LIST_FOREACH(jfreeblk, &freeblks->fb_jfreeblkhd, jf_deps) - add_to_journal(&jfreeblk->jf_list); - FREE_LOCK(&lk); bdwrite(bp); - softdep_trunc_deps(ITOV(ip), freeblks, 0, 0, flags); + trunc_dependencies(ip, freeblks, -1, 0, flags); ACQUIRE_LOCK(&lk); if (inodedep_lookup(mp, ip->i_number, 0, &inodedep) != 0) (void) free_inodedep(inodedep); - - if (delay || needj) - freeblks->fb_state |= DEPCOMPLETE; + freeblks->fb_state |= DEPCOMPLETE; if (delay) { /* * If the inode with zeroed block pointers is now on disk @@ -5604,17 +6234,15 @@ softdep_setup_freeblocks(ip, length, flags) */ if ((freeblks->fb_state & ALLCOMPLETE) == ALLCOMPLETE) add_to_worklist(&freeblks->fb_list, 1); - } - if (needj && LIST_EMPTY(&freeblks->fb_jfreeblkhd)) - needj = 0; - + } else + freeblks->fb_state |= COMPLETE; FREE_LOCK(&lk); /* - * If the inode has never been written to disk (delay == 0) and - * we're not waiting on any journal writes, then we can process the - * freeblks now that we have deleted the dependencies. + * If the inode has never been written to disk (delay == 0) then + * we can process the freeblks now that we have deleted the + * dependencies. */ - if (!delay && !needj) + if (!delay) handle_workitem_freeblocks(freeblks, 0); } @@ -5622,18 +6250,19 @@ softdep_setup_freeblocks(ip, length, flags) * Eliminate any dependencies that exist in memory beyond lblkno:off */ static void -softdep_trunc_deps(vp, freeblks, lblkno, off, flags) - struct vnode *vp; +trunc_dependencies(ip, freeblks, lastlbn, lastoff, flags) + struct inode *ip; struct freeblks *freeblks; - ufs_lbn_t lblkno; - int off; + ufs_lbn_t lastlbn; + int lastoff; int flags; { - struct inodedep *inodedep; struct bufobj *bo; + struct vnode *vp; struct buf *bp; - struct mount *mp; - ino_t ino; + struct fs *fs; + ufs_lbn_t lbn; + int blkoff; /* * We must wait for any I/O in progress to finish so that @@ -5641,25 +6270,50 @@ static void * Once they are all there, walk the list and get rid of * any dependencies. */ - ino = VTOI(vp)->i_number; - mp = vp->v_mount; + fs = ip->i_fs; + vp = ITOV(ip); bo = &vp->v_bufobj; BO_LOCK(bo); drain_output(vp); + TAILQ_FOREACH(bp, &bo->bo_dirty.bv_hd, b_bobufs) + bp->b_vflags &= ~BV_SCANNED; restart: TAILQ_FOREACH(bp, &bo->bo_dirty.bv_hd, b_bobufs) { if (((flags & IO_EXT) == 0 && (bp->b_xflags & BX_ALTDATA)) || ((flags & IO_NORMAL) == 0 && (bp->b_xflags & BX_ALTDATA) == 0)) continue; + if (bp->b_vflags & BV_SCANNED) + continue; + blkoff = 0; + /* + * If this is a partial truncate we only want those + * blocks and indirect blocks that cover the range + * we're after. We handle the partially de-allocated + * indirects in a different pass. + */ + if (lastlbn > -1 && (bp->b_xflags & BX_ALTDATA) == 0) { + lbn = bp->b_lblkno; + if (lbn < 0) + lbn = -(lbn + lbn_level(lbn)); + if (lbn < lastlbn) + continue; + /* Here we only truncate lblkno if it's partial. */ + if (lbn == lastlbn) { + if (lastoff == 0) + continue; + blkoff = lastoff; + } + } if ((bp = getdirtybuf(bp, BO_MTX(bo), MNT_WAIT)) == NULL) goto restart; BO_UNLOCK(bo); ACQUIRE_LOCK(&lk); - (void) inodedep_lookup(mp, ino, 0, &inodedep); - if (deallocate_dependencies(bp, inodedep, freeblks, 0)) + if (deallocate_dependencies(bp, freeblks, blkoff) == 0) bp->b_flags |= B_INVAL | B_NOCACHE; FREE_LOCK(&lk); + if (blkoff) + allocbuf(bp, blkoff); brelse(bp); BO_LOCK(bo); goto restart; @@ -5668,69 +6322,66 @@ restart: } static int -cancel_pagedep(pagedep, inodedep, freeblks) +cancel_pagedep(pagedep, freeblks, blkoff) struct pagedep *pagedep; - struct inodedep *inodedep; struct freeblks *freeblks; + int blkoff; { - struct newdirblk *newdirblk; struct jremref *jremref; struct jmvref *jmvref; - struct dirrem *dirrem; + struct dirrem *dirrem, *tmp; int i; /* - * There should be no directory add dependencies present - * as the directory could not be truncated until all - * children were removed. - */ - KASSERT(LIST_FIRST(&pagedep->pd_pendinghd) == NULL, - ("deallocate_dependencies: pendinghd != NULL")); - for (i = 0; i < DAHASHSZ; i++) - KASSERT(LIST_FIRST(&pagedep->pd_diraddhd[i]) == NULL, - ("deallocate_dependencies: diraddhd != NULL")); - /* * Copy any directory remove dependencies to the list - * to be processed after the zero'ed inode is written. - * If the inode has already been written, then they + * to be processed after the freeblks proceeds. If + * directory entry never made it to disk they * can be dumped directly onto the work list. */ - LIST_FOREACH(dirrem, &pagedep->pd_dirremhd, dm_next) { + LIST_FOREACH_SAFE(dirrem, &pagedep->pd_dirremhd, dm_next, tmp) { + /* Skip this directory removal if it is intended to remain. */ + if (dirrem->dm_offset < blkoff) + continue; /* - * If there are any dirrems we wait for - * the journal write to complete and - * then restart the buf scan as the lock + * If there are any dirrems we wait for the journal write + * to complete and then restart the buf scan as the lock * has been dropped. */ - while ((jremref = LIST_FIRST(&dirrem->dm_jremrefhd)) - != NULL) { + while ((jremref = LIST_FIRST(&dirrem->dm_jremrefhd)) != NULL) { stat_jwait_filepage++; jwait(&jremref->jr_list); return (ERESTART); } LIST_REMOVE(dirrem, dm_next); dirrem->dm_dirinum = pagedep->pd_ino; - if (inodedep == NULL || - (inodedep->id_state & ALLCOMPLETE) == ALLCOMPLETE) { - dirrem->dm_state |= COMPLETE; - add_to_worklist(&dirrem->dm_list, 0); - } else - WORKLIST_INSERT(&inodedep->id_bufwait, - &dirrem->dm_list); + WORKLIST_INSERT(&freeblks->fb_freeworkhd, &dirrem->dm_list); } - if ((pagedep->pd_state & NEWBLOCK) != 0) { - newdirblk = pagedep->pd_newdirblk; - WORKLIST_REMOVE(&newdirblk->db_list); - free_newdirblk(newdirblk); - } while ((jmvref = LIST_FIRST(&pagedep->pd_jmvrefhd)) != NULL) { stat_jwait_filepage++; jwait(&jmvref->jm_list); return (ERESTART); } - WORKLIST_REMOVE(&pagedep->pd_list); - LIST_REMOVE(pagedep, pd_hash); - WORKITEM_FREE(pagedep, D_PAGEDEP); + /* + * When we're partially truncating a pagedep we just want to flush + * journal entries and return. There can not be any adds in the + * truncated portion of the directory and newblk must remain if + * part of the block remains. + */ + if (blkoff != 0) + return (0); + /* + * There should be no directory add dependencies present + * as the directory could not be truncated until all + * children were removed. + */ + KASSERT(LIST_FIRST(&pagedep->pd_pendinghd) == NULL, + ("deallocate_dependencies: pendinghd != NULL")); + for (i = 0; i < DAHASHSZ; i++) + KASSERT(LIST_FIRST(&pagedep->pd_diraddhd[i]) == NULL, + ("deallocate_dependencies: diraddhd != NULL")); + if ((pagedep->pd_state & NEWBLOCK) != 0) + free_newdirblk(pagedep->pd_newdirblk); + free_pagedep(pagedep); return (0); } @@ -5743,54 +6394,76 @@ static int * all dependencies were cleared, 0 otherwise. */ static int -deallocate_dependencies(bp, inodedep, freeblks, off) +deallocate_dependencies(bp, freeblks, off) struct buf *bp; - struct inodedep *inodedep; struct freeblks *freeblks; int off; { - struct worklist *wk; struct indirdep *indirdep; - struct allocindir *aip; struct pagedep *pagedep; + struct allocdirect *adp; + struct worklist *wk, *wkn; mtx_assert(&lk, MA_OWNED); - while ((wk = LIST_FIRST(&bp->b_dep)) != NULL) { + LIST_FOREACH_SAFE(wk, &bp->b_dep, wk_list, wkn) { switch (wk->wk_type) { - case D_INDIRDEP: indirdep = WK_INDIRDEP(wk); if (bp->b_lblkno >= 0 || bp->b_blkno != indirdep->ir_savebp->b_lblkno) panic("deallocate_dependencies: not indir"); - cancel_indirdep(indirdep, bp, inodedep, freeblks); + cancel_indirdep(indirdep, bp, freeblks); continue; case D_PAGEDEP: pagedep = WK_PAGEDEP(wk); - if (cancel_pagedep(pagedep, inodedep, freeblks)) - return (0); + if (cancel_pagedep(pagedep, freeblks, off)) + return (ERESTART); continue; case D_ALLOCINDIR: - aip = WK_ALLOCINDIR(wk); - cancel_allocindir(aip, inodedep, freeblks); + /* + * Simply remove the allocindir, we'll find it via + * the indirdep where we can clear pointers if + * needed. + */ + WORKLIST_REMOVE(wk); continue; + case D_FREEWORK: + /* + * A truncation is waiting for the zero'd pointers + * to be written. It can be freed when the freeblks + * is journaled. + */ + WORKLIST_REMOVE(wk); + wk->wk_state |= ONDEPLIST; + WORKLIST_INSERT(&freeblks->fb_freeworkhd, wk); + break; + case D_ALLOCDIRECT: - case D_INODEDEP: + adp = WK_ALLOCDIRECT(wk); + if (off != 0) + continue; + /* FALLTHROUGH */ + default: panic("deallocate_dependencies: Unexpected type %s", TYPENAME(wk->wk_type)); /* NOTREACHED */ - - default: - panic("deallocate_dependencies: Unknown type %s", - TYPENAME(wk->wk_type)); - /* NOTREACHED */ } } + /* + * Don't throw away this buf, we were partially truncating and + * some deps will always remain. + */ + if (!LIST_EMPTY(&bp->b_dep)) { + if (off == 0) + panic("deallocate_dependencies: dangling deps"); + bp->b_vflags |= BV_SCANNED; + return (EBUSY); + } - return (1); + return (0); } /* @@ -5800,20 +6473,36 @@ static int * space is no longer pointed to by the inode or in the bitmap. */ static void -cancel_allocdirect(adphead, adp, freeblks, delay) +cancel_allocdirect(adphead, adp, freeblks) struct allocdirectlst *adphead; struct allocdirect *adp; struct freeblks *freeblks; - int delay; { struct freework *freework; struct newblk *newblk; struct worklist *wk; - ufs_lbn_t lbn; TAILQ_REMOVE(adphead, adp, ad_next); newblk = (struct newblk *)adp; + freework = NULL; /* + * Find the correct freework structure. + */ + LIST_FOREACH(wk, &freeblks->fb_freeworkhd, wk_list) { + if (wk->wk_type != D_FREEWORK) + continue; + freework = WK_FREEWORK(wk); + if (freework->fw_blkno == newblk->nb_newblkno) + break; + } + if (freework == NULL) + panic("cancel_allocdirect: Freework not found"); + /* + * If a newblk exists at all we still have the journal entry that + * initiated the allocation so we do not need to journal the free. + */ + cancel_jfreeblk(freeblks, freework->fw_blkno); + /* * If the journal hasn't been written the jnewblk must be passed * to the call to ffs_blkfree that reclaims the space. We accomplish * this by linking the journal dependency into the freework to be @@ -5821,33 +6510,9 @@ static void * been written we can simply reclaim the journal space when the * freeblks work is complete. */ - if (newblk->nb_jnewblk == NULL) { - if (cancel_newblk(newblk, NULL, &freeblks->fb_jwork) != NULL) - panic("cancel_allocdirect: Unexpected dependency"); - goto found; - } - lbn = newblk->nb_jnewblk->jn_lbn; - /* - * Find the correct freework structure so it releases the canceled - * journal when the bitmap is cleared. This preserves rollback - * until the allocation is reverted. - */ - LIST_FOREACH(wk, &freeblks->fb_freeworkhd, wk_list) { - freework = WK_FREEWORK(wk); - if (freework->fw_lbn != lbn) - continue; - freework->fw_jnewblk = cancel_newblk(newblk, &freework->fw_list, - &freework->fw_jwork); - goto found; - } - panic("cancel_allocdirect: Freework not found for lbn %jd\n", lbn); -found: - if (delay) - WORKLIST_INSERT(&adp->ad_inodedep->id_bufwait, - &newblk->nb_list); - else - free_newblk(newblk); - return; + freework->fw_jnewblk = cancel_newblk(newblk, &freework->fw_list, + &freeblks->fb_jwork); + WORKLIST_INSERT(&freeblks->fb_freeworkhd, &newblk->nb_list); } @@ -5865,33 +6530,18 @@ cancel_newblk(newblk, wk, wkhd) struct worklist *wk; struct workhead *wkhd; { - struct indirdep *indirdep; - struct allocindir *aip; struct jnewblk *jnewblk; - while ((indirdep = LIST_FIRST(&newblk->nb_indirdeps)) != NULL) { - indirdep->ir_state &= ~ONDEPLIST; - LIST_REMOVE(indirdep, ir_next); - /* - * If an indirdep is not on the buf worklist we need to - * free it here as deallocate_dependencies() will never - * find it. These pointers were never visible on disk and - * can be discarded immediately. - */ - while ((aip = LIST_FIRST(&indirdep->ir_completehd)) != NULL) { - LIST_REMOVE(aip, ai_next); - if (cancel_newblk(&aip->ai_block, NULL, wkhd) != NULL) - panic("cancel_newblk: aip has journal entry"); - free_newblk(&aip->ai_block); - } - /* - * If this indirdep is not attached to a buf it was simply - * waiting on completion to clear completehd. free_indirdep() - * asserts that nothing is dangling. - */ - if ((indirdep->ir_state & ONWORKLIST) == 0) - free_indirdep(indirdep); - } + newblk->nb_state |= GOINGAWAY; + /* + * Previously we traversed the completedhd on each indirdep + * attached to this newblk to cancel them and gather journal + * work. Since we need only the oldest journal segment and + * the lowest point on the tree will always have the oldest + * journal segment we are free to release the segments + * of any subordinates and may leave the indirdep list to + * indirdep_complete() when this newblk is freed. + */ if (newblk->nb_state & ONDEPLIST) { newblk->nb_state &= ~ONDEPLIST; LIST_REMOVE(newblk, nb_deps); @@ -5904,7 +6554,7 @@ cancel_newblk(newblk, wk, wkhd) * superseding operation completes. */ jnewblk = newblk->nb_jnewblk; - if (jnewblk != NULL) { + if (jnewblk != NULL && wk != NULL) { newblk->nb_jnewblk = NULL; jnewblk->jn_dep = wk; } @@ -5915,6 +6565,25 @@ cancel_newblk(newblk, wk, wkhd) } /* + * Schedule the freefrag associated with a newblk to be released once + * the pointers are written and the previous block is no longer needed. + */ +static void +newblk_freefrag(newblk) + struct newblk *newblk; +{ + struct freefrag *freefrag; + + if (newblk->nb_freefrag == NULL) + return; + freefrag = newblk->nb_freefrag; + newblk->nb_freefrag = NULL; + freefrag->ff_state |= COMPLETE; + if ((freefrag->ff_state & ALLCOMPLETE) == ALLCOMPLETE) + add_to_worklist(&freefrag->ff_list, 0); +} + +/* * Free a newblk. Generate a new freefrag work request if appropriate. * This must be called after the inode pointer and any direct block pointers * are valid or fully removed via truncate or frag extension. @@ -5924,34 +6593,23 @@ free_newblk(newblk) struct newblk *newblk; { struct indirdep *indirdep; - struct newdirblk *newdirblk; - struct freefrag *freefrag; struct worklist *wk; + KASSERT(newblk->nb_jnewblk == NULL, + ("free_newblk; jnewblk %p still attached", newblk->nb_jnewblk)); mtx_assert(&lk, MA_OWNED); + newblk_freefrag(newblk); if (newblk->nb_state & ONDEPLIST) LIST_REMOVE(newblk, nb_deps); if (newblk->nb_state & ONWORKLIST) WORKLIST_REMOVE(&newblk->nb_list); LIST_REMOVE(newblk, nb_hash); - if ((freefrag = newblk->nb_freefrag) != NULL) { - freefrag->ff_state |= COMPLETE; - if ((freefrag->ff_state & ALLCOMPLETE) == ALLCOMPLETE) - add_to_worklist(&freefrag->ff_list, 0); - } - if ((wk = LIST_FIRST(&newblk->nb_newdirblk)) != NULL) { - newdirblk = WK_NEWDIRBLK(wk); - WORKLIST_REMOVE(&newdirblk->db_list); - if (!LIST_EMPTY(&newblk->nb_newdirblk)) - panic("free_newblk: extra newdirblk"); - free_newdirblk(newdirblk); - } - while ((indirdep = LIST_FIRST(&newblk->nb_indirdeps)) != NULL) { - indirdep->ir_state |= DEPCOMPLETE; + if ((wk = LIST_FIRST(&newblk->nb_newdirblk)) != NULL) + free_newdirblk(WK_NEWDIRBLK(wk)); + if (!LIST_EMPTY(&newblk->nb_newdirblk)) + panic("free_newblk: extra newdirblk"); + while ((indirdep = LIST_FIRST(&newblk->nb_indirdeps)) != NULL) indirdep_complete(indirdep); - } - KASSERT(newblk->nb_jnewblk == NULL, - ("free_newblk; jnewblk %p still attached", newblk->nb_jnewblk)); handle_jwork(&newblk->nb_jwork); newblk->nb_list.wk_type = D_NEWBLK; WORKITEM_FREE(newblk, D_NEWBLK); @@ -5968,9 +6626,9 @@ free_newdirblk(newdirblk) struct pagedep *pagedep; struct diradd *dap; struct worklist *wk; - int i; mtx_assert(&lk, MA_OWNED); + WORKLIST_REMOVE(&newdirblk->db_list); /* * If the pagedep is still linked onto the directory buffer * dependency chain, then some of the entries on the @@ -5983,21 +6641,13 @@ free_newdirblk(newdirblk) */ pagedep = newdirblk->db_pagedep; pagedep->pd_state &= ~NEWBLOCK; - if ((pagedep->pd_state & ONWORKLIST) == 0) + if ((pagedep->pd_state & ONWORKLIST) == 0) { while ((dap = LIST_FIRST(&pagedep->pd_pendinghd)) != NULL) free_diradd(dap, NULL); - /* - * If no dependencies remain, the pagedep will be freed. - */ - for (i = 0; i < DAHASHSZ; i++) - if (!LIST_EMPTY(&pagedep->pd_diraddhd[i])) - break; - if (i == DAHASHSZ && (pagedep->pd_state & ONWORKLIST) == 0 && - LIST_EMPTY(&pagedep->pd_jmvrefhd)) { - KASSERT(LIST_FIRST(&pagedep->pd_dirremhd) == NULL, - ("free_newdirblk: Freeing non-free pagedep %p", pagedep)); - LIST_REMOVE(pagedep, pd_hash); - WORKITEM_FREE(pagedep, D_PAGEDEP); + /* + * If no dependencies remain, the pagedep will be freed. + */ + free_pagedep(pagedep); } /* Should only ever be one item in the list. */ while ((wk = LIST_FIRST(&newdirblk->db_mkdir)) != NULL) { @@ -6020,6 +6670,7 @@ softdep_freefile(pvp, ino, mode) struct inode *ip = VTOI(pvp); struct inodedep *inodedep; struct freefile *freefile; + struct freeblks *freeblks; /* * This sets up the inode de-allocation dependency. @@ -6048,28 +6699,38 @@ softdep_freefile(pvp, ino, mode) */ ACQUIRE_LOCK(&lk); inodedep_lookup(pvp->v_mount, ino, 0, &inodedep); - /* - * Remove this inode from the unlinked list and set - * GOINGAWAY as appropriate to indicate that this inode - * will never be written. - */ - if (inodedep && inodedep->id_state & UNLINKED) { + if (inodedep) { /* - * Save the journal work to be freed with the bitmap - * before we clear UNLINKED. Otherwise it can be lost - * if the inode block is written. + * Clear out freeblks that no longer need to reference + * this inode. */ - handle_bufwait(inodedep, &freefile->fx_jwork); - clear_unlinked_inodedep(inodedep); - /* Re-acquire inodedep as we've dropped lk. */ - inodedep_lookup(pvp->v_mount, ino, 0, &inodedep); + while ((freeblks = + TAILQ_FIRST(&inodedep->id_freeblklst)) != NULL) { + TAILQ_REMOVE(&inodedep->id_freeblklst, freeblks, + fb_next); + freeblks->fb_state &= ~ONDEPLIST; + } + /* + * Remove this inode from the unlinked list. + */ + if (inodedep->id_state & UNLINKED) { + /* + * Save the journal work to be freed with the bitmap + * before we clear UNLINKED. Otherwise it can be lost + * if the inode block is written. + */ + handle_bufwait(inodedep, &freefile->fx_jwork); + clear_unlinked_inodedep(inodedep); + /* Re-acquire inodedep as we've dropped lk. */ + inodedep_lookup(pvp->v_mount, ino, 0, &inodedep); + } } if (inodedep == NULL || check_inode_unwritten(inodedep)) { FREE_LOCK(&lk); handle_workitem_freefile(freefile); return; } - if (inodedep && (inodedep->id_state & DEPCOMPLETE) == 0) + if ((inodedep->id_state & DEPCOMPLETE) == 0) inodedep->id_state |= GOINGAWAY; WORKLIST_INSERT(&inodedep->id_inowait, &freefile->fx_list); FREE_LOCK(&lk); @@ -6154,6 +6815,7 @@ free_inodedep(inodedep) !TAILQ_EMPTY(&inodedep->id_newinoupdt) || !TAILQ_EMPTY(&inodedep->id_extupdt) || !TAILQ_EMPTY(&inodedep->id_newextupdt) || + !TAILQ_EMPTY(&inodedep->id_freeblklst) || inodedep->id_mkdiradd != NULL || inodedep->id_nlinkdelta != 0 || inodedep->id_savedino1 != NULL) @@ -6181,54 +6843,59 @@ freework_freeblock(freework) struct ufsmount *ump; struct workhead wkhd; struct fs *fs; - int pending; int bsize; int needj; + mtx_assert(&lk, MA_OWNED); + /* + * Handle partial truncate separately. + */ + if (freework->fw_indir) { + complete_trunc_indir(freework); + return; + } freeblks = freework->fw_freeblks; ump = VFSTOUFS(freeblks->fb_list.wk_mp); fs = ump->um_fs; needj = freeblks->fb_list.wk_mp->mnt_kern_flag & MNTK_SUJ; bsize = lfragtosize(fs, freework->fw_frags); - pending = btodb(bsize); LIST_INIT(&wkhd); /* + * DEPCOMPLETE is cleared in indirblk_insert() if the block lives + * on the indirblk hashtable and prevents premature freeing. + */ + freework->fw_state |= DEPCOMPLETE; + /* + * SUJ needs to wait for the segment referencing freed indirect + * blocks to expire so that we know the checker will not confuse + * a re-allocated indirect block with its old contents. + */ + if (needj && freework->fw_lbn <= -NDADDR) + indirblk_insert(freework); + /* * If we are canceling an existing jnewblk pass it to the free * routine, otherwise pass the freeblk which will ultimately * release the freeblks. If we're not journaling, we can just * free the freeblks immediately. */ - ACQUIRE_LOCK(&lk); - LIST_SWAP(&wkhd, &freework->fw_jwork, worklist, wk_list); jnewblk = freework->fw_jnewblk; if (jnewblk != NULL) { - /* Could've already been canceled in indir_trunc(). */ - if ((jnewblk->jn_state & GOINGAWAY) == 0) - cancel_jnewblk(jnewblk, &wkhd); + cancel_jnewblk(jnewblk, &wkhd); needj = 0; } else if (needj) WORKLIST_INSERT(&wkhd, &freework->fw_list); - freeblks->fb_chkcnt -= pending; + freeblks->fb_freecnt += btodb(bsize); FREE_LOCK(&lk); - /* - * extattr blocks don't show up in pending blocks. XXX why? - */ - if (freework->fw_lbn >= 0 || freework->fw_lbn <= -NDADDR) { - UFS_LOCK(ump); - fs->fs_pendingblocks -= pending; - UFS_UNLOCK(ump); - } - ffs_blkfree(ump, fs, freeblks->fb_devvp, freework->fw_blkno, - bsize, freeblks->fb_previousinum, &wkhd); + ffs_blkfree(ump, fs, freeblks->fb_devvp, freework->fw_blkno, bsize, + freeblks->fb_inum, &wkhd); + ACQUIRE_LOCK(&lk); if (needj) return; /* * The jnewblk will be discarded and the bits in the map never * made it to disk. We can immediately free the freeblk. */ - ACQUIRE_LOCK(&lk); handle_written_freework(freework); - FREE_LOCK(&lk); } /* @@ -6246,15 +6913,21 @@ handle_workitem_indirblk(freework) struct ufsmount *ump; struct fs *fs; - freeblks = freework->fw_freeblks; ump = VFSTOUFS(freeblks->fb_list.wk_mp); fs = ump->um_fs; - if (freework->fw_off == NINDIR(fs)) + if (freework->fw_state & DEPCOMPLETE) { + handle_written_freework(freework); + return; + } + if (freework->fw_off == NINDIR(fs)) { freework_freeblock(freework); - else - indir_trunc(freework, fsbtodb(fs, freework->fw_blkno), - freework->fw_lbn); + return; + } + FREE_LOCK(&lk); + indir_trunc(freework, fsbtodb(fs, freework->fw_blkno), + freework->fw_lbn); + ACQUIRE_LOCK(&lk); } /* @@ -6268,48 +6941,17 @@ handle_written_freework(freework) { struct freeblks *freeblks; struct freework *parent; - struct jsegdep *jsegdep; - struct worklist *wk; - int needj; - needj = 0; freeblks = freework->fw_freeblks; parent = freework->fw_parent; - /* - * SUJ needs to wait for the segment referencing freed indirect - * blocks to expire so that we know the checker will not confuse - * a re-allocated indirect block with its old contents. - */ - if (freework->fw_lbn <= -NDADDR && - freework->fw_list.wk_mp->mnt_kern_flag & MNTK_SUJ) { - LIST_FOREACH(wk, &freeblks->fb_jwork, wk_list) - if (wk->wk_type == D_JSEGDEP) - break; - if (wk) { - jsegdep = WK_JSEGDEP(wk); - LIST_INSERT_HEAD(&jsegdep->jd_seg->js_indirs, - freework, fw_next); - WORKLIST_INSERT(INDIR_HASH(freework->fw_list.wk_mp, - freework->fw_blkno), &freework->fw_list); - needj = 1; - } - } if (parent) { - if (--parent->fw_ref != 0) - parent = NULL; - freeblks = NULL; - } else if (--freeblks->fb_ref != 0) - freeblks = NULL; - if (needj == 0) + if (--parent->fw_ref == 0) + add_to_worklist(&parent->fw_list, 1); + } else if (--freeblks->fb_ref == 0) + add_to_worklist(&freeblks->fb_list, 1); + freework->fw_state |= COMPLETE; + if ((freework->fw_state & ALLCOMPLETE) == ALLCOMPLETE) WORKITEM_FREE(freework, D_FREEWORK); - /* - * Don't delay these block frees or it takes an intolerable amount - * of time to process truncates and free their journal entries. - */ - if (freeblks) - add_to_worklist(&freeblks->fb_list, 1); - if (parent) - add_to_worklist(&parent->fw_list, 1); } /* @@ -6326,32 +6968,68 @@ handle_workitem_freeblocks(freeblks, flags) int flags; { struct freework *freework; + struct newblk *newblk; + struct allocindir *aip; + struct ufsmount *ump; struct worklist *wk; KASSERT(LIST_EMPTY(&freeblks->fb_jfreeblkhd), ("handle_workitem_freeblocks: Journal entries not written.")); if (LIST_EMPTY(&freeblks->fb_freeworkhd)) { - handle_complete_freeblocks(freeblks); + handle_complete_freeblocks(freeblks, flags); return; } - freeblks->fb_ref++; + ump = VFSTOUFS(freeblks->fb_list.wk_mp); + ACQUIRE_LOCK(&lk); while ((wk = LIST_FIRST(&freeblks->fb_freeworkhd)) != NULL) { - KASSERT(wk->wk_type == D_FREEWORK, - ("handle_workitem_freeblocks: Unknown type %s", - TYPENAME(wk->wk_type))); - WORKLIST_REMOVE_UNLOCKED(wk); - freework = WK_FREEWORK(wk); - if (freework->fw_lbn <= -NDADDR) - handle_workitem_indirblk(freework); - else - freework_freeblock(freework); + WORKLIST_REMOVE(wk); + switch (wk->wk_type) { + case D_DIRREM: + wk->wk_state |= COMPLETE; + add_to_worklist(wk, 0); + continue; + + case D_ALLOCDIRECT: + free_newblk(WK_NEWBLK(wk)); + continue; + + case D_ALLOCINDIR: + aip = WK_ALLOCINDIR(wk); + freework = NULL; + if (aip->ai_state & DELAYEDFREE) { + FREE_LOCK(&lk); + freework = newfreework(ump, freeblks, NULL, + aip->ai_lbn, aip->ai_newblkno, + ump->um_fs->fs_frag, 0, 0); + ACQUIRE_LOCK(&lk); + } + newblk = WK_NEWBLK(wk); + if (newblk->nb_jnewblk) { + freework->fw_jnewblk = newblk->nb_jnewblk; + newblk->nb_jnewblk->jn_dep = &freework->fw_list; + newblk->nb_jnewblk = NULL; + } + free_newblk(newblk); + continue; + + case D_FREEWORK: + wk->wk_state &= ~ONDEPLIST; + freework = WK_FREEWORK(wk); + if (freework->fw_lbn <= -NDADDR) + handle_workitem_indirblk(freework); + else + freework_freeblock(freework); + continue; + default: + panic("handle_workitem_freeblocks: Unknown type %s", + TYPENAME(wk->wk_type)); + } } - ACQUIRE_LOCK(&lk); if (--freeblks->fb_ref != 0) freeblks = NULL; FREE_LOCK(&lk); if (freeblks) - handle_complete_freeblocks(freeblks); + handle_complete_freeblocks(freeblks, flags); } /* @@ -6360,40 +7038,76 @@ handle_workitem_freeblocks(freeblks, flags) * can not be called until all other dependencies are stable on disk. */ static void -handle_complete_freeblocks(freeblks) +handle_complete_freeblocks(freeblks, flags) struct freeblks *freeblks; + int flags; { + struct inodedep *inodedep; struct inode *ip; struct vnode *vp; struct fs *fs; struct ufsmount *ump; - int flags; + ufs2_daddr_t spare; ump = VFSTOUFS(freeblks->fb_list.wk_mp); fs = ump->um_fs; - flags = LK_NOWAIT; + flags = LK_EXCLUSIVE | (flags & LK_NOWAIT); + spare = freeblks->fb_freecnt - freeblks->fb_chkcnt; /* - * If we still have not finished background cleanup, then check - * to see if the block count needs to be adjusted. + * If we did not release the expected number of blocks we may have + * to adjust the inode block count here. Only do so if it wasn't + * a truncation to zero and the modrev still matches. */ - if (freeblks->fb_chkcnt != 0 && (fs->fs_flags & FS_UNCLEAN) != 0 && - ffs_vgetf(freeblks->fb_list.wk_mp, freeblks->fb_previousinum, - (flags & LK_NOWAIT) | LK_EXCLUSIVE, &vp, FFSV_FORCEINSMQ) == 0) { + if (spare && freeblks->fb_len != 0) { + if (ffs_vgetf(freeblks->fb_list.wk_mp, freeblks->fb_inum, + flags, &vp, FFSV_FORCEINSMQ) != 0) { + ACQUIRE_LOCK(&lk); + add_to_worklist(&freeblks->fb_list, 1); + FREE_LOCK(&lk); + return; + } ip = VTOI(vp); - DIP_SET(ip, i_blocks, DIP(ip, i_blocks) + freeblks->fb_chkcnt); - ip->i_flag |= IN_CHANGE; + if (DIP(ip, i_modrev) == freeblks->fb_modrev) { + DIP_SET(ip, i_blocks, DIP(ip, i_blocks) - spare); + ip->i_flag |= IN_CHANGE; + /* + * We must wait so this happens before the + * journal is reclaimed. + */ + ffs_update(vp, 1); + } vput(vp); + spare = 0; } + if (freeblks->fb_chkcnt) { + UFS_LOCK(ump); + fs->fs_pendingblocks -= freeblks->fb_chkcnt; + UFS_UNLOCK(ump); + } +#ifdef QUOTA + /* Handle spare. */ +#endif - if (!(freeblks->fb_chkcnt == 0 || +#if 0 + if (!(spare != 0 || ((fs->fs_flags & FS_UNCLEAN) != 0 && (flags & LK_NOWAIT) == 0))) - printf( - "handle_workitem_freeblocks: inode %ju block count %jd\n", - (uintmax_t)freeblks->fb_previousinum, - (intmax_t)freeblks->fb_chkcnt); + printf("handle_complete_freeblocks: " + "inode %ju block count %jd actual %jd\n", + (uintmax_t)freeblks->fb_inum, + (intmax_t)freeblks->fb_chkcnt, + (intmax_t)freeblks->fb_freecnt); +#endif ACQUIRE_LOCK(&lk); + if (freeblks->fb_state & ONDEPLIST) { + inodedep_lookup(freeblks->fb_list.wk_mp, freeblks->fb_inum, + 0, &inodedep); + TAILQ_REMOVE(&inodedep->id_freeblklst, freeblks, fb_next); + freeblks->fb_state &= ~ONDEPLIST; + if (TAILQ_EMPTY(&inodedep->id_freeblklst)) + free_inodedep(inodedep); + } /* * All of the freeblock deps must be complete prior to this call * so it's now safe to complete earlier outstanding journal entries. @@ -6404,10 +7118,15 @@ static void } /* - * Release blocks associated with the inode ip and stored in the indirect + * Release blocks associated with the freeblks and stored in the indirect * block dbn. If level is greater than SINGLE, the block is an indirect block * and recursive calls to indirtrunc must be used to cleanse other indirect * blocks. + * + * This handles partial and complete truncation of blocks. Partial is noted + * with goingaway == 0. In this case the freework is completed after the + * zero'd indirects are written to disk. For full truncation the freework + * is completed after the block is freed. */ static void indir_trunc(freework, dbn, lbn) @@ -6417,165 +7136,105 @@ indir_trunc(freework, dbn, lbn) { struct freework *nfreework; struct workhead wkhd; - struct jnewblk *jnewblkn; - struct jnewblk *jnewblk; struct freeblks *freeblks; struct buf *bp; struct fs *fs; - struct worklist *wkn; - struct worklist *wk; struct indirdep *indirdep; struct ufsmount *ump; ufs1_daddr_t *bap1 = 0; ufs2_daddr_t nb, nnb, *bap2 = 0; - ufs_lbn_t lbnadd; + ufs_lbn_t lbnadd, nlbn; int i, nblocks, ufs1fmt; int fs_pendingblocks; + int goingaway; int freedeps; int needj; int level; int cnt; - LIST_INIT(&wkhd); - level = lbn_level(lbn); - if (level == -1) - panic("indir_trunc: Invalid lbn %jd\n", lbn); freeblks = freework->fw_freeblks; ump = VFSTOUFS(freeblks->fb_list.wk_mp); fs = ump->um_fs; - fs_pendingblocks = 0; - freedeps = 0; - needj = UFSTOVFS(ump)->mnt_kern_flag & MNTK_SUJ; - lbnadd = lbn_offset(fs, level); /* - * Get buffer of block pointers to be freed. This routine is not - * called until the zero'ed inode has been written, so it is safe - * to free blocks as they are encountered. Because the inode has - * been zero'ed, calls to bmap on these blocks will fail. So, we - * have to use the on-disk address and the block device for the - * filesystem to look them up. If the file was deleted before its - * indirect blocks were all written to disk, the routine that set - * us up (deallocate_dependencies) will have arranged to leave - * a complete copy of the indirect block in memory for our use. - * Otherwise we have to read the blocks in from the disk. + * Get buffer of block pointers to be freed. There are three cases: + * + * 1) Partial truncate caches the indirdep pointer in the freework + * which provides us a back copy to the save bp which holds the + * pointers we want to clear. When this completes the zero + * pointers are written to the real copy. + * 2) The indirect is being completely truncated, cancel_indirdep() + * eliminated the real copy and placed the indirdep on the saved + * copy. The indirdep and buf are discarded when this completes. + * 3) The indirect was not in memory, we read a copy off of the disk + * using the devvp and drop and invalidate the buffer when we're + * done. */ -#ifdef notyet - bp = getblk(freeblks->fb_devvp, dbn, (int)fs->fs_bsize, 0, 0, - GB_NOCREAT); -#else - bp = incore(&freeblks->fb_devvp->v_bufobj, dbn); -#endif + goingaway = 1; + indirdep = NULL; + if (freework->fw_indir != NULL) { + goingaway = 0; + indirdep = freework->fw_indir; + bp = indirdep->ir_savebp; + if (bp == NULL || bp->b_blkno != dbn) + panic("indir_trunc: Bad saved buf %p blkno %jd", + bp, (intmax_t)dbn); + } else if ((bp = incore(&freeblks->fb_devvp->v_bufobj, dbn)) != NULL) { + /* + * The lock prevents the buf dep list from changing and + * indirects on devvp should only ever have one dependency. + */ + indirdep = WK_INDIRDEP(LIST_FIRST(&bp->b_dep)); + if (indirdep == NULL || (indirdep->ir_state & GOINGAWAY) == 0) + panic("indir_trunc: Bad indirdep %p from buf %p", + indirdep, bp); + } else if (bread(freeblks->fb_devvp, dbn, (int)fs->fs_bsize, + NOCRED, &bp) != 0) { + brelse(bp); + return; + } ACQUIRE_LOCK(&lk); - if (bp != NULL && (wk = LIST_FIRST(&bp->b_dep)) != NULL) { - if (wk->wk_type != D_INDIRDEP || - (wk->wk_state & GOINGAWAY) == 0) - panic("indir_trunc: lost indirdep %p", wk); - indirdep = WK_INDIRDEP(wk); - LIST_SWAP(&wkhd, &indirdep->ir_jwork, worklist, wk_list); - LIST_FOREACH_SAFE(jnewblk, &indirdep->ir_jnewblkhd, - jn_indirdeps, jnewblkn) { - /* - * XXX This cancel may cause some lengthy delay - * before the record is reclaimed below. - */ - LIST_REMOVE(jnewblk, jn_indirdeps); - cancel_jnewblk(jnewblk, &wkhd); - } - - free_indirdep(indirdep); - if (!LIST_EMPTY(&bp->b_dep)) - panic("indir_trunc: dangling dep %p", - LIST_FIRST(&bp->b_dep)); - ump->um_numindirdeps -= 1; - FREE_LOCK(&lk); - } else { -#ifdef notyet - if (bp) - brelse(bp); -#endif - FREE_LOCK(&lk); - if (bread(freeblks->fb_devvp, dbn, (int)fs->fs_bsize, - NOCRED, &bp) != 0) { - brelse(bp); + /* + * If we have an indirdep we need to enforce the truncation order + * and discard it when it is complete. + */ + if (indirdep) { + if (freework != TAILQ_FIRST(&indirdep->ir_trunc) && + !TAILQ_EMPTY(&indirdep->ir_trunc)) { + add_to_worklist(&freework->fw_list, 0); + FREE_LOCK(&lk); return; } + /* + * If we're goingaway, free the indirdep. Otherwise it will + * linger until the write completes. + */ + if (goingaway) { + free_indirdep(indirdep); + ump->um_numindirdeps -= 1; + } } - /* - * Recursively free indirect blocks. - */ + FREE_LOCK(&lk); + /* Initialize pointers depending on block size. */ if (ump->um_fstype == UFS1) { + bap1 = (ufs1_daddr_t *)bp->b_data; + nb = bap1[freework->fw_off]; ufs1fmt = 1; - bap1 = (ufs1_daddr_t *)bp->b_data; } else { + bap2 = (ufs2_daddr_t *)bp->b_data; + nb = bap2[freework->fw_off]; ufs1fmt = 0; - bap2 = (ufs2_daddr_t *)bp->b_data; } - - /* - * Reclaim indirect blocks which never made it to disk. - */ - cnt = 0; - LIST_FOREACH_SAFE(wk, &wkhd, wk_list, wkn) { - if (wk->wk_type != D_JNEWBLK) - continue; - /* XXX Is the lock necessary here for more than an assert? */ - ACQUIRE_LOCK(&lk); - WORKLIST_REMOVE(wk); - FREE_LOCK(&lk); - jnewblk = WK_JNEWBLK(wk); - if (jnewblk->jn_lbn > 0) - i = (jnewblk->jn_lbn - -lbn) / lbnadd; - else - i = (-(jnewblk->jn_lbn + level - 1) - -(lbn + level)) / - lbnadd; - KASSERT(i >= 0 && i < NINDIR(fs), - ("indir_trunc: Index out of range %d parent %jd lbn %jd level %d", - i, lbn, jnewblk->jn_lbn, level)); - /* Clear the pointer so it isn't found below. */ - if (ufs1fmt) { - nb = bap1[i]; - bap1[i] = 0; - } else { - nb = bap2[i]; - bap2[i] = 0; - } - KASSERT(nb == jnewblk->jn_blkno, - ("indir_trunc: Block mismatch %jd != %jd", - nb, jnewblk->jn_blkno)); - if (level != 0) { - ufs_lbn_t nlbn; - - nlbn = (lbn + 1) - (i * lbnadd); - nfreework = newfreework(ump, freeblks, freework, - nlbn, nb, fs->fs_frag, 0); - nfreework->fw_jnewblk = jnewblk; - freedeps++; - indir_trunc(nfreework, fsbtodb(fs, nb), nlbn); - } else { - struct workhead freewk; - - LIST_INIT(&freewk); - ACQUIRE_LOCK(&lk); - WORKLIST_INSERT(&freewk, wk); - FREE_LOCK(&lk); - ffs_blkfree(ump, fs, freeblks->fb_devvp, - jnewblk->jn_blkno, fs->fs_bsize, - freeblks->fb_previousinum, &freewk); - } - cnt++; - } - ACQUIRE_LOCK(&lk); - /* Any remaining journal work can be completed with freeblks. */ - jwork_move(&freeblks->fb_jwork, &wkhd); - FREE_LOCK(&lk); + level = lbn_level(lbn); + needj = UFSTOVFS(ump)->mnt_kern_flag & MNTK_SUJ; + lbnadd = lbn_offset(fs, level); nblocks = btodb(fs->fs_bsize); - if (ufs1fmt) - nb = bap1[0]; - else - nb = bap2[0]; nfreework = freework; + freedeps = 0; + cnt = 0; /* - * Reclaim on disk blocks. + * Reclaim blocks. Traverses into nested indirect levels and + * arranges for the current level to be freed when subordinates + * are free when journaling. */ for (i = freework->fw_off; i < NINDIR(fs); i++, nb = nnb) { if (i != NINDIR(fs) - 1) { @@ -6589,12 +7248,10 @@ indir_trunc(freework, dbn, lbn) continue; cnt++; if (level != 0) { - ufs_lbn_t nlbn; - nlbn = (lbn + 1) - (i * lbnadd); if (needj != 0) { nfreework = newfreework(ump, freeblks, freework, - nlbn, nb, fs->fs_frag, 0); + nlbn, nb, fs->fs_frag, 0, 0); freedeps++; } indir_trunc(nfreework, fsbtodb(fs, nb), nlbn); @@ -6614,85 +7271,102 @@ indir_trunc(freework, dbn, lbn) freedeps++; } ffs_blkfree(ump, fs, freeblks->fb_devvp, nb, - fs->fs_bsize, freeblks->fb_previousinum, &wkhd); + fs->fs_bsize, freeblks->fb_inum, &wkhd); } } + if (goingaway) { + bp->b_flags |= B_INVAL | B_NOCACHE; + brelse(bp); + } + fs_pendingblocks = 0; if (level == 0) fs_pendingblocks = (nblocks * cnt); /* - * If we're not journaling we can free the indirect now. Otherwise - * setup the ref counts and offset so this indirect can be completed - * when its children are free. + * If we are journaling set up the ref counts and offset so this + * indirect can be completed when its children are free. */ - if (needj == 0) { - fs_pendingblocks += nblocks; - dbn = dbtofsb(fs, dbn); - ffs_blkfree(ump, fs, freeblks->fb_devvp, dbn, fs->fs_bsize, - freeblks->fb_previousinum, NULL); + if (needj) { ACQUIRE_LOCK(&lk); - freeblks->fb_chkcnt -= fs_pendingblocks; - if (freework->fw_blkno == dbn) - handle_written_freework(freework); - FREE_LOCK(&lk); - freework = NULL; - } else { - ACQUIRE_LOCK(&lk); freework->fw_off = i; freework->fw_ref += freedeps; freework->fw_ref -= NINDIR(fs) + 1; - if (freework->fw_ref != 0) - freework = NULL; - freeblks->fb_chkcnt -= fs_pendingblocks; + freeblks->fb_freecnt += fs_pendingblocks; + if (freework->fw_ref == 0) + freework_freeblock(freework); FREE_LOCK(&lk); + return; } - if (fs_pendingblocks) { - UFS_LOCK(ump); - fs->fs_pendingblocks -= fs_pendingblocks; - UFS_UNLOCK(ump); + /* + * If we're not journaling we can free the indirect now. + */ + fs_pendingblocks += nblocks; + dbn = dbtofsb(fs, dbn); + ffs_blkfree(ump, fs, freeblks->fb_devvp, dbn, fs->fs_bsize, + freeblks->fb_inum, NULL); + /* Non SUJ softdep does single-threaded truncations. */ + freeblks->fb_freecnt += fs_pendingblocks; + if (freework->fw_blkno == dbn) { + ACQUIRE_LOCK(&lk); + handle_written_freework(freework); + FREE_LOCK(&lk); } - bp->b_flags |= B_INVAL | B_NOCACHE; - brelse(bp); - if (freework) - handle_workitem_indirblk(freework); return; } /* - * Cancel an allocindir when it is removed via truncation. + * Cancel an allocindir when it is removed via truncation. When bp is not + * NULL the indirect never appeared on disk and is scheduled to be freed + * independently of the indir so we can more easily track journal work. */ static void -cancel_allocindir(aip, inodedep, freeblks) +cancel_allocindir(aip, bp, freeblks, trunc) struct allocindir *aip; - struct inodedep *inodedep; + struct buf *bp; struct freeblks *freeblks; + int trunc; { - struct jnewblk *jnewblk; + struct indirdep *indirdep; + struct freefrag *freefrag; struct newblk *newblk; + newblk = (struct newblk *)aip; + LIST_REMOVE(aip, ai_next); /* + * We must eliminate the pointer in bp if it must be freed on its + * own due to partial truncate or pending journal work. + */ + if (bp && (trunc || newblk->nb_jnewblk)) { + /* + * Clear the pointer and mark the aip to be freed + * directly if it never existed on disk. + */ + aip->ai_state |= DELAYEDFREE; + indirdep = aip->ai_indirdep; + if (indirdep->ir_state & UFS1FMT) + ((ufs1_daddr_t *)bp->b_data)[aip->ai_offset] = 0; + else + ((ufs2_daddr_t *)bp->b_data)[aip->ai_offset] = 0; + } + /* + * When truncating the previous pointer will be freed via + * savedbp. Eliminate the freefrag which would dup free. + */ + if (trunc && (freefrag = newblk->nb_freefrag) != NULL) { + newblk->nb_freefrag = NULL; + if (freefrag->ff_jdep) + cancel_jfreefrag( + WK_JFREEFRAG(freefrag->ff_jdep)); + jwork_move(&freeblks->fb_jwork, &freefrag->ff_jwork); + WORKITEM_FREE(freefrag, D_FREEFRAG); + } + /* * If the journal hasn't been written the jnewblk must be passed * to the call to ffs_blkfree that reclaims the space. We accomplish - * this by linking the journal dependency into the indirdep to be - * freed when indir_trunc() is called. If the journal has already - * been written we can simply reclaim the journal space when the - * freeblks work is complete. + * this by leaving the journal dependency on the newblk to be freed + * when a freework is created in handle_workitem_freeblocks(). */ - LIST_REMOVE(aip, ai_next); - newblk = (struct newblk *)aip; - if (newblk->nb_jnewblk == NULL) { - if (cancel_newblk(newblk, NULL, &freeblks->fb_jwork)) - panic("cancel_allocindir: Unexpected dependency."); - } else { - jnewblk = cancel_newblk(newblk, &aip->ai_indirdep->ir_list, - &aip->ai_indirdep->ir_jwork); - if (jnewblk) - LIST_INSERT_HEAD(&aip->ai_indirdep->ir_jnewblkhd, - jnewblk, jn_indirdeps); - } - if (inodedep && inodedep->id_state & DEPCOMPLETE) - WORKLIST_INSERT(&inodedep->id_bufwait, &newblk->nb_list); - else - free_newblk(newblk); + cancel_newblk(newblk, NULL, &freeblks->fb_jwork); + WORKLIST_INSERT(&freeblks->fb_freeworkhd, &newblk->nb_list); } /* @@ -6788,7 +7462,7 @@ setup_newdir(dap, newinum, dinum, newdirbp, mkdirp WORKITEM_FREE(mkdir2, D_MKDIR); } else { LIST_INSERT_HEAD(&mkdirlisthd, mkdir2, md_mkdirs); - WORKLIST_INSERT(&inodedep->id_bufwait,&mkdir2->md_list); + WORKLIST_INSERT(&inodedep->id_bufwait, &mkdir2->md_list); } *mkdirp = mkdir2; @@ -7540,6 +8214,7 @@ newdirrem(bp, dp, ip, isrmdir, prevdirremp) &pagedep) == 0) WORKLIST_INSERT(&bp->b_dep, &pagedep->pd_list); dirrem->dm_pagedep = pagedep; + dirrem->dm_offset = offset; /* * If we're renaming a .. link to a new directory, cancel any * existing MKDIR_PARENT mkdir. If it has already been canceled @@ -8372,7 +9047,7 @@ softdep_disk_io_initiation(bp) freeblks = WK_FREEBLKS(wk); jfreeblk = LIST_FIRST(&freeblks->fb_jfreeblkhd); /* - * We have to wait for the jfreeblks to be journaled + * We have to wait for the freeblks to be journaled * before we can write an inodeblock with updated * pointers. Be careful to arrange the marker so * we revisit the jfreeblk if it's not removed by @@ -8396,7 +9071,7 @@ softdep_disk_io_initiation(bp) */ newblk = WK_NEWBLK(wk); if (newblk->nb_jnewblk != NULL && - indirblk_inseg(newblk->nb_list.wk_mp, + indirblk_lookup(newblk->nb_list.wk_mp, newblk->nb_newblkno)) { LIST_REMOVE(&marker, wk_list); LIST_INSERT_BEFORE(wk, &marker, wk_list); @@ -8900,10 +9575,9 @@ initiate_write_inodeblock_ufs2(inodedep, bp) * list. */ static void -cancel_indirdep(indirdep, bp, inodedep, freeblks) +cancel_indirdep(indirdep, bp, freeblks) struct indirdep *indirdep; struct buf *bp; - struct inodedep *inodedep; struct freeblks *freeblks; { struct allocindir *aip; @@ -8924,24 +9598,38 @@ static void */ if (indirdep->ir_state & GOINGAWAY) panic("cancel_indirdep: already gone"); - if (indirdep->ir_state & ONDEPLIST) { - indirdep->ir_state &= ~ONDEPLIST; + if ((indirdep->ir_state & DEPCOMPLETE) == 0) { + indirdep->ir_state |= DEPCOMPLETE; LIST_REMOVE(indirdep, ir_next); } indirdep->ir_state |= GOINGAWAY; VFSTOUFS(indirdep->ir_list.wk_mp)->um_numindirdeps += 1; + /* + * Pass in bp for blocks still have journal writes + * pending so we can cancel them on their own. + */ while ((aip = LIST_FIRST(&indirdep->ir_deplisthd)) != 0) - cancel_allocindir(aip, inodedep, freeblks); + cancel_allocindir(aip, bp, freeblks, 0); while ((aip = LIST_FIRST(&indirdep->ir_donehd)) != 0) - cancel_allocindir(aip, inodedep, freeblks); + cancel_allocindir(aip, NULL, freeblks, 0); while ((aip = LIST_FIRST(&indirdep->ir_writehd)) != 0) - cancel_allocindir(aip, inodedep, freeblks); + cancel_allocindir(aip, NULL, freeblks, 0); while ((aip = LIST_FIRST(&indirdep->ir_completehd)) != 0) - cancel_allocindir(aip, inodedep, freeblks); - bcopy(bp->b_data, indirdep->ir_savebp->b_data, bp->b_bcount); + cancel_allocindir(aip, NULL, freeblks, 0); + /* + * If there are pending partial truncations we need to keep the + * old block copy around until they complete. This is because + * the current b_data is not a perfect superset of the available + * blocks. + */ + if (TAILQ_EMPTY(&indirdep->ir_trunc)) + bcopy(bp->b_data, indirdep->ir_savebp->b_data, bp->b_bcount); + else + bcopy(bp->b_data, indirdep->ir_saveddata, bp->b_bcount); WORKLIST_REMOVE(&indirdep->ir_list); WORKLIST_INSERT(&indirdep->ir_savebp->b_dep, &indirdep->ir_list); - indirdep->ir_savebp = NULL; + indirdep->ir_bp = NULL; + indirdep->ir_freeblks = freeblks; } /* @@ -8952,10 +9640,8 @@ free_indirdep(indirdep) struct indirdep *indirdep; { - KASSERT(LIST_EMPTY(&indirdep->ir_jwork), - ("free_indirdep: Journal work not empty.")); - KASSERT(LIST_EMPTY(&indirdep->ir_jnewblkhd), - ("free_indirdep: Journal new block list not empty.")); + KASSERT(TAILQ_EMPTY(&indirdep->ir_trunc), + ("free_indirdep: Indir trunc list not empty.")); KASSERT(LIST_EMPTY(&indirdep->ir_completehd), ("free_indirdep: Complete head not empty.")); KASSERT(LIST_EMPTY(&indirdep->ir_writehd), @@ -8964,10 +9650,10 @@ free_indirdep(indirdep) ("free_indirdep: done head not empty.")); KASSERT(LIST_EMPTY(&indirdep->ir_deplisthd), ("free_indirdep: deplist head not empty.")); - KASSERT(indirdep->ir_savebp == NULL, - ("free_indirdep: %p ir_savebp != NULL", indirdep)); - KASSERT((indirdep->ir_state & ONDEPLIST) == 0, - ("free_indirdep: %p still on deplist.", indirdep)); + KASSERT((indirdep->ir_state & DEPCOMPLETE), + ("free_indirdep: %p still on newblk list.", indirdep)); + KASSERT(indirdep->ir_saveddata == NULL, + ("free_indirdep: %p still has saved data.", indirdep)); if (indirdep->ir_state & ONWORKLIST) WORKLIST_REMOVE(&indirdep->ir_list); WORKITEM_FREE(indirdep, D_INDIRDEP); @@ -8984,22 +9670,25 @@ initiate_write_indirdep(indirdep, bp) struct buf *bp; { + indirdep->ir_state |= IOSTARTED; if (indirdep->ir_state & GOINGAWAY) panic("disk_io_initiation: indirdep gone"); - /* * If there are no remaining dependencies, this will be writing * the real pointers. */ - if (LIST_EMPTY(&indirdep->ir_deplisthd)) + if (LIST_EMPTY(&indirdep->ir_deplisthd) && + TAILQ_EMPTY(&indirdep->ir_trunc)) return; /* * Replace up-to-date version with safe version. */ - FREE_LOCK(&lk); - indirdep->ir_saveddata = malloc(bp->b_bcount, M_INDIRDEP, - M_SOFTDEP_FLAGS); - ACQUIRE_LOCK(&lk); + if (indirdep->ir_saveddata == NULL) { + FREE_LOCK(&lk); + indirdep->ir_saveddata = malloc(bp->b_bcount, M_INDIRDEP, + M_SOFTDEP_FLAGS); + ACQUIRE_LOCK(&lk); + } indirdep->ir_state &= ~ATTACHED; indirdep->ir_state |= UNDONE; bcopy(bp->b_data, indirdep->ir_saveddata, bp->b_bcount); @@ -9066,11 +9755,11 @@ softdep_setup_blkfree(mp, bp, blkno, frags, wkhd) int frags; struct workhead *wkhd; { + struct bmsafemap *bmsafemap; struct jnewblk *jnewblk; - struct worklist *wk, *wkn; + struct worklist *wk; + struct fs *fs; #ifdef SUJ_DEBUG - struct bmsafemap *bmsafemap; - struct fs *fs; uint8_t *blksfree; struct cg *cgp; ufs2_daddr_t jstart; @@ -9081,25 +9770,29 @@ softdep_setup_blkfree(mp, bp, blkno, frags, wkhd) #endif ACQUIRE_LOCK(&lk); + /* Lookup the bmsafemap so we track when it is dirty. */ + fs = VFSTOUFS(mp)->um_fs; + bmsafemap = bmsafemap_lookup(mp, bp, dtog(fs, blkno)); /* * Detach any jnewblks which have been canceled. They must linger * until the bitmap is cleared again by ffs_blkfree() to prevent * an unjournaled allocation from hitting the disk. */ if (wkhd) { - LIST_FOREACH_SAFE(wk, wkhd, wk_list, wkn) { - if (wk->wk_type != D_JNEWBLK) + while ((wk = LIST_FIRST(wkhd)) != NULL) { + WORKLIST_REMOVE(wk); + if (wk->wk_type != D_JNEWBLK) { + WORKLIST_INSERT(&bmsafemap->sm_freehd, wk); continue; + } jnewblk = WK_JNEWBLK(wk); KASSERT(jnewblk->jn_state & GOINGAWAY, ("softdep_setup_blkfree: jnewblk not canceled.")); - WORKLIST_REMOVE(wk); #ifdef SUJ_DEBUG /* * Assert that this block is free in the bitmap * before we discard the jnewblk. */ - fs = VFSTOUFS(mp)->um_fs; cgp = (struct cg *)bp->b_data; blksfree = cg_blksfree(cgp); bno = dtogd(fs, jnewblk->jn_blkno); @@ -9117,12 +9810,6 @@ softdep_setup_blkfree(mp, bp, blkno, frags, wkhd) wk->wk_state |= COMPLETE | ATTACHED; free_jnewblk(jnewblk); } - /* - * The buf must be locked by the caller otherwise these could - * be added while it's being written and the write would - * complete them before they made it to disk. - */ - jwork_move(&bp->b_dep, wkhd); } #ifdef SUJ_DEBUG @@ -9242,6 +9929,8 @@ initiate_write_bmsafemap(bmsafemap, bp) inodedep, id_deps); LIST_SWAP(&bmsafemap->sm_newblkhd, &bmsafemap->sm_newblkwr, newblk, nb_deps); + LIST_SWAP(&bmsafemap->sm_freehd, &bmsafemap->sm_freewr, worklist, + wk_list); } /* @@ -9260,6 +9949,7 @@ softdep_disk_write_complete(bp) struct worklist *wk; struct worklist *owk; struct workhead reattach; + struct freeblks *freeblks; struct buf *sbp; /* @@ -9277,6 +9967,7 @@ softdep_disk_write_complete(bp) ACQUIRE_LOCK(&lk); while ((wk = LIST_FIRST(&bp->b_dep)) != NULL) { WORKLIST_REMOVE(wk); + dep_write[wk->wk_type]++; if (wk == owk) panic("duplicate worklist: %p\n", wk); owk = wk; @@ -9318,7 +10009,9 @@ softdep_disk_write_complete(bp) case D_FREEBLKS: wk->wk_state |= COMPLETE; - if ((wk->wk_state & ALLCOMPLETE) == ALLCOMPLETE) + freeblks = WK_FREEBLKS(wk); + if ((wk->wk_state & ALLCOMPLETE) == ALLCOMPLETE && + LIST_EMPTY(&freeblks->fb_jfreeblkhd)) add_to_worklist(wk, 1); continue; @@ -9326,10 +10019,6 @@ softdep_disk_write_complete(bp) handle_written_freework(WK_FREEWORK(wk)); break; - case D_FREEDEP: - free_freedep(WK_FREEDEP(wk)); - continue; - case D_JSEGDEP: free_jsegdep(WK_JSEGDEP(wk)); continue; @@ -9459,7 +10148,11 @@ handle_allocindir_partdone(aip) return; indirdep = aip->ai_indirdep; LIST_REMOVE(aip, ai_next); - if (indirdep->ir_state & UNDONE) { + /* + * Don't set a pointer while the buffer is undergoing IO or while + * we have active truncations. + */ + if (indirdep->ir_state & UNDONE || !TAILQ_EMPTY(&indirdep->ir_trunc)) { LIST_INSERT_HEAD(&indirdep->ir_donehd, aip, ai_next); return; } @@ -9490,6 +10183,12 @@ handle_jwork(wkhd) case D_JSEGDEP: free_jsegdep(WK_JSEGDEP(wk)); continue; + case D_FREEDEP: + free_freedep(WK_FREEDEP(wk)); + continue; + case D_FREEWORK: + handle_written_freework(WK_FREEWORK(wk)); + continue; default: panic("handle_jwork: Unknown type %s\n", TYPENAME(wk->wk_type)); @@ -9852,21 +10551,26 @@ handle_written_indirdep(indirdep, bp, bpp) struct buf **bpp; { struct allocindir *aip; + struct buf *sbp; int chgs; if (indirdep->ir_state & GOINGAWAY) - panic("disk_write_complete: indirdep gone"); + panic("handle_written_indirdep: indirdep gone"); + if ((indirdep->ir_state & IOSTARTED) == 0) + panic("handle_written_indirdep: IO not started"); chgs = 0; /* * If there were rollbacks revert them here. */ if (indirdep->ir_saveddata) { bcopy(indirdep->ir_saveddata, bp->b_data, bp->b_bcount); - free(indirdep->ir_saveddata, M_INDIRDEP); - indirdep->ir_saveddata = 0; + if (TAILQ_EMPTY(&indirdep->ir_trunc)) { + free(indirdep->ir_saveddata, M_INDIRDEP); + indirdep->ir_saveddata = NULL; + } chgs = 1; } - indirdep->ir_state &= ~UNDONE; + indirdep->ir_state &= ~(UNDONE | IOSTARTED); indirdep->ir_state |= ATTACHED; /* * Move allocindirs with written pointers to the completehd if @@ -9878,6 +10582,7 @@ handle_written_indirdep(indirdep, bp, bpp) if ((indirdep->ir_state & DEPCOMPLETE) == 0) { LIST_INSERT_HEAD(&indirdep->ir_completehd, aip, ai_next); + newblk_freefrag(&aip->ai_block); continue; } free_newblk(&aip->ai_block); @@ -9886,50 +10591,42 @@ handle_written_indirdep(indirdep, bp, bpp) * Move allocindirs that have finished dependency processing from * the done list to the write list after updating the pointers. */ - while ((aip = LIST_FIRST(&indirdep->ir_donehd)) != 0) { - handle_allocindir_partdone(aip); - if (aip == LIST_FIRST(&indirdep->ir_donehd)) - panic("disk_write_complete: not gone"); - chgs = 1; + if (TAILQ_EMPTY(&indirdep->ir_trunc)) { + while ((aip = LIST_FIRST(&indirdep->ir_donehd)) != 0) { + handle_allocindir_partdone(aip); + if (aip == LIST_FIRST(&indirdep->ir_donehd)) + panic("disk_write_complete: not gone"); + chgs = 1; + } } /* - * If this indirdep has been detached from its newblk during - * I/O we need to keep this dep attached to the buffer so - * deallocate_dependencies can find it and properly resolve - * any outstanding dependencies. + * Preserve the indirdep if there were any changes or if it is not + * yet valid on disk. */ - if ((indirdep->ir_state & (ONDEPLIST | DEPCOMPLETE)) == 0) - chgs = 1; - if ((bp->b_flags & B_DELWRI) == 0) + if (chgs) { stat_indir_blk_ptrs++; + bdirty(bp); + return (1); + } /* * If there were no changes we can discard the savedbp and detach * ourselves from the buf. We are only carrying completed pointers * in this case. */ - if (chgs == 0) { - struct buf *sbp; - - sbp = indirdep->ir_savebp; - sbp->b_flags |= B_INVAL | B_NOCACHE; - indirdep->ir_savebp = NULL; - if (*bpp != NULL) - panic("handle_written_indirdep: bp already exists."); - *bpp = sbp; - } else - bdirty(bp); + sbp = indirdep->ir_savebp; + sbp->b_flags |= B_INVAL | B_NOCACHE; + indirdep->ir_savebp = NULL; + indirdep->ir_bp = NULL; + if (*bpp != NULL) + panic("handle_written_indirdep: bp already exists."); + *bpp = sbp; /* - * If there are no fresh dependencies and none waiting on writes - * we can free the indirdep. + * The indirdep may not be freed until its parent points at it. */ - if ((indirdep->ir_state & DEPCOMPLETE) && chgs == 0) { - if (indirdep->ir_state & ONDEPLIST) - LIST_REMOVE(indirdep, ir_next); + if (indirdep->ir_state & DEPCOMPLETE) free_indirdep(indirdep); - return (0); - } - return (chgs); + return (0); } /* @@ -9974,6 +10671,7 @@ handle_written_bmsafemap(bmsafemap, bp) struct inodedep *inodedep; struct jaddref *jaddref, *jatmp; struct jnewblk *jnewblk, *jntmp; + struct ufsmount *ump; uint8_t *inosused; uint8_t *blksfree; struct cg *cgp; @@ -9985,9 +10683,15 @@ handle_written_bmsafemap(bmsafemap, bp) if ((bmsafemap->sm_state & IOSTARTED) == 0) panic("initiate_write_bmsafemap: Not started\n"); + ump = VFSTOUFS(bmsafemap->sm_list.wk_mp); chgs = 0; bmsafemap->sm_state &= ~IOSTARTED; /* + * Release journal work that was waiting on the write. + */ + handle_jwork(&bmsafemap->sm_freewr); + + /* * Restore unwritten inode allocation pending jaddref writes. */ if (!LIST_EMPTY(&bmsafemap->sm_jaddrefhd)) { @@ -10063,16 +10767,17 @@ handle_written_bmsafemap(bmsafemap, bp) LIST_REMOVE(inodedep, id_deps); inodedep->id_bmsafemap = NULL; } - if (LIST_EMPTY(&bmsafemap->sm_jaddrefhd) && + LIST_REMOVE(bmsafemap, sm_next); + if (chgs == 0 && LIST_EMPTY(&bmsafemap->sm_jaddrefhd) && LIST_EMPTY(&bmsafemap->sm_jnewblkhd) && LIST_EMPTY(&bmsafemap->sm_newblkhd) && - LIST_EMPTY(&bmsafemap->sm_inodedephd)) { - if (chgs) - bdirty(bp); + LIST_EMPTY(&bmsafemap->sm_inodedephd) && + LIST_EMPTY(&bmsafemap->sm_freehd)) { LIST_REMOVE(bmsafemap, sm_hash); WORKITEM_FREE(bmsafemap, D_BMSAFEMAP); return (0); } + LIST_INSERT_HEAD(&ump->softdep_dirtycg, bmsafemap, sm_next); bdirty(bp); return (1); } @@ -10119,17 +10824,19 @@ free_pagedep(pagedep) { int i; - if (pagedep->pd_state & (NEWBLOCK | ONWORKLIST)) + if (pagedep->pd_state & NEWBLOCK) return; + if (!LIST_EMPTY(&pagedep->pd_dirremhd)) + return; for (i = 0; i < DAHASHSZ; i++) if (!LIST_EMPTY(&pagedep->pd_diraddhd[i])) return; + if (!LIST_EMPTY(&pagedep->pd_pendinghd)) + return; if (!LIST_EMPTY(&pagedep->pd_jmvrefhd)) return; - if (!LIST_EMPTY(&pagedep->pd_dirremhd)) - return; - if (!LIST_EMPTY(&pagedep->pd_pendinghd)) - return; + if (pagedep->pd_state & ONWORKLIST) + WORKLIST_REMOVE(&pagedep->pd_list); LIST_REMOVE(pagedep, pd_hash); WORKITEM_FREE(pagedep, D_PAGEDEP); } @@ -10217,11 +10924,7 @@ handle_written_filepage(pagedep, bp) * Otherwise it will remain to track any new entries on * the page in case they are fsync'ed. */ - if ((pagedep->pd_state & NEWBLOCK) == 0 && - LIST_EMPTY(&pagedep->pd_jmvrefhd)) { - LIST_REMOVE(pagedep, pd_hash); - WORKITEM_FREE(pagedep, D_PAGEDEP); - } + free_pagedep(pagedep); return (0); } @@ -10655,6 +11358,44 @@ restart: BO_UNLOCK(bo); } +static void +sync_cgs(mp, waitfor) + struct mount *mp; + int waitfor; +{ + struct bmsafemap *bmsafemap; + struct bmsafemap *sentinal; + struct ufsmount *ump; + struct buf *bp; + + sentinal = malloc(sizeof(*sentinal), M_BMSAFEMAP, M_ZERO | M_WAITOK); + sentinal->sm_cg = -1; + ump = VFSTOUFS(mp); + ACQUIRE_LOCK(&lk); + LIST_INSERT_HEAD(&ump->softdep_dirtycg, sentinal, sm_next); + for (bmsafemap = LIST_NEXT(sentinal, sm_next); bmsafemap != NULL; + bmsafemap = LIST_NEXT(sentinal, sm_next)) { + /* Skip sentinals and cgs with no work to release. */ + if (bmsafemap->sm_cg == -1 || + LIST_EMPTY(&bmsafemap->sm_freehd)) { + LIST_REMOVE(sentinal, sm_next); + LIST_INSERT_AFTER(bmsafemap, sentinal, sm_next); + continue; + } + bp = getdirtybuf(bmsafemap->sm_buf, &lk, waitfor); + if (bp == NULL) + continue; + LIST_REMOVE(sentinal, sm_next); + LIST_INSERT_AFTER(bmsafemap, sentinal, sm_next); + FREE_LOCK(&lk); + bwrite(bp); + ACQUIRE_LOCK(&lk); + } + LIST_REMOVE(sentinal, sm_next); + FREE_LOCK(&lk); + free(sentinal, M_BMSAFEMAP); +} + /* * This routine is called when we are trying to synchronously flush a * file. This routine must eliminate any filesystem metadata dependencies @@ -10664,6 +11405,8 @@ restart: int softdep_sync_metadata(struct vnode *vp) { + struct indirdep *indirdep; + struct freework *freework; struct pagedep *pagedep; struct allocindir *aip; struct newblk *newblk; @@ -10678,7 +11421,8 @@ softdep_sync_metadata(struct vnode *vp) * Ensure that any direct block dependencies have been cleared. */ ACQUIRE_LOCK(&lk); - if ((error = flush_inodedep_deps(vp->v_mount, VTOI(vp)->i_number))) { + if ((error = flush_inodedep_deps(vp, vp->v_mount, + VTOI(vp)->i_number))) { FREE_LOCK(&lk); return (error); } @@ -10754,9 +11498,45 @@ loop: case D_INDIRDEP: restart: + indirdep = WK_INDIRDEP(wk); + TAILQ_FOREACH(freework, &indirdep->ir_trunc, fw_next) { + /* + * If the freework is on a worklist it is + * simply waiting for softdep flush to + * execute it. + */ + if (freework->fw_state & ONWORKLIST) { + if (freework->fw_state & ONDEPLIST) + WORKLIST_REMOVE( + &freework->fw_list); + else + remove_from_worklist( + &freework->fw_list); + freework->fw_state &= ~ONDEPLIST; + } else + freework = NULL; + /* + * Release the buf so that freework_freeblock + * has a chance to succeed. + */ + FREE_LOCK(&lk); + BUF_NOREC(bp); + bqrelse(bp); + if (freework) { + ACQUIRE_LOCK(&lk); + handle_workitem_indirblk(freework); + FREE_LOCK(&lk); + goto top; + } + /* + * We may need to flush cgs for the freework + * to finish. + */ + sync_cgs(vp->v_mount, MNT_WAIT); + goto top; + } - LIST_FOREACH(aip, - &WK_INDIRDEP(wk)->ir_deplisthd, ai_next) { + LIST_FOREACH(aip, &indirdep->ir_deplisthd, ai_next) { newblk = (struct newblk *)aip; if (newblk->nb_jnewblk != NULL) { stat_jwait_newblk++; @@ -10799,6 +11579,9 @@ loop: } continue; + case D_FREEWORK: + continue; + default: panic("softdep_sync_metadata: Unknown type %s", TYPENAME(wk->wk_type)); @@ -10851,11 +11634,58 @@ loop: } /* + * Make sure that all truncations have been started so that if we + * discover any lingering dependencies on indirdeps we can successfully + * flush them. + */ +static int +flush_trunclist(vp, inodedep, waitfor, errorp) + struct vnode *vp; + struct inodedep *inodedep; + int waitfor; + int *errorp; +{ + struct freeblks *freeblks; + + TAILQ_FOREACH(freeblks, &inodedep->id_freeblklst, fb_next) { + if (!LIST_EMPTY(&freeblks->fb_jfreeblkhd)) { + stat_jwait_freeblks++; + jwait(&LIST_FIRST(&freeblks->fb_jfreeblkhd)->jf_list); + return (1); + } + /* Freeblks is waiting on a inode write. */ + if ((freeblks->fb_state & COMPLETE) == 0) { + FREE_LOCK(&lk); + ffs_update(vp, 1); + goto restart; + } + /* + * If the truncation is complete it may be waiting for the vnode + * lock to update i_blocks. It may also simply be waiting on + * a busy softdep thread to start truncation. + */ + if ((freeblks->fb_state & (ONWORKLIST | ALLCOMPLETE)) == + (ONWORKLIST | ALLCOMPLETE)) { + remove_from_worklist(&freeblks->fb_list); + FREE_LOCK(&lk); + handle_workitem_freeblocks(freeblks, 0); + goto restart; + } + } + return (0); + +restart: + ACQUIRE_LOCK(&lk); + return (1); +} + +/* * Flush the dependencies associated with an inodedep. * Called with splbio blocked. */ static int -flush_inodedep_deps(mp, ino) +flush_inodedep_deps(vp, mp, ino) + struct vnode *vp; struct mount *mp; ino_t ino; { @@ -10895,7 +11725,8 @@ restart: if (flush_deplist(&inodedep->id_inoupdt, waitfor, &error) || flush_deplist(&inodedep->id_newinoupdt, waitfor, &error) || flush_deplist(&inodedep->id_extupdt, waitfor, &error) || - flush_deplist(&inodedep->id_newextupdt, waitfor, &error)) + flush_deplist(&inodedep->id_newextupdt, waitfor, &error) || + flush_trunclist(vp, inodedep, waitfor, &error)) continue; /* * If pass2, we are done, otherwise do pass 2. @@ -11237,6 +12068,8 @@ softdep_slowdown(vp) softdep_speedup(); stat_sync_limit_hit += 1; FREE_LOCK(&lk); + if (DOINGSUJ(vp)) + return (0); return (1); } @@ -11338,6 +12171,7 @@ retry: UFS_UNLOCK(ump); ACQUIRE_LOCK(&lk); process_removes(vp); + process_truncates(vp); if (ump->softdep_on_worklist > 0 && process_worklist_item(UFSTOVFS(ump), LK_NOWAIT) != -1) { stat_worklist_push += 1; @@ -11363,24 +12197,14 @@ retry: UFS_UNLOCK(ump); MNT_ILOCK(mp); MNT_VNODE_FOREACH(lvp, mp, mvp) { - UFS_LOCK(ump); - if (ump->softdep_on_worklist > 0) { - UFS_UNLOCK(ump); - MNT_VNODE_FOREACH_ABORT_ILOCKED(mp, mvp); - MNT_IUNLOCK(mp); - UFS_LOCK(ump); - stat_cleanup_retries += 1; - goto retry; - } - UFS_UNLOCK(ump); VI_LOCK(lvp); - if (TAILQ_FIRST(&lvp->v_bufobj.bo_dirty.bv_hd) == 0 || - VOP_ISLOCKED(lvp) != 0) { + if (TAILQ_FIRST(&lvp->v_bufobj.bo_dirty.bv_hd) == 0) { VI_UNLOCK(lvp); continue; } MNT_IUNLOCK(mp); - if (vget(lvp, LK_EXCLUSIVE | LK_INTERLOCK, curthread)) { + if (vget(lvp, LK_EXCLUSIVE | LK_INTERLOCK | LK_NOWAIT, + curthread)) { MNT_ILOCK(mp); continue; } @@ -11394,8 +12218,17 @@ retry: MNT_ILOCK(mp); } MNT_IUNLOCK(mp); + lvp = ump->um_devvp; + if (vn_lock(lvp, LK_EXCLUSIVE | LK_NOWAIT) == 0) { + VOP_FSYNC(lvp, MNT_NOWAIT, curthread); + VOP_UNLOCK(lvp, 0); + } + UFS_LOCK(ump); + if (ump->softdep_on_worklist > 0) { + stat_cleanup_retries += 1; + goto retry; + } stat_cleanup_failures += 1; - UFS_LOCK(ump); } if (time_second - starttime > stat_cleanup_high_delay) stat_cleanup_high_delay = time_second - starttime; @@ -11664,6 +12497,7 @@ softdep_count_dependencies(bp, wantcount) { struct worklist *wk; struct bmsafemap *bmsafemap; + struct freework *freework; struct inodedep *inodedep; struct indirdep *indirdep; struct freeblks *freeblks; @@ -11711,6 +12545,13 @@ softdep_count_dependencies(bp, wantcount) case D_INDIRDEP: indirdep = WK_INDIRDEP(wk); + TAILQ_FOREACH(freework, &indirdep->ir_trunc, fw_next) { + /* indirect truncation dependency */ + retval += 1; + if (!wantcount) + goto out; + } + LIST_FOREACH(aip, &indirdep->ir_deplisthd, ai_next) { /* indirect block pointer dependency */ retval += 1; Index: /usr/src/sys/ufs/ffs/ffs_alloc.c =================================================================== --- /usr/src/sys/ufs/ffs/ffs_alloc.c (revision 221878) +++ /usr/src/sys/ufs/ffs/ffs_alloc.c (working copy) @@ -217,7 +217,7 @@ nospace: (void) chkdq(ip, -btodb(size), cred, FORCE); UFS_LOCK(ump); #endif - if (reclaimed == 0) { + if (reclaimed == 0 && (flags & IO_BUFLOCKED) == 0) { reclaimed = 1; softdep_request_cleanup(fs, ITOV(ip), cred, FLUSH_BLOCKS_WAIT); goto retry; @@ -418,15 +418,15 @@ nospace: /* * no space available */ - if (reclaimed == 0) { + if (reclaimed == 0 && (flags & IO_BUFLOCKED) == 0) { reclaimed = 1; - softdep_request_cleanup(fs, vp, cred, FLUSH_BLOCKS_WAIT); UFS_UNLOCK(ump); if (bp) { brelse(bp); bp = NULL; } UFS_LOCK(ump); + softdep_request_cleanup(fs, vp, cred, FLUSH_BLOCKS_WAIT); goto retry; } UFS_UNLOCK(ump); Index: /usr/src/sys/ufs/ffs/ffs_extern.h =================================================================== --- /usr/src/sys/ufs/ffs/ffs_extern.h (revision 221878) +++ /usr/src/sys/ufs/ffs/ffs_extern.h (working copy) @@ -107,7 +107,6 @@ extern struct vop_vector ffs_fifoops2; int softdep_check_suspend(struct mount *, struct vnode *, int, int, int, int); -int softdep_complete_trunc(struct vnode *, void *); void softdep_get_depcounts(struct mount *, int *, int *); void softdep_initialize(void); void softdep_uninitialize(void); @@ -139,7 +138,6 @@ void softdep_setup_blkfree(struct mount *, struct void softdep_setup_inofree(struct mount *, struct buf *, ino_t, struct workhead *); void softdep_setup_sbupdate(struct ufsmount *, struct fs *, struct buf *); -void *softdep_setup_trunc(struct vnode *vp, off_t length, int flags); void softdep_fsync_mountdev(struct vnode *); int softdep_sync_metadata(struct vnode *); int softdep_process_worklist(struct mount *, int); @@ -147,7 +145,9 @@ int softdep_fsync(struct vnode *); int softdep_waitidle(struct mount *); int softdep_prealloc(struct vnode *, int); int softdep_journal_lookup(struct mount *, struct vnode **); +void softdep_journal_freeblocks(struct inode *, struct ucred *, off_t, int); + /* * Things to request flushing in softdep_request_cleanup() */ Index: /usr/src/sys/ufs/ffs/softdep.h =================================================================== --- /usr/src/sys/ufs/ffs/softdep.h (revision 221878) +++ /usr/src/sys/ufs/ffs/softdep.h (working copy) @@ -127,7 +127,7 @@ #define DIRCHG 0x000080 /* diradd, dirrem only */ #define GOINGAWAY 0x000100 /* indirdep, jremref only */ #define IOSTARTED 0x000200 /* inodedep, pagedep, bmsafemap only */ -#define UNUSED400 0x000400 /* currently available. */ +#define DELAYEDFREE 0x000400 /* allocindirect free delayed. */ #define NEWBLOCK 0x000800 /* pagedep, jaddref only */ #define INPROGRESS 0x001000 /* dirrem, freeblks, freefrag, freefile only */ #define UFS1FMT 0x002000 /* indirdep only */ @@ -215,8 +215,10 @@ LIST_HEAD(jmvrefhd, jmvref); LIST_HEAD(jnewblkhd, jnewblk); LIST_HEAD(jfreeblkhd, jfreeblk); LIST_HEAD(freeworkhd, freework); +TAILQ_HEAD(freeworklst, freework); TAILQ_HEAD(jseglst, jseg); TAILQ_HEAD(inoreflst, inoref); +TAILQ_HEAD(freeblklst, freeblks); /* * The "pagedep" structure tracks the various dependencies related to @@ -321,6 +323,7 @@ struct inodedep { struct allocdirectlst id_newinoupdt; /* updates when inode written */ struct allocdirectlst id_extupdt; /* extdata updates pre-inode write */ struct allocdirectlst id_newextupdt; /* extdata updates at ino write */ + struct freeblklst id_freeblklst; /* List of partial truncates. */ union { struct ufs1_dinode *idu_savedino1; /* saved ufs1_dinode contents */ struct ufs2_dinode *idu_savedino2; /* saved ufs2_dinode contents */ @@ -342,8 +345,9 @@ struct inodedep { struct bmsafemap { struct worklist sm_list; /* cylgrp buffer */ # define sm_state sm_list.wk_state + LIST_ENTRY(bmsafemap) sm_hash; /* Hash links. */ + LIST_ENTRY(bmsafemap) sm_next; /* Mount list. */ int sm_cg; - LIST_ENTRY(bmsafemap) sm_hash; /* Hash links. */ struct buf *sm_buf; /* associated buffer */ struct allocdirecthd sm_allocdirecthd; /* allocdirect deps */ struct allocdirecthd sm_allocdirectwr; /* writing allocdirect deps */ @@ -355,6 +359,8 @@ struct bmsafemap { struct newblkhd sm_newblkwr; /* writing newblk deps */ struct jaddrefhd sm_jaddrefhd; /* Pending inode allocations. */ struct jnewblkhd sm_jnewblkhd; /* Pending block allocations. */ + struct workhead sm_freehd; /* Freedep deps. */ + struct workhead sm_freewr; /* Written freedeps. */ }; /* @@ -442,14 +448,15 @@ struct indirdep { struct worklist ir_list; /* buffer holding indirect block */ # define ir_state ir_list.wk_state /* indirect block pointer state */ LIST_ENTRY(indirdep) ir_next; /* alloc{direct,indir} list */ + TAILQ_HEAD(, freework) ir_trunc; /* List of truncations. */ caddr_t ir_saveddata; /* buffer cache contents */ struct buf *ir_savebp; /* buffer holding safe copy */ + struct buf *ir_bp; /* buffer holding live copy */ struct allocindirhd ir_completehd; /* waiting for indirdep complete */ struct allocindirhd ir_writehd; /* Waiting for the pointer write. */ struct allocindirhd ir_donehd; /* done waiting to update safecopy */ struct allocindirhd ir_deplisthd; /* allocindir deps for this block */ - struct jnewblkhd ir_jnewblkhd; /* Canceled block allocations. */ - struct workhead ir_jwork; /* Journal work pending. */ + struct freeblks *ir_freeblks; /* Freeblks that frees this indir. */ }; /* @@ -471,6 +478,7 @@ struct allocindir { LIST_ENTRY(allocindir) ai_next; /* indirdep's list of allocindir's */ struct indirdep *ai_indirdep; /* address of associated indirdep */ ufs2_daddr_t ai_oldblkno; /* old value of block pointer */ + ufs_lbn_t ai_lbn; /* Logical block number. */ int ai_offset; /* Pointer offset in parent. */ }; #define ai_newblkno ai_block.nb_newblkno @@ -516,13 +524,18 @@ struct freefrag { struct freeblks { struct worklist fb_list; /* id_inowait or delayed worklist */ # define fb_state fb_list.wk_state /* inode and dirty block state */ + TAILQ_ENTRY(freeblks) fb_next; /* List of inode truncates. */ struct jfreeblkhd fb_jfreeblkhd; /* Journal entries pending */ struct workhead fb_freeworkhd; /* Work items pending */ struct workhead fb_jwork; /* Journal work pending */ - ino_t fb_previousinum; /* inode of previous owner of blocks */ + struct jtrunc *fb_jtrunc; /* Journal truncation record. */ + struct vnode *fb_devvp; /* filesystem device vnode */ + uint64_t fb_modrev; /* Inode revision at start of trunc. */ + off_t fb_len; /* Length we're truncating to. */ + ufs2_daddr_t fb_chkcnt; /* Expected blks released. */ + ufs2_daddr_t fb_freecnt; /* Actual blocks released. */ + ino_t fb_inum; /* inode owner of blocks */ uid_t fb_uid; /* uid of previous owner of blocks */ - struct vnode *fb_devvp; /* filesystem device vnode */ - ufs2_daddr_t fb_chkcnt; /* used to check cnt of blks released */ int fb_ref; /* Children outstanding. */ }; @@ -538,16 +551,18 @@ struct freeblks { struct freework { struct worklist fw_list; /* Delayed worklist. */ # define fw_state fw_list.wk_state - LIST_ENTRY(freework) fw_next; /* For seg journal list. */ - struct jnewblk *fw_jnewblk; /* Journal entry to cancel. */ + LIST_ENTRY(freework) fw_segs; /* Seg list. */ + TAILQ_ENTRY(freework) fw_next; /* Hash/Trunc list. */ + struct jnewblk *fw_jnewblk; /* Journal entry to cancel. */ struct freeblks *fw_freeblks; /* Root of operation. */ struct freework *fw_parent; /* Parent indirect. */ + struct indirdep *fw_indir; /* indirect block. */ ufs2_daddr_t fw_blkno; /* Our block #. */ ufs_lbn_t fw_lbn; /* Original lbn before free. */ - int fw_frags; /* Number of frags. */ - int fw_ref; /* Number of children out. */ - int fw_off; /* Current working position. */ - struct workhead fw_jwork; /* Journal work pending. */ + uint16_t fw_frags; /* Number of frags. */ + uint16_t fw_ref; /* Number of children out. */ + uint16_t fw_off; /* Current working position. */ + uint16_t fw_start; /* Start of partial truncate. */ }; /* @@ -674,6 +689,7 @@ struct dirrem { LIST_ENTRY(dirrem) dm_inonext; /* inodedep's list of dirrem's */ struct jremrefhd dm_jremrefhd; /* Pending remove reference deps. */ ino_t dm_oldinum; /* inum of the removed dir entry */ + doff_t dm_offset; /* offset of removed dir entry in blk */ union { struct pagedep *dmu_pagedep; /* pagedep dependency for remove */ ino_t dmu_dirinum; /* parent inode number (for rmdir) */ @@ -707,7 +723,7 @@ struct dirrem { */ struct newdirblk { struct worklist db_list; /* id_inowait or pg_newdirblk */ -# define db_state db_list.wk_state /* unused */ +# define db_state db_list.wk_state struct pagedep *db_pagedep; /* associated pagedep */ struct workhead db_mkdir; }; @@ -807,7 +823,6 @@ struct jnewblk { # define jn_state jn_list.wk_state struct jsegdep *jn_jsegdep; /* Will track our journal record. */ LIST_ENTRY(jnewblk) jn_deps; /* Jnewblks on sm_jnewblkhd. */ - LIST_ENTRY(jnewblk) jn_indirdeps; /* Jnewblks on ir_jnewblkhd. */ struct worklist *jn_dep; /* Dependency to ref completed seg. */ ino_t jn_ino; /* Ino to which allocated. */ ufs_lbn_t jn_lbn; /* Lbn to which allocated. */ @@ -831,6 +846,7 @@ struct jfreeblk { ufs_lbn_t jf_lbn; /* Lbn from which blocks freed. */ ufs2_daddr_t jf_blkno; /* Blkno being freed. */ int jf_frags; /* Number of frags being freed. */ + int jf_off; /* Offset into indir. */ }; /* @@ -850,14 +866,12 @@ struct jfreefrag { }; /* - * A "jtrunc" journals the intent to truncate an inode to a non-zero - * value. This is done synchronously prior to the synchronous partial - * truncation process. The jsegdep is not released until the truncation - * is complete and the truncated inode is fsync'd. + * A "jtrunc" journals the intent to truncate an inode's data or extent area. */ struct jtrunc { struct worklist jt_list; /* Linked to softdep_journal_pending. */ struct jsegdep *jt_jsegdep; /* Will track our journal record. */ + struct freeblks *jt_freeblks; /* The parent freeblks operation. */ ino_t jt_ino; /* Ino being truncated. */ off_t jt_size; /* Final file size. */ int jt_extsize; /* Final extent size. */ Index: /usr/src/sys/ufs/ffs/ffs_balloc.c =================================================================== --- /usr/src/sys/ufs/ffs/ffs_balloc.c (revision 221878) +++ /usr/src/sys/ufs/ffs/ffs_balloc.c (working copy) @@ -105,6 +105,7 @@ ffs_balloc_ufs1(struct vnode *vp, off_t startoffse ufs2_daddr_t *lbns_remfree, lbns[NIADDR + 1]; int unwindidx = -1; int saved_inbdflush; + int reclaimed; ip = VTOI(vp); dp = ip->i_din1; @@ -112,6 +113,7 @@ ffs_balloc_ufs1(struct vnode *vp, off_t startoffse ump = ip->i_ump; lbn = lblkno(fs, startoffset); size = blkoff(fs, startoffset) + size; + reclaimed = 0; if (size > fs->fs_bsize) panic("ffs_balloc_ufs1: blk too big"); *bpp = NULL; @@ -276,6 +278,7 @@ ffs_balloc_ufs1(struct vnode *vp, off_t startoffse /* * Fetch through the indirect blocks, allocating as necessary. */ +retry: for (i = 1;;) { error = bread(vp, indirs[i].in_lbn, (int)fs->fs_bsize, NOCRED, &bp); @@ -296,8 +299,15 @@ ffs_balloc_ufs1(struct vnode *vp, off_t startoffse if (pref == 0) pref = ffs_blkpref_ufs1(ip, lbn, 0, (ufs1_daddr_t *)0); if ((error = ffs_alloc(ip, lbn, pref, (int)fs->fs_bsize, - flags, cred, &newb)) != 0) { + flags | IO_BUFLOCKED, cred, &newb)) != 0) { brelse(bp); + if (++reclaimed == 1) { + UFS_LOCK(ump); + softdep_request_cleanup(fs, vp, cred, + FLUSH_BLOCKS_WAIT); + UFS_UNLOCK(ump); + goto retry; + } goto fail; } nb = newb; @@ -349,10 +359,17 @@ ffs_balloc_ufs1(struct vnode *vp, off_t startoffse if (nb == 0) { UFS_LOCK(ump); pref = ffs_blkpref_ufs1(ip, lbn, indirs[i].in_off, &bap[0]); - error = ffs_alloc(ip, - lbn, pref, (int)fs->fs_bsize, flags, cred, &newb); + error = ffs_alloc(ip, lbn, pref, (int)fs->fs_bsize, + flags | IO_BUFLOCKED, cred, &newb); if (error) { brelse(bp); + if (++reclaimed == 1) { + UFS_LOCK(ump); + softdep_request_cleanup(fs, vp, cred, + FLUSH_BLOCKS_WAIT); + UFS_UNLOCK(ump); + goto retry; + } goto fail; } nb = newb; @@ -506,6 +523,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffse int deallocated, osize, nsize, num, i, error; int unwindidx = -1; int saved_inbdflush; + int reclaimed; ip = VTOI(vp); dp = ip->i_din2; @@ -513,6 +531,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffse ump = ip->i_ump; lbn = lblkno(fs, startoffset); size = blkoff(fs, startoffset) + size; + reclaimed = 0; if (size > fs->fs_bsize) panic("ffs_balloc_ufs2: blk too big"); *bpp = NULL; @@ -787,6 +806,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffse /* * Fetch through the indirect blocks, allocating as necessary. */ +retry: for (i = 1;;) { error = bread(vp, indirs[i].in_lbn, (int)fs->fs_bsize, NOCRED, &bp); @@ -807,8 +827,15 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffse if (pref == 0) pref = ffs_blkpref_ufs2(ip, lbn, 0, (ufs2_daddr_t *)0); if ((error = ffs_alloc(ip, lbn, pref, (int)fs->fs_bsize, - flags, cred, &newb)) != 0) { + flags | IO_BUFLOCKED, cred, &newb)) != 0) { brelse(bp); + if (++reclaimed == 1) { + UFS_LOCK(ump); + softdep_request_cleanup(fs, vp, cred, + FLUSH_BLOCKS_WAIT); + UFS_UNLOCK(ump); + goto retry; + } goto fail; } nb = newb; @@ -860,10 +887,17 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffse if (nb == 0) { UFS_LOCK(ump); pref = ffs_blkpref_ufs2(ip, lbn, indirs[i].in_off, &bap[0]); - error = ffs_alloc(ip, - lbn, pref, (int)fs->fs_bsize, flags, cred, &newb); + error = ffs_alloc(ip, lbn, pref, (int)fs->fs_bsize, + flags | IO_BUFLOCKED, cred, &newb); if (error) { brelse(bp); + if (++reclaimed == 1) { + UFS_LOCK(ump); + softdep_request_cleanup(fs, vp, cred, + FLUSH_BLOCKS_WAIT); + UFS_UNLOCK(ump); + goto retry; + } goto fail; } nb = newb; Index: /usr/src/sys/ufs/ffs/ffs_inode.c =================================================================== --- /usr/src/sys/ufs/ffs/ffs_inode.c (revision 221878) +++ /usr/src/sys/ufs/ffs/ffs_inode.c (working copy) @@ -151,12 +151,12 @@ ffs_truncate(vp, length, flags, cred, td) ufs2_daddr_t bn, lbn, lastblock, lastiblock[NIADDR], indir_lbn[NIADDR]; ufs2_daddr_t oldblks[NDADDR + NIADDR], newblks[NDADDR + NIADDR]; ufs2_daddr_t count, blocksreleased = 0, datablocks; - void *cookie; struct bufobj *bo; struct fs *fs; struct buf *bp; struct ufsmount *ump; - int needextclean, softdepslowdown, extblocks; + int softdeptrunc, journaltrunc; + int needextclean, extblocks; int offset, size, level, nblocks; int i, error, allerror; off_t osize; @@ -165,7 +165,6 @@ ffs_truncate(vp, length, flags, cred, td) fs = ip->i_fs; ump = ip->i_ump; bo = &vp->v_bufobj; - cookie = NULL; ASSERT_VOP_LOCKED(vp, "ffs_truncate"); @@ -191,7 +190,10 @@ ffs_truncate(vp, length, flags, cred, td) */ allerror = 0; needextclean = 0; - softdepslowdown = DOINGSOFTDEP(vp) && softdep_slowdown(vp); + softdeptrunc = 0; + journaltrunc = DOINGSUJ(vp); + if (journaltrunc == 0 && DOINGSOFTDEP(vp) && length == 0) + softdeptrunc = !softdep_slowdown(vp); extblocks = 0; datablocks = DIP(ip, i_blocks); if (fs->fs_magic == FS_UFS2_MAGIC && ip->i_din2->di_extsize > 0) { @@ -199,19 +201,24 @@ ffs_truncate(vp, length, flags, cred, td) datablocks -= extblocks; } if ((flags & IO_EXT) && extblocks > 0) { - if (DOINGSOFTDEP(vp) && softdepslowdown == 0 && length == 0) { + if (softdeptrunc) { if ((flags & IO_NORMAL) == 0) { softdep_setup_freeblocks(ip, length, IO_EXT); return (0); } needextclean = 1; + } else if (journaltrunc) { + if ((flags & IO_NORMAL) == 0) { + softdep_journal_freeblocks(ip, cred, length, + IO_EXT); + return (0); + } + needextclean = 1; } else { if (length != 0) panic("ffs_truncate: partial trunc of extdata"); if ((error = ffs_syncvnode(vp, MNT_WAIT)) != 0) return (error); - if (DOINGSUJ(vp)) - cookie = softdep_setup_trunc(vp, length, flags); osize = ip->i_din2->di_extsize; ip->i_din2->di_blocks -= extblocks; #ifdef QUOTA @@ -300,7 +307,7 @@ ffs_truncate(vp, length, flags, cred, td) goto out; } if (DOINGSOFTDEP(vp)) { - if (length > 0 || softdepslowdown) { + if (softdeptrunc == 0 && journaltrunc == 0) { /* * If a file is only partially truncated, then * we have to clean up the data structures @@ -312,27 +319,29 @@ ffs_truncate(vp, length, flags, cred, td) */ if ((error = ffs_syncvnode(vp, MNT_WAIT)) != 0) goto out; - /* - * We have to journal the truncation before we change - * any blocks so we don't leave the file partially - * truncated. - */ - if (DOINGSUJ(vp) && cookie == NULL) - cookie = softdep_setup_trunc(vp, length, flags); } else { #ifdef QUOTA - (void) chkdq(ip, -datablocks, NOCRED, 0); + /* XXX This is wrong for partial truncation. */ + if (length == 0) + (void) chkdq(ip, -datablocks, NOCRED, 0); #endif - softdep_setup_freeblocks(ip, length, needextclean ? - IO_EXT | IO_NORMAL : IO_NORMAL); + flags = IO_NORMAL | (needextclean ? IO_EXT: 0); + if (journaltrunc) + softdep_journal_freeblocks(ip, cred, length, + flags); + else + softdep_setup_freeblocks(ip, length, flags); ASSERT_VOP_LOCKED(vp, "ffs_truncate1"); - vinvalbuf(vp, needextclean ? 0 : V_NORMAL, 0, 0); + if (needextclean) + vinvalbuf(vp, V_ALT, 0, 0); + error = vtruncbuf(vp, cred, td, length, fs->fs_bsize); if (!needextclean) ffs_pages_remove(vp, 0, OFF_TO_IDX(lblktosize(fs, -extblocks))); - vnode_pager_setsize(vp, 0); - ip->i_flag |= IN_CHANGE | IN_UPDATE; - error = ffs_update(vp, 0); + if (journaltrunc == 0) { + ip->i_flag |= IN_CHANGE | IN_UPDATE; + error = ffs_update(vp, 0); + } goto out; } } @@ -411,13 +420,7 @@ ffs_truncate(vp, length, flags, cred, td) DIP_SET(ip, i_db[i], 0); } ip->i_flag |= IN_CHANGE | IN_UPDATE; - /* - * When doing softupdate journaling we must preserve the size along - * with the old pointers until they are freed or we might not - * know how many fragments remain. - */ - if (!DOINGSUJ(vp)) - allerror = ffs_update(vp, 1); + allerror = ffs_update(vp, 1); /* * Having written the new inode to disk, save its new configuration @@ -543,11 +546,6 @@ done: #endif error = allerror; out: - if (cookie) { - allerror = softdep_complete_trunc(vp, cookie); - if (allerror != 0 && error == 0) - error = allerror; - } return (error); } Index: /usr/src/sys/ufs/ffs/fs.h =================================================================== --- /usr/src/sys/ufs/ffs/fs.h (revision 221878) +++ /usr/src/sys/ufs/ffs/fs.h (working copy) @@ -715,7 +715,9 @@ struct jmvrec { /* * Block record. A set of frags or tree of blocks starting at an indirect are - * freed or a set of frags are allocated. + * freed or a set of frags are allocated. If indiroff is set, only a subset + * of the pointers in an indirect block are freed and the indirect itself + * is retained. */ struct jblkrec { uint32_t jb_op; @@ -724,7 +726,7 @@ struct jblkrec { ufs_lbn_t jb_lbn; uint16_t jb_frags; uint16_t jb_oldfrags; - uint32_t jb_unused; + uint32_t jb_indiroff; }; /* Index: /usr/src/sys/kern/vfs_bio.c =================================================================== --- /usr/src/sys/kern/vfs_bio.c (revision 221878) +++ /usr/src/sys/kern/vfs_bio.c (working copy) @@ -3999,10 +3999,11 @@ DB_SHOW_COMMAND(buffer, db_show_buffer) db_printf("b_flags = 0x%b\n", (u_int)bp->b_flags, PRINT_BUF_FLAGS); db_printf( "b_error = %d, b_bufsize = %ld, b_bcount = %ld, b_resid = %ld\n" - "b_bufobj = (%p), b_data = %p, b_blkno = %jd, b_dep = %p\n", + "b_bufobj = (%p), b_data = %p, b_blkno = %jd, b_lblkno = %jd, " + "b_dep = %p\n", bp->b_error, bp->b_bufsize, bp->b_bcount, bp->b_resid, bp->b_bufobj, bp->b_data, (intmax_t)bp->b_blkno, - bp->b_dep.lh_first); + (intmax_t)bp->b_lblkno, bp->b_dep.lh_first); if (bp->b_npages) { int i; db_printf("b_npages = %d, pages(OBJ, IDX, PA): ", bp->b_npages); Index: /usr/src/sys/kern/vfs_subr.c =================================================================== --- /usr/src/sys/kern/vfs_subr.c (revision 221878) +++ /usr/src/sys/kern/vfs_subr.c (working copy) @@ -1376,7 +1376,7 @@ restart: } } - if (length > 0) { + if (length > 0 && (vp->v_mount->mnt_kern_flag & MNTK_SUJ) == 0) { restartsync: TAILQ_FOREACH_SAFE(bp, &bo->bo_dirty.bv_hd, b_bobufs, nbp) { if (bp->b_lblkno > 0) Index: /usr/src/sys/sys/vnode.h =================================================================== --- /usr/src/sys/sys/vnode.h (revision 221878) +++ /usr/src/sys/sys/vnode.h (working copy) @@ -302,6 +302,7 @@ struct vattr { #define IO_EXT 0x0400 /* operate on external attributes */ #define IO_NORMAL 0x0800 /* operate on regular data */ #define IO_NOMACCHECK 0x1000 /* MAC checks unnecessary */ +#define IO_BUFLOCKED 0x2000 /* ffs flag; indir buf is locked */ #define IO_SEQMAX 0x7F /* seq heuristic max value */ #define IO_SEQSHIFT 16 /* seq heuristic in upper 16 bits */ -- Test scenario: suj9.sh