GENERIC HEAD from 2011-05-14 05:43:33 UTC, r221878M, vmcore.139 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: Mon May 16 06:14:00 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]... 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: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ad4s1a: clean, 211844 free (1468 frags, 26297 blocks, 0.1% fragmentation) /dev/ad4s1f: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ad4s1f: clean, 191309 free (4205 frags, 23388 blocks, 0.4% fragmentation) /dev/label/tmp: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/label/tmp: clean, 91337304 free (3128 frags, 11416772 blocks, 0.0% fragmentation) /dev/ad4s1d: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ad4s1d: clean, 2497713 free (225841 frags, 283984 blocks, 2.2% fragmentation) /dev/ad4s1e: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ad4s1e: clean, 11349942 free (56606 frags, 1411667 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. No core dumps found. 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 lock order reversal: 1st 0xe071ce40 bufwait (bufwait) @ kern/vfs_bio.c:2658 2nd 0xc7419800 dirhash (dirhash) @ ufs/ufs/ufs_dirhash.c:284 KDB: stack backtrace: db_trace_self_wrapper(c0e89936,2e687361,38323a63,a0d34,c0998883,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c09e0e4b,c0e8d253,c6d5e2a0,c6d61ec0,ef25289c,...) at kdb_backtrace+0x2a _witness_debugger(c0e8d253,c7419800,c0ebc0ba,c6d61ec0,c0ebbd4c,...) at _witness_debugger+0x25 witness_checkorder(c7419800,9,c0ebbd43,11c,0,...) at witness_checkorder+0x839 _sx_xlock(c7419800,0,c0ebbd43,11c,e13bda88,...) at _sx_xlock+0x85 ufsdirhash_acquire(c776f984,e13bda88,ef252964,c0be7f24,c747c7b4,...) at ufsdirhash_acquire+0x48 ufsdirhash_move(c747c7b4,e13bda88,1a88,1a78,ef252954,...) at ufsdirhash_move+0xf ufs_direnter(c776f984,c79b8570,ef2529ec,ef252bd0,e071d460,...) at ufs_direnter+0x614 ufs_mkdir(ef252bf8,c0ed9cf5,0,0,ef252b3c,...) at ufs_mkdir+0x916 VOP_MKDIR_APV(c0fbb340,ef252bf8,ef252bd0,ef252b3c,0,...) at VOP_MKDIR_APV+0xc5 kern_mkdirat(c780f2e0,ffffff9c,28404020,0,1c0,...) at kern_mkdirat+0x225 kern_mkdir(c780f2e0,28404020,0,1c0,ef252c7c,...) at kern_mkdir+0x2e mkdir(c780f2e0,ef252cec,ef252d28,c0e8ba9e,0,...) at mkdir+0x29 syscallenter(c780f2e0,ef252ce4,ef252ce4,0,0,...) at syscallenter+0x263 syscall(ef252d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (136, FreeBSD ELF32, mkdir), eip = 0x28172643, esp = 0xbfbfe8cc, ebp = 0xbfbfed78 --- Clearing /tmp (X related). Starting mountd. Starting nfsd. Recovering vi editor sessions:lock order reversal: 1st 0xc7a17df0 ufs (ufs) @ kern/vfs_lookup.c:501 2nd 0xe07249c0 bufwait (bufwait) @ ufs/ffs/ffs_softdep.c:12662 3rd 0xc7a1746c ufs (ufs) @ kern/vfs_subr.c:2134 KDB: stack backtrace: db_trace_self_wrapper(c0e89936,2e706564,32313a63,d323636,a,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c09e0e4b,c0e8d26c,c6d5e2a0,c6d61e58,ef20432c,...) at kdb_backtrace+0x2a _witness_debugger(c0e8d26c,c7a1746c,c0e7c750,c6d61e58,c0e94e7b,...) at _witness_debugger+0x25 witness_checkorder(c7a1746c,9,c0e94e72,856,0,...) at witness_checkorder+0x839 __lockmgr_args(c7a1746c,80100,c7a174d8,0,0,...) at __lockmgr_args+0x814 ffs_lock(ef204450,c09f23db,c0e941d7,80100,c7a17414,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb340,ef204450,c7172670,c0fd6300,c7a17414,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7a17414,80100,c0e94e72,856,4,...) at _vn_lock+0x78 vget(c7a17414,80100,c71725c0,50,0,...) at vget+0xbb vfs_hash_get(c73fa2d4,15ef44,80000,c71725c0,ef2045a8,...) at vfs_hash_get+0xed ffs_vgetf(c73fa2d4,15ef44,80000,ef2045a8,1,...) at ffs_vgetf+0x49 softdep_sync_metadata(c7a17d98,0,c0ebb839,144,0,...) at softdep_sync_metadata+0x10e2 ffs_syncvnode(c7a17d98,1,c7a17e90,c6d5e2a0,c115b6f0,...) at ffs_syncvnode+0x3e2 ffs_truncate(c7a17d98,200,0,880,c715b500,...) at ffs_truncate+0x8bb ufs_direnter(c7a17d98,c7a17414,ef204914,ef204ba4,0,...) at ufs_direnter+0x924 ufs_makeinode(ef204ba4,c0fbb840,ef204b00,ef204a5c,c0cf5c55,...) at ufs_makeinode+0x5c5 ufs_create(ef204b00,c0ed9ebb,0,0,ef204b78,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb340,ef204b00,ef204ba4,ef204a98,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef204b78,ef204c2c,1b0,0,c715b500,...) at vn_open_cred+0x205 vn_open(ef204b78,ef204c2c,1b0,c7430818,0,...) at vn_open+0x3b kern_openat(c71725c0,ffffff9c,28839f60,0,a03,...) at kern_openat+0x12f kern_open(c71725c0,28839f60,0,a02,1b0,...) at kern_open+0x35 open(c71725c0,ef204cec,ef204d28,c0e8ba9e,0,...) at open+0x30 syscallenter(c71725c0,ef204ce4,ef204ce4,0,0,...) at syscallenter+0x263 syscall(ef204d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x283d1683, esp = 0xbfbfc4fc, ebp = 0xbfbfc588 --- . Updating motd:. Starting ntpd. Starting default moused. Configuring syscons: keymap blanktime. Starting sshd. Starting cron. Local package initialization: backuplock order reversal: 1st 0xc74965c8 ufs (ufs) @ kern/vfs_mount.c:1193 2nd 0xc7496058 devfs (devfs) @ ufs/ffs/ffs_softdep.c:1729 KDB: stack backtrace: db_trace_self_wrapper(c0e89936,37313a63,a0d3932,ef258900,c09f23db,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c09e0e4b,c0e8d253,c6d61e58,c6d61d88,ef258a04,...) at kdb_backtrace+0x2a _witness_debugger(c0e8d253,c7496058,c0e74907,c6d61d88,c0eb8505,...) at _witness_debugger+0x25 witness_checkorder(c7496058,9,c0eb84fc,6c1,c74960c4,...) at witness_checkorder+0x839 __lockmgr_args(c7496058,80400,c74960c4,0,0,...) at __lockmgr_args+0x814 vop_stdlock(ef258b24,4,c0e83fe7,80400,c7496000,...) at vop_stdlock+0x65 VOP_LOCK1_APV(c0f910e0,ef258b24,c118ef28,c0fd6300,c7496000,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7496000,80400,c0eb84fc,6c1,c73fa87c,...) at _vn_lock+0x78 softdep_flushworklist(c73fa87c,ef258bd0,c74a7b80,574,0,...) at softdep_flushworklist+0x47 ffs_sync(c73fa87c,1,ef258c14,4ee,0,...) at ffs_sync+0x2fd dounmount(c73fa87c,8080000,c74a7b80,473,5b85c5ea,...) at dounmount+0x447 unmount(c74a7b80,ef258cec,281766e5,1,0,...) at unmount+0x310 syscallenter(c74a7b80,ef258ce4,c0cd2d3d,c1010f70,0,...) at syscallenter+0x263 syscall(ef258d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (22, FreeBSD ELF32, unmount), eip = 0x280dcd6b, esp = 0xbfbfe64c, ebp = 0xbfbfe718 --- fsck -y /tmp watchdogd. Starting inetd. Mon May 16 10:33:11 CEST 2011 FreeBSD/i386 (x4.osted.lan) (console) login: May 16 10:35:15 x4 su: pho to root on /dev/pts/1 panic: softdep_deallocate_dependencies: dangling deps cpuid = 2 KDB: enter: panic [ thread pid 2363 tid 100121 ] Stopped at kdb_enter+0x3a: movl $0,kdb_why db> run pho db:0:pho> bt Tracing pid 2363 tid 100121 td 0xc780f5c0 kdb_enter(c0e85a33,c0e85a33,c0eb8afc,ef24f7b0,2,...) at kdb_enter+0x3a panic(c0eb8afc,ef24f7fc,c0a27a40,e0750c40,ef24f7e4,...) at panic+0x134 softdep_deallocate_dependencies(e0750c40,ef24f7e4,c0a256b5,c6d756a0,0,...) at softdep_deallocate_dependencies+0x1b brelse(e0750c40,e0750c40,df,e0750c40,c7d25668,...) at brelse+0xb0 bufwrite(e0750c40,0,c0e924cb,a7a,60,...) at bufwrite+0x16f getblk(c7d25570,0,0,800,0,...) at getblk+0x29c breadn(c7d25570,0,0,800,0,...) at breadn+0x44 bread(c7d25570,0,0,800,0,...) at bread+0x4c ffs_blkatoff(c7d25570,0,0,0,ef24f990,...) at ffs_blkatoff+0xd1 ufs_lookup_ino(c7d25570,ef24fbb8,ef24fbcc,0,ef24f9d4,...) at ufs_lookup_ino+0x38e ufs_lookup(ef24f9f4,c0ed99b7,c7d25570,c7d25570,ef24fbcc,...) at ufs_lookup+0x2a VOP_CACHEDLOOKUP_APV(c0fbb340,ef24f9f4,ef24fbcc,ef24fbb8,c7dc5d00,...) at VOP_CACHEDLOOKUP_APV+0xc5 vfs_cache_lookup(ef24fa88,c0e95be3,ef24fba0,200000,ef24fba0,...) at vfs_cache_lookup+0xd6 VOP_LOOKUP_APV(c0fbb340,ef24fa88,c0e942bd,2a6,ef24fbb8,...) at VOP_LOOKUP_APV+0xe5 lookup(ef24fba0,c0e942bd,ee,c9,ffffff9c,...) at lookup+0x67b namei(ef24fba0,c74bf000,400,0,c74bf000,...) at namei+0x592 kern_symlinkat(c780f5c0,804b243,ffffff9c,bfbfe6a8,0,...) at kern_symlinkat+0xc5 kern_symlink(c780f5c0,804b243,bfbfe6a8,0,ef24fc7c,...) at kern_symlink+0x2e symlink(c780f5c0,ef24fcec,ef24fd28,c0e8ba9e,0,...) at symlink+0x29 syscallenter(c780f5c0,ef24fce4,ef24fce4,0,c101fb80,...) at syscallenter+0x263 syscall(ef24fd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (57, FreeBSD ELF32, symlink), eip = 0x280eebeb, esp = 0xbfbfe67c, ebp = 0xbfbfe738 --- db:0:bt> show allpcpu Current CPU: 2 cpuid = 0 dynamic pcpu = 0x44e600 curthread = 0xc7045b80: pid 18 "softdepflush" curpcb = 0xecf96d80 fpcurthread = none idlethread = 0xc6dbf000: tid 100006 "idle: cpu0" APIC ID = 0 currentldt = 0x50 spin locks held: cpuid = 1 dynamic pcpu = 0x5b43600 curthread = 0xc7170000: pid 17 "syncer" curpcb = 0xecf93d80 fpcurthread = none idlethread = 0xc6dbf2e0: tid 100005 "idle: cpu1" APIC ID = 1 currentldt = 0x50 spin locks held: cpuid = 2 dynamic pcpu = 0x5b46600 curthread = 0xc780f5c0: pid 2363 "symlink" curpcb = 0xef24fd80 fpcurthread = none idlethread = 0xc6dbf5c0: tid 100004 "idle: cpu2" APIC ID = 2 currentldt = 0x50 spin locks held: cpuid = 3 dynamic pcpu = 0x5b49600 curthread = 0xc6dbf8a0: pid 11 "idle: cpu3" curpcb = 0xc6b2ad80 fpcurthread = none idlethread = 0xc6dbf8a0: tid 100003 "idle: cpu3" APIC ID = 3 currentldt = 0x50 spin locks held: db:0:allpcpu> show alllocks Process 2393 (mkdir) thread 0xc7ef2b80 (100218) exclusive lockmgr ufs (ufs) r = 0 (0xc8c651b4) locked @ ufs/ffs/ffs_vfsops.c:1521 exclusive lockmgr ufs (ufs) r = 0 (0xc7d7c310) locked @ kern/vfs_lookup.c:501 Process 2389 (creat) thread 0xc7ef45c0 (100215) exclusive lockmgr ufs (ufs) r = 0 (0xc8e8d058) locked @ ufs/ffs/ffs_vfsops.c:1521 exclusive lockmgr ufs (ufs) r = 0 (0xc7dfa1b4) locked @ kern/vfs_lookup.c:501 Process 2388 (creat) thread 0xc7ef48a0 (100214) exclusive lockmgr ufs (ufs) r = 0 (0xc8df0310) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 0 (0xc7df9df0) locked @ kern/vfs_lookup.c:501 Process 2387 (creat) thread 0xc7ef4b80 (100213) exclusive lockmgr ufs (ufs) r = 0 (0xc79b5880) locked @ kern/vfs_lookup.c:501 Process 2385 (creat) thread 0xc7f29000 (100211) exclusive lockmgr ufs (ufs) r = 0 (0xc8c35724) locked @ ufs/ffs/ffs_vfsops.c:1521 exclusive lockmgr ufs (ufs) r = 0 (0xc7f43724) locked @ kern/vfs_lookup.c:501 Process 2384 (lockf2) thread 0xc7d0a8a0 (100161) exclusive sx ls_lock (ls_lock) r = 0 (0xc84df808) locked @ kern/kern_lockf.c:641 Process 2383 (lockf2) thread 0xc7d0a000 (100164) exclusive sx ls_lock (ls_lock) r = 0 (0xc8977948) locked @ kern/kern_lockf.c:641 Process 2382 (lockf2) thread 0xc744e5c0 (100080) exclusive sx ls_lock (ls_lock) r = 0 (0xc8063748) locked @ kern/kern_lockf.c:641 Process 2381 (creat) thread 0xc74a1000 (100210) exclusive lockmgr ufs (ufs) r = 0 (0xc8db246c) locked @ ufs/ffs/ffs_vfsops.c:1521 exclusive lockmgr ufs (ufs) r = 0 (0xc7d3bc94) locked @ kern/vfs_lookup.c:501 Process 2380 (creat) thread 0xc74a12e0 (100209) exclusive lockmgr ufs (ufs) r = 0 (0xc7e0cc94) locked @ kern/vfs_lookup.c:501 Process 2378 (creat) thread 0xc74a15c0 (100208) exclusive lockmgr ufs (ufs) r = 0 (0xc8b285c8) locked @ kern/vfs_subr.c:2134 Process 2377 (creat) thread 0xc74a18a0 (100207) exclusive lockmgr ufs (ufs) r = 0 (0xc8e62058) locked @ ufs/ffs/ffs_vfsops.c:1521 exclusive lockmgr ufs (ufs) r = 0 (0xc7aa8df0) locked @ kern/vfs_lookup.c:501 Process 2376 (creat) thread 0xc74a1b80 (100206) exclusive lockmgr ufs (ufs) r = 0 (0xc8e611b4) locked @ kern/vfs_subr.c:2134 Process 2375 (creat) thread 0xc74a5000 (100205) exclusive lockmgr ufs (ufs) r = 0 (0xc8137058) locked @ kern/vfs_subr.c:2134 Process 2374 (creat) thread 0xc7e672e0 (100181) exclusive lockmgr ufs (ufs) r = 0 (0xc8beb058) locked @ kern/vfs_subr.c:2134 Process 2373 (creat) thread 0xc7e675c0 (100180) exclusive lockmgr ufs (ufs) r = 0 (0xc817146c) locked @ ufs/ffs/ffs_vfsops.c:1521 exclusive lockmgr ufs (ufs) r = 0 (0xc7d3a1b4) locked @ kern/vfs_lookup.c:501 Process 2372 (creat) thread 0xc7e678a0 (100179) exclusive lockmgr bufwait (bufwait) r = 0 (0xe0751660) locked @ kern/vfs_bio.c:2658 exclusive lockmgr ufs (ufs) r = 1 (0xc8e6c1b4) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 0 (0xc7d3b5c8) locked @ kern/vfs_lookup.c:501 Process 2371 (creat) thread 0xc7866000 (100169) exclusive lockmgr ufs (ufs) r = 0 (0xc8133c94) locked @ kern/vfs_subr.c:2134 Process 2370 (creat) thread 0xc78652e0 (100173) exclusive lockmgr ufs (ufs) r = 0 (0xc8fd65c8) locked @ ufs/ffs/ffs_vfsops.c:1521 exclusive lockmgr ufs (ufs) r = 0 (0xc7d25b38) locked @ kern/vfs_lookup.c:501 Process 2369 (creat) thread 0xc78655c0 (100172) exclusive lockmgr ufs (ufs) r = 0 (0xc8f83058) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 0 (0xc7d2546c) locked @ kern/vfs_lookup.c:501 Process 2368 (creat) thread 0xc78658a0 (100171) exclusive lockmgr ufs (ufs) r = 0 (0xc7a209dc) locked @ kern/vfs_lookup.c:501 Process 2367 (creat) thread 0xc780fb80 (100119) exclusive lockmgr ufs (ufs) r = 0 (0xc7d74b38) locked @ kern/vfs_lookup.c:501 Process 2365 (symlink) thread 0xc74a58a0 (100146) exclusive lockmgr bufwait (bufwait) r = 0 (0xe082b0c0) locked @ kern/vfs_bio.c:2658 exclusive lockmgr ufs (ufs) r = 0 (0xc8d26880) locked @ kern/vfs_subr.c:2134 Process 2364 (symlink) thread 0xc744d5c0 (100095) exclusive lockmgr bufwait (bufwait) r = 0 (0xe0899c00) locked @ kern/vfs_bio.c:1911 exclusive lockmgr bufwait (bufwait) r = 0 (0xe076c9e0) locked @ kern/vfs_bio.c:2658 exclusive lockmgr ufs (ufs) r = 0 (0xc8735c94) locked @ kern/vfs_subr.c:2134 Process 2363 (symlink) thread 0xc780f5c0 (100121) exclusive lockmgr bufwait (bufwait) r = 0 (0xe0750ca0) locked @ kern/vfs_bio.c:2658 exclusive lockmgr ufs (ufs) r = 0 (0xc7d255c8) locked @ kern/vfs_lookup.c:501 Process 2361 (symlink) thread 0xc7ef58a0 (100202) exclusive lockmgr bufwait (bufwait) r = 0 (0xe08267a0) locked @ kern/vfs_bio.c:2658 exclusive lockmgr ufs (ufs) r = 0 (0xc8ba3df0) locked @ kern/vfs_subr.c:2134 Process 2360 (symlink) thread 0xc7ef5b80 (100201) exclusive lockmgr ufs (ufs) r = 0 (0xc816f058) locked @ kern/vfs_subr.c:2134 Process 2359 (symlink) thread 0xc7e688a0 (100200) exclusive lockmgr bufwait (bufwait) r = 0 (0xe076d3a0) locked @ kern/vfs_bio.c:1911 exclusive lockmgr bufwait (bufwait) r = 0 (0xe0830a20) locked @ kern/vfs_bio.c:2658 exclusive lockmgr ufs (ufs) r = 0 (0xc8e181b4) locked @ kern/vfs_subr.c:2134 Process 2357 (openat) thread 0xc7e68b80 (100199) exclusive lockmgr ufs (ufs) r = 0 (0xc89d946c) locked @ ufs/ffs/ffs_vfsops.c:1521 exclusive lockmgr ufs (ufs) r = 0 (0xc7df9b38) locked @ kern/vfs_lookup.c:501 Process 2346 (rename) thread 0xc7e68000 (100177) exclusive lockmgr ufs (ufs) r = 0 (0xc8bd49dc) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xc7eb0724) locked @ ufs/ufs/ufs_vnops.c:1175 Process 2345 (rename) thread 0xc78212e0 (100136) exclusive lockmgr ufs (ufs) r = 0 (0xc849b880) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xc7dfa724) locked @ ufs/ufs/ufs_vnops.c:1175 Process 2344 (rename) thread 0xc7ead8a0 (100190) exclusive lockmgr ufs (ufs) r = 0 (0xc89db058) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xc7d74df0) locked @ ufs/ufs/ufs_vnops.c:1175 Process 2343 (rename) thread 0xc7eadb80 (100189) exclusive lockmgr ufs (ufs) r = 0 (0xc7f40df0) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xc7eb0880) locked @ ufs/ufs/ufs_vnops.c:1175 Process 2342 (rename) thread 0xc7eae000 (100188) exclusive lockmgr ufs (ufs) r = 0 (0xc823a1b4) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xc7dfa880) locked @ ufs/ufs/ufs_vnops.c:1175 Process 2341 (rename) thread 0xc7eae2e0 (100187) exclusive lockmgr ufs (ufs) r = 0 (0xc8a03c94) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xc7d3a46c) locked @ ufs/ufs/ufs_vnops.c:1175 Process 2340 (rename) thread 0xc7eae5c0 (100186) exclusive lockmgr ufs (ufs) r = 0 (0xc85f2058) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xc7f43310) locked @ ufs/ufs/ufs_vnops.c:1175 Process 2339 (rename) thread 0xc7eae8a0 (100185) exclusive lockmgr ufs (ufs) r = 0 (0xc81e9724) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xc79b61b4) locked @ ufs/ufs/ufs_vnops.c:1175 Process 2338 (rename) thread 0xc786a2e0 (100184) exclusive lockmgr ufs (ufs) r = 0 (0xc7f3e724) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 0 (0xc845746c) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xc7eb09dc) locked @ ufs/ufs/ufs_vnops.c:1175 Process 2246 (sshd) thread 0xc78215c0 (100135) exclusive sx so_rcv_sx (so_rcv_sx) r = 0 (0xc78373cc) locked @ kern/uipc_sockbuf.c:148 Process 2219 (sshd) thread 0xc74262e0 (100083) exclusive sx so_rcv_sx (so_rcv_sx) r = 0 (0xc7c25bec) locked @ kern/uipc_sockbuf.c:148 Process 2218 (sshd) thread 0xc744d000 (100097) exclusive sx so_rcv_sx (so_rcv_sx) r = 0 (0xc7a02a4c) locked @ kern/uipc_sockbuf.c:148 Process 2217 (sshd) thread 0xc7d0b8a0 (100156) exclusive sx so_rcv_sx (so_rcv_sx) r = 0 (0xc7c2d8ac) locked @ kern/uipc_sockbuf.c:148 Process 18 (softdepflush) thread 0xc7045b80 (100075) exclusive sleep mutex Softdep Lock (Softdep Lock) r = 0 (0xc118ef28) locked @ ufs/ffs/ffs_softdep.c:6981 Process 17 (syncer) thread 0xc7170000 (100074) exclusive sleep mutex struct mount mtx (struct mount mtx) r = 0 (0xc73fa5a8) locked @ kern/vfs_mount.c:1685 exclusive lockmgr syncer (syncer) r = 0 (0xc776f5c8) locked @ kern/vfs_subr.c:1734 db:0:alllocks> show lockedvnods Locked vnodes 0xc776f570: tag syncer, type VNON usecount 1, writecount 0, refcount 1 mountedhere 0 flags () lock type syncer: EXCL by thread 0xc7170000 (pid 17) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0a300c5 at vop_stdlock+0x65 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a42892 at sync_vnode+0x142 #5 0xc0a42c12 at sched_sync+0x282 #6 0xc097bbc8 at fork_exit+0xb8 #7 0xc0cbb9b4 at fork_trampoline+0x8 0xc7d7c2b8: tag ufs, type VDIR usecount 43, writecount 0, refcount 48 mountedhere 0 flags () v_object 0xc7e9f990 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7ef2b80 (pid 2393) with exclusive waiters pending with shared waiters pending #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a34f06 at lookup+0x106 #5 0xc0a362e2 at namei+0x592 #6 0xc0a46a61 at kern_mkdirat+0x71 #7 0xc0a46cde at kern_mkdir+0x2e #8 0xc0a46d09 at mkdir+0x29 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24df at syscall+0x4f #11 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8192, on dev md5a 0xc7eb0984: tag ufs, type VDIR usecount 5, writecount 0, refcount 7 mountedhere 0 flags () v_object 0xc835c4c8 ref 0 pages 0 lock type ufs: EXCL by thread 0xc786a2e0 (pid 2338) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0bf0753 at ufs_rename+0x183 #5 0xc0cf5275 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 0xc0cd24df at syscall+0x4f #11 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8193, on dev md5a 0xc7d3a414: tag ufs, type VDIR usecount 5, writecount 0, refcount 7 mountedhere 0 flags () v_object 0xc7fe2660 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7eae2e0 (pid 2341) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0bf0753 at ufs_rename+0x183 #5 0xc0cf5275 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 0xc0cd24df at syscall+0x4f #11 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8194, on dev md5a 0xc7dfa828: tag ufs, type VDIR usecount 5, writecount 0, refcount 7 mountedhere 0 flags () v_object 0xc842c088 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7eae000 (pid 2342) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0bf0753 at ufs_rename+0x183 #5 0xc0cf5275 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 0xc0cd24df at syscall+0x4f #11 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8195, on dev md5a 0xc7eb0828: tag ufs, type VDIR usecount 5, writecount 0, refcount 7 mountedhere 0 flags () v_object 0xc7f45770 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7eadb80 (pid 2343) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0bf0753 at ufs_rename+0x183 #5 0xc0cf5275 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 0xc0cd24df at syscall+0x4f #11 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8196, on dev md5a 0xc7d74d98: tag ufs, type VDIR usecount 5, writecount 0, refcount 7 mountedhere 0 flags () v_object 0xc82adbb0 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7ead8a0 (pid 2344) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0bf0753 at ufs_rename+0x183 #5 0xc0cf5275 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 0xc0cd24df at syscall+0x4f #11 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8197, on dev md5a 0xc7dfa6cc: tag ufs, type VDIR usecount 5, writecount 0, refcount 7 mountedhere 0 flags () v_object 0xc84b9990 ref 0 pages 0 lock type ufs: EXCL by thread 0xc78212e0 (pid 2345) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0bf0753 at ufs_rename+0x183 #5 0xc0cf5275 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 0xc0cd24df at syscall+0x4f #11 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8198, on dev md5a 0xc7eb06cc: tag ufs, type VDIR usecount 5, writecount 0, refcount 7 mountedhere 0 flags () v_object 0xc85c06e8 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7e68000 (pid 2346) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0bf0753 at ufs_rename+0x183 #5 0xc0cf5275 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 0xc0cd24df at syscall+0x4f #11 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8199, on dev md5a 0xc7d25570: tag ufs, type VDIR usecount 3, writecount 0, refcount 4 mountedhere 0 flags () v_object 0xc8121198 ref 0 pages 0 lock type ufs: EXCL by thread 0xc780f5c0 (pid 2363) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a34f06 at lookup+0x106 #5 0xc0a362e2 at namei+0x592 #6 0xc0a47df5 at kern_symlinkat+0xc5 #7 0xc0a4807e at kern_symlink+0x2e #8 0xc0a480a9 at symlink+0x29 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24df at syscall+0x4f #11 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8206, on dev md5a 0xc7d74ae0: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc85e04c8 ref 0 pages 0 lock type ufs: EXCL by thread 0xc780fb80 (pid 2367) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 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 0xc0cd24df at syscall+0x4f #13 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8208, on dev md5a 0xc7d25414: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc7f47550 ref 0 pages 0 lock type ufs: EXCL by thread 0xc78655c0 (pid 2369) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 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 0xc0cd24df at syscall+0x4f #11 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8209, on dev md5a 0xc7d25ae0: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc83b6990 ref 0 pages 0 lock type ufs: EXCL by thread 0xc78652e0 (pid 2370) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 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 0xc0cd24df at syscall+0x4f #13 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8211, on dev md5a 0xc7d3b570: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc8320908 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7e678a0 (pid 2372) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 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 0xc0cd24df at syscall+0x4f #11 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8212, on dev md5a 0xc7d3a15c: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc8039cc0 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7e675c0 (pid 2373) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 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 0xc0cd24df at syscall+0x4f #13 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8213, on dev md5a 0xc7aa8d98: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc8800198 ref 0 pages 0 lock type ufs: EXCL by thread 0xc74a18a0 (pid 2377) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 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 0xc0cd24df at syscall+0x4f #13 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8217, on dev md5a 0xc7e0cc3c: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc7fe3c38 ref 0 pages 0 lock type ufs: EXCL by thread 0xc74a12e0 (pid 2380) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 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 0xc0cd24df at syscall+0x4f #13 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8219, on dev md5a 0xc7d3bc3c: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc8121990 ref 0 pages 0 lock type ufs: EXCL by thread 0xc74a1000 (pid 2381) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 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 0xc0cd24df at syscall+0x4f #13 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8220, on dev md5a 0xc7f436cc: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc83322a8 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7f29000 (pid 2385) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 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 0xc0cd24df at syscall+0x4f #13 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 12288, on dev md5a 0xc7dfa15c: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc8685908 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7ef45c0 (pid 2389) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 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 0xc0cd24df at syscall+0x4f #13 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 12290, on dev md5a 0xc79b5828: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc7fd0aa0 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7ef4b80 (pid 2387) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 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 0xc0cd24df at syscall+0x4f #13 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8225, on dev md5a 0xc7df9d98: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc88002a8 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7ef48a0 (pid 2388) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 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 0xc0cd24df at syscall+0x4f #11 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8226, on dev md5a 0xc7f432b8: tag ufs, type VDIR usecount 5, writecount 0, refcount 7 mountedhere 0 flags () v_object 0xc84ee088 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7eae5c0 (pid 2340) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0bf0753 at ufs_rename+0x183 #5 0xc0cf5275 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 0xc0cd24df at syscall+0x4f #11 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 12292, on dev md5a 0xc79b615c: tag ufs, type VDIR usecount 5, writecount 0, refcount 7 mountedhere 0 flags () v_object 0xc82ac990 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7eae8a0 (pid 2339) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0bf0753 at ufs_rename+0x183 #5 0xc0cf5275 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 0xc0cd24df at syscall+0x4f #11 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 12293, on dev md5a 0xc7df9ae0: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc7f4d770 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7e68b80 (pid 2357) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 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 0xc0a4ee48 at openat+0x38 #10 0xc09eada3 at syscallenter+0x263 #11 0xc0cd24df at syscall+0x4f #12 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 12294, on dev md5a 0xc7a20984: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc83b7440 ref 0 pages 0 lock type ufs: EXCL by thread 0xc78658a0 (pid 2368) #0 0xc09903f5 at __lockmgr_args+0x5a5 #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 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 0xc0cd24df at syscall+0x4f #13 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 12296, on dev md5a 0xc7f40d98: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc7f5a6e8 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7eadb80 (pid 2343) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0bf08dd at ufs_rename+0x30d #9 0xc0cf5275 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 0xc0cd24df at syscall+0x4f #15 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8233, on dev md5a 0xc7f3e6cc: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () v_object 0xc7f47ee0 ref 0 pages 0 lock type ufs: EXCL by thread 0xc786a2e0 (pid 2338) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bc88fe at process_worklist_item+0x10e #8 0xc0bca97f at softdep_prelink+0x12f #9 0xc0bcaa24 at softdep_setup_unlink+0x54 #10 0xc0be82a2 at ufs_dirremove+0x32 #11 0xc0bf172d at ufs_rename+0x115d #12 0xc0cf5275 at VOP_RENAME_APV+0xa5 #13 0xc0a4b827 at kern_renameat+0x307 #14 0xc0a4b9d6 at kern_rename+0x36 #15 0xc0a4ba09 at rename+0x29 #16 0xc09eada3 at syscallenter+0x263 #17 0xc0cd24df at syscall+0x4f ino 8250, on dev md5a 0xc8457414: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc845c7f8 ref 0 pages 0 lock type ufs: EXCL by thread 0xc786a2e0 (pid 2338) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0bf08dd at ufs_rename+0x30d #9 0xc0cf5275 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 0xc0cd24df at syscall+0x4f #15 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 10227, on dev md5a 0xc823a15c: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc84b9d48 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7eae000 (pid 2342) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0bf08dd at ufs_rename+0x30d #9 0xc0cf5275 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 0xc0cd24df at syscall+0x4f #15 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 9660, on dev md5a 0xc849b828: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc83e3220 ref 0 pages 0 lock type ufs: EXCL by thread 0xc78212e0 (pid 2345) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0bf08dd at ufs_rename+0x30d #9 0xc0cf5275 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 0xc0cd24df at syscall+0x4f #15 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 9664, on dev md5a 0xc8735c3c: tag ufs, type VLNK usecount 0, writecount 0, refcount 1 mountedhere 0 flags (VI_DOINGINACT) lock type ufs: EXCL by thread 0xc744d5c0 (pid 2364) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0be73ab at ufs_lookup_ino+0x89b #9 0xc0be775a at ufs_lookup+0x2a #10 0xc0cf4085 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2db16 at vfs_cache_lookup+0xd6 #12 0xc0cf5e05 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 11520, on dev md5a 0xc85f2000: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc8614c38 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7eae5c0 (pid 2340) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0bf08dd at ufs_rename+0x30d #9 0xc0cf5275 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 0xc0cd24df at syscall+0x4f #15 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 12334, on dev md5a 0xc81e96cc: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc8800110 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7eae8a0 (pid 2339) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0bf08dd at ufs_rename+0x30d #9 0xc0cf5275 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 0xc0cd24df at syscall+0x4f #15 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 12332, on dev md5a 0xc89db000: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc85f5000 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7ead8a0 (pid 2344) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0bf08dd at ufs_rename+0x30d #9 0xc0cf5275 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 0xc0cd24df at syscall+0x4f #15 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 13554, on dev md5a 0xc8a03c3c: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc82ab880 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7eae2e0 (pid 2341) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0bf08dd at ufs_rename+0x30d #9 0xc0cf5275 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 0xc0cd24df at syscall+0x4f #15 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 13697, on dev md5a 0xc8ba3d98: tag ufs, type VLNK usecount 0, writecount 0, refcount 1 mountedhere 0 flags (VI_DOINGINACT) lock type ufs: EXCL by thread 0xc7ef58a0 (pid 2361) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0be73ab at ufs_lookup_ino+0x89b #9 0xc0be775a at ufs_lookup+0x2a #10 0xc0cf4085 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2db16 at vfs_cache_lookup+0xd6 #12 0xc0cf5e05 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 15564, on dev md5a 0xc8bd4984: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc8bb76e8 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7e68000 (pid 2346) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0bf08dd at ufs_rename+0x30d #9 0xc0cf5275 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 0xc0cd24df at syscall+0x4f #15 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 16065, on dev md5a 0xc8d26828: tag ufs, type VLNK usecount 0, writecount 0, refcount 1 mountedhere 0 flags (VI_DOINGINACT) lock type ufs: EXCL by thread 0xc74a58a0 (pid 2365) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0be73ab at ufs_lookup_ino+0x89b #9 0xc0be775a at ufs_lookup+0x2a #10 0xc0cf4085 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2db16 at vfs_cache_lookup+0xd6 #12 0xc0cf5e05 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 4314, on dev md5a 0xc8e1815c: tag ufs, type VLNK usecount 0, writecount 0, refcount 1 mountedhere 0 flags (VI_DOINGINACT) lock type ufs: EXCL by thread 0xc7e688a0 (pid 2359) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0be73ab at ufs_lookup_ino+0x89b #9 0xc0be775a at ufs_lookup+0x2a #10 0xc0cf4085 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2db16 at vfs_cache_lookup+0xd6 #12 0xc0cf5e05 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 5089, on dev md5a 0xc816f000: tag ufs, type VLNK usecount 0, writecount 0, refcount 1 mountedhere 0 flags (VI_DOINGINACT) lock type ufs: EXCL by thread 0xc7ef5b80 (pid 2360) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0be73ab at ufs_lookup_ino+0x89b #9 0xc0be775a at ufs_lookup+0x2a #10 0xc0cf4085 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2db16 at vfs_cache_lookup+0xd6 #12 0xc0cf5e05 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 16096, on dev md5a 0xc8f83000: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () v_object 0xc835c2a8 ref 0 pages 0 lock type ufs: EXCL by thread 0xc78655c0 (pid 2369) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0be73ab at ufs_lookup_ino+0x89b #9 0xc0be775a at ufs_lookup+0x2a #10 0xc0cf4085 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2db16 at vfs_cache_lookup+0xd6 #12 0xc0cf5e05 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 8786, on dev md5a 0xc8e62000: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () lock type ufs: EXCL by thread 0xc74a18a0 (pid 2377) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0bdb519 at ffs_vgetf+0x189 #2 0xc0bdb93e at ffs_vget+0x2e #3 0xc0bb1630 at ffs_valloc+0x500 #4 0xc0beed53 at ufs_makeinode+0xc3 #5 0xc0bef560 at ufs_create+0x30 #6 0xc0cf5c55 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 0xc0cd24df at syscall+0x4f #14 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8790, on dev md5a 0xc8e6c15c: tag ufs, type VREG usecount 2, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc8c757f8 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7e678a0 (pid 2372) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0be73ab at ufs_lookup_ino+0x89b #9 0xc0be775a at ufs_lookup+0x2a #10 0xc0cf4085 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2db16 at vfs_cache_lookup+0xd6 #12 0xc0cf5e05 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 8227, on dev md5a 0xc8db2414: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () lock type ufs: EXCL by thread 0xc74a1000 (pid 2381) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0bdb519 at ffs_vgetf+0x189 #2 0xc0bdb93e at ffs_vget+0x2e #3 0xc0bb1630 at ffs_valloc+0x500 #4 0xc0beed53 at ufs_makeinode+0xc3 #5 0xc0bef560 at ufs_create+0x30 #6 0xc0cf5c55 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 0xc0cd24df at syscall+0x4f #14 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8811, on dev md5a 0xc8fd6570: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () lock type ufs: EXCL by thread 0xc78652e0 (pid 2370) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0bdb519 at ffs_vgetf+0x189 #2 0xc0bdb93e at ffs_vget+0x2e #3 0xc0bb1630 at ffs_valloc+0x500 #4 0xc0beed53 at ufs_makeinode+0xc3 #5 0xc0bef560 at ufs_create+0x30 #6 0xc0cf5c55 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 0xc0cd24df at syscall+0x4f #14 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8830, on dev md5a 0xc8df02b8: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () v_object 0xc8c12000 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7ef48a0 (pid 2388) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0be73ab at ufs_lookup_ino+0x89b #9 0xc0be775a at ufs_lookup+0x2a #10 0xc0cf4085 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2db16 at vfs_cache_lookup+0xd6 #12 0xc0cf5e05 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 8774, on dev md5a 0xc89d9414: tag ufs, type VNON usecount 1, writecount 0, refcount 1 mountedhere 0 flags () lock type ufs: EXCL by thread 0xc7e68b80 (pid 2357) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0bdb519 at ffs_vgetf+0x189 #2 0xc0bdb93e at ffs_vget+0x2e #3 0xc0bb1630 at ffs_valloc+0x500 #4 0xc0beed53 at ufs_makeinode+0xc3 #5 0xc0bef560 at ufs_create+0x30 #6 0xc0cf5c55 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 0xc0a4ee48 at openat+0x38 #11 0xc09eada3 at syscallenter+0x263 #12 0xc0cd24df at syscall+0x4f #13 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 12336, on dev md5a 0xc8e8d000: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () lock type ufs: EXCL by thread 0xc7ef45c0 (pid 2389) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0bdb519 at ffs_vgetf+0x189 #2 0xc0bdb93e at ffs_vget+0x2e #3 0xc0bb1630 at ffs_valloc+0x500 #4 0xc0beed53 at ufs_makeinode+0xc3 #5 0xc0bef560 at ufs_create+0x30 #6 0xc0cf5c55 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 0xc0cd24df at syscall+0x4f #14 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 12338, on dev md5a 0xc8c356cc: tag ufs, type VNON usecount 1, writecount 0, refcount 1 mountedhere 0 flags () lock type ufs: EXCL by thread 0xc7f29000 (pid 2385) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0bdb519 at ffs_vgetf+0x189 #2 0xc0bdb93e at ffs_vget+0x2e #3 0xc0bb1630 at ffs_valloc+0x500 #4 0xc0beed53 at ufs_makeinode+0xc3 #5 0xc0bef560 at ufs_create+0x30 #6 0xc0cf5c55 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 0xc0cd24df at syscall+0x4f #14 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 12350, on dev md5a 0xc8c6515c: tag ufs, type VDIR usecount 1, writecount 0, refcount 1 mountedhere 0 flags () lock type ufs: EXCL by thread 0xc7ef2b80 (pid 2393) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0bdb519 at ffs_vgetf+0x189 #2 0xc0bdb93e at ffs_vget+0x2e #3 0xc0bb1630 at ffs_valloc+0x500 #4 0xc0bf1aa9 at ufs_mkdir+0xa9 #5 0xc0cf5105 at VOP_MKDIR_APV+0xc5 #6 0xc0a46c15 at kern_mkdirat+0x225 #7 0xc0a46cde at kern_mkdir+0x2e #8 0xc0a46d09 at mkdir+0x29 #9 0xc09eada3 at syscallenter+0x263 #10 0xc0cd24df at syscall+0x4f #11 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 188, on dev md5a 0xc8beb000: tag ufs, type VREG usecount 0, writecount 0, refcount 1 mountedhere 0 flags (VV_NOSYNC|VI_DOINGINACT) v_object 0xc9102a18 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7e672e0 (pid 2374) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0be73ab at ufs_lookup_ino+0x89b #9 0xc0be775a at ufs_lookup+0x2a #10 0xc0cf4085 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2db16 at vfs_cache_lookup+0xd6 #12 0xc0cf5e05 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 8770, on dev md5a 0xc8137000: tag ufs, type VREG usecount 0, writecount 0, refcount 2 mountedhere 0 flags (VV_NOSYNC|VI_DOINGINACT) v_object 0xc8c8b088 ref 0 pages 0 lock type ufs: EXCL by thread 0xc74a5000 (pid 2375) with exclusive waiters pending #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0be73ab at ufs_lookup_ino+0x89b #9 0xc0be775a at ufs_lookup+0x2a #10 0xc0cf4085 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2db16 at vfs_cache_lookup+0xd6 #12 0xc0cf5e05 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 8691, on dev md5a 0xc8b28570: tag ufs, type VREG usecount 0, writecount 0, refcount 1 mountedhere 0 flags (VV_NOSYNC|VI_DOINGINACT) v_object 0xc912c088 ref 0 pages 0 lock type ufs: EXCL by thread 0xc74a15c0 (pid 2378) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0be73ab at ufs_lookup_ino+0x89b #9 0xc0be775a at ufs_lookup+0x2a #10 0xc0cf4085 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2db16 at vfs_cache_lookup+0xd6 #12 0xc0cf5e05 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 8767, on dev md5a 0xc8133c3c: tag ufs, type VREG usecount 0, writecount 0, refcount 1 mountedhere 0 flags (VV_NOSYNC|VI_DOINGINACT) v_object 0xc9205908 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7866000 (pid 2371) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0be73ab at ufs_lookup_ino+0x89b #9 0xc0be775a at ufs_lookup+0x2a #10 0xc0cf4085 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2db16 at vfs_cache_lookup+0xd6 #12 0xc0cf5e05 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 8574, on dev md5a 0xc8e6115c: tag ufs, type VREG usecount 0, writecount 0, refcount 1 mountedhere 0 flags (VV_NOSYNC|VI_DOINGINACT) v_object 0xc9106b28 ref 0 pages 0 lock type ufs: EXCL by thread 0xc74a1b80 (pid 2376) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0be0d61 at ffs_lock+0xa1 #2 0xc0cf4c85 at VOP_LOCK1_APV+0xb5 #3 0xc0a50048 at _vn_lock+0x78 #4 0xc0a4318b at vget+0xbb #5 0xc0a3413d at vfs_hash_get+0xed #6 0xc0bdb3d9 at ffs_vgetf+0x49 #7 0xc0bdb93e at ffs_vget+0x2e #8 0xc0be73ab at ufs_lookup_ino+0x89b #9 0xc0be775a at ufs_lookup+0x2a #10 0xc0cf4085 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2db16 at vfs_cache_lookup+0xd6 #12 0xc0cf5e05 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 8778, on dev md5a 0xc8171414: tag ufs, type VNON usecount 1, writecount 0, refcount 1 mountedhere 0 flags () lock type ufs: EXCL by thread 0xc7e675c0 (pid 2373) #0 0xc0990a4e at __lockmgr_args+0xbfe #1 0xc0bdb519 at ffs_vgetf+0x189 #2 0xc0bdb93e at ffs_vget+0x2e #3 0xc0bb1630 at ffs_valloc+0x500 #4 0xc0beed53 at ufs_makeinode+0xc3 #5 0xc0bef560 at ufs_create+0x30 #6 0xc0cf5c55 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 0xc0cd24df at syscall+0x4f #14 0xc0cbb9a1 at Xint0x80_syscall+0x21 ino 8777, on dev md5a db:0:lockedvnods> show mount 0xc73fab50 /dev/ad4s1a on / (ufs) 0xc73fb000 devfs on /dev (devfs) 0xc77715a8 /dev/ad4s1f on /home (ufs) 0xc73fa5a8 /dev/ad4s1d on /usr (ufs) 0xc73fa2d4 /dev/ad4s1e on /var (ufs) 0xc73fa000 procfs on /proc (procfs) 0xc77ea000 linprocfs on /usr/compat/linux/proc (linprocfs) 0xc7775b50 /dev/label/tmp on /tmp (ufs) 0xc77712d4 /dev/md5a on /mnt (ufs) More info: show mount db:0:mount> ps pid ppid pgrp uid state wmesg wchan cmd 2530 2348 2316 1001 R+ lockf 2527 2349 2316 1001 R+ lockf 2523 2229 2226 1001 S nanslp 0xc1012884 sleep 2415 2414 2316 1001 R+ rw 2414 2328 2316 1001 S+ wait 0xc7f092bc rw 2398 2391 2316 1001 D+ ufs 0xc7d7c310 mkdir 2397 2391 2316 1001 D+ ufs 0xc7d7c310 mkdir 2396 2391 2316 1001 D+ ufs 0xc7d7c310 mkdir 2395 2391 2316 1001 D+ ufs 0xc7d7c310 mkdir 2394 2391 2316 1001 D+ ufs 0xc7d7c310 mkdir 2393 2391 2316 1001 R+ mkdir 2392 2391 2316 1001 D+ ufs 0xc7d7c310 mkdir 2391 2333 2316 1001 S+ wait 0xc7421834 mkdir 2390 2366 2316 1001 R+ creat 2389 2366 2316 1001 R+ creat 2388 2366 2316 1001 R+ creat 2387 2366 2316 1001 R+ creat 2386 2366 2316 1001 R+ creat 2385 2366 2316 1001 R+ creat 2384 2379 2316 1001 R+ lockf2 2383 2379 2316 1001 R+ lockf2 2382 2379 2316 1001 R+ lockf2 2381 2366 2316 1001 R+ creat 2380 2366 2316 1001 D+ ufs 0xc8137058 creat 2379 2325 2316 1001 S+ wait 0xc7e0eaf0 lockf2 2378 2366 2316 1001 R+ creat 2377 2366 2316 1001 R+ creat 2376 2366 2316 1001 R+ creat 2375 2366 2316 1001 R+ creat 2374 2366 2316 1001 R+ creat 2373 2366 2316 1001 R+ creat 2372 2366 2316 1001 R+ creat 2371 2366 2316 1001 R+ creat 2370 2366 2316 1001 R+ creat 2369 2366 2316 1001 R+ creat 2368 2366 2316 1001 R+ creat 2367 2366 2316 1001 R+ creat 2366 2332 2316 1001 S+ wait 0xc7eed578 creat 2365 2358 2316 1001 R+ symlink 2364 2358 2316 1001 D+ biowr 0xe0899ba0 symlink 2363 2358 2316 1001 R+ CPU 2 symlink 2362 2358 2316 1001 R+ symlink 2361 2358 2316 1001 R+ symlink 2360 2358 2316 1001 R+ symlink 2359 2358 2316 1001 R+ symlink 2358 2326 2316 1001 S+ wait 0xc78192bc symlink 2357 2355 2316 1001 R+ openat 2356 2355 2316 1001 R+ openat 2355 2327 2316 1001 S+ wait 0xc781daf0 openat 2354 2347 2316 1001 D+ ufs 0xc7d7c310 lockf 2353 2347 2316 1001 D+ ufs 0xc7d7c310 lockf 2352 2347 2316 1001 D+ ufs 0xc7d7c310 lockf 2351 2347 2316 1001 D+ ufs 0xc7d7c310 lockf 2350 2347 2316 1001 D+ ufs 0xc7d7c310 lockf 2349 2347 2316 1001 S+ lockf 0xc8976cc0 lockf 2348 2347 2316 1001 S+ lockf 0xc8967980 lockf 2347 2331 2316 1001 S+ wait 0xc749e2bc lockf 2346 2337 2316 1001 R+ rename 2345 2337 2316 1001 R+ rename 2344 2337 2316 1001 R+ rename 2343 2337 2316 1001 R+ rename 2342 2337 2316 1001 R+ rename 2341 2337 2316 1001 R+ rename 2340 2337 2316 1001 R+ rename 2339 2337 2316 1001 R+ rename 2338 2337 2316 1001 R+ rename 2337 2334 2316 1001 S+ wait 0xc7e10af0 rename 2336 2324 2316 1001 S+ nanslp 0xc1012884 mkfifo 2334 2324 2316 1001 S+ nanslp 0xc1012884 rename 2333 2324 2316 1001 S+ nanslp 0xc1012884 mkdir 2332 2324 2316 1001 S+ nanslp 0xc1012884 creat 2331 2324 2316 1001 S+ nanslp 0xc1012884 lockf 2328 2324 2316 1001 S+ nanslp 0xc1012884 rw 2327 2324 2316 1001 S+ nanslp 0xc1012884 openat 2326 2324 2316 1001 S+ nanslp 0xc1012884 symlink 2325 2324 2316 1001 S+ nanslp 0xc1012884 lockf2 2324 2323 2316 1001 S+ wait 0xc7e10578 run 2323 2322 2316 1001 S+ wait 0xc74b8000 run 2322 2317 2316 1001 S+ nanslp 0xc1012884 run 2317 2316 2316 1001 S+ wait 0xc7e0f578 sh 2316 2315 2316 1001 S+ wait 0xc701eaf0 bash 2315 2295 2295 0 S+ wait 0xc7e0f834 su 2308 0 0 0 RL [md5] 2295 2272 2295 0 S+ wait 0xc749e000 sh 2272 2257 2272 0 S+ wait 0xc780baf0 bash 2257 2256 2257 0 S+ pause 0xc7d045d0 csh 2256 2249 2256 1001 S+ wait 0xc780b2bc su 2249 2248 2249 1001 Ss+ wait 0xc74b8578 bash 2248 2246 2246 1001 S select 0xc7aa67e4 sshd 2246 2078 2246 0 Ss sbwait 0xc78373f8 sshd 2230 2226 2226 1001 S piperd 0xc7489ab8 awk 2229 2226 2226 1001 S wait 0xc7d072bc sh 2228 2224 2228 1001 Ss+ select 0xc7aa6864 top 2227 2225 2227 1001 Ss kqread 0xc738da00 tail 2226 2223 2226 1001 Ss wait 0xc7d042bc sh 2225 2217 2217 1001 S select 0xc7aa68a4 sshd 2224 2218 2218 1001 S select 0xc7021ca4 sshd 2223 2219 2219 1001 S select 0xc7021be4 sshd 2219 2078 2219 0 Ss sbwait 0xc7c25c18 sshd 2218 2078 2218 0 Ss sbwait 0xc7a02a78 sshd 2217 2078 2217 0 Ss sbwait 0xc7c2d8d8 sshd 2202 1 2202 0 Ss+ ttyin 0xc7182070 getty 2201 1 2201 0 Ss+ ttyin 0xc7182270 getty 2200 1 2200 0 Ss+ ttyin 0xc7182470 getty 2199 1 2199 0 Ss+ ttyin 0xc6f52070 getty 2198 1 2198 0 Ss+ ttyin 0xc6f52270 getty 2197 1 2197 0 Ss+ ttyin 0xc6f52470 getty 2196 1 2196 0 Ss+ ttyin 0xc6f52670 getty 2195 1 2195 0 Ss+ ttyin 0xc6f52870 getty 2194 1 2194 0 Ss+ ttyin 0xc6f52a70 getty 2150 1 2150 0 Ss select 0xc7aa69a4 inetd 2123 1 2123 0 Ss nanslp 0xc1012884 watchdogd 2112 2109 19 0 S+ nanslp 0xc1012884 sleep 2109 1 19 0 S+ wait 0xc780b834 sh 2098 1 2098 0 Ss nanslp 0xc1012884 cron 2090 1 2090 25 Ss pause 0xc74215d0 sendmail 2086 1 2086 0 Ss select 0xc73bd964 sendmail 2078 1 2078 0 Ss select 0xc7aa6a24 sshd 2018 1 2018 0 Ss select 0xc7aa6a64 moused 1958 1 1958 0 Ss select 0xc74a4964 ntpd 1842 1841 1841 0 R (threaded) nfsd 100151 S rpcsvc 0xc7a05810 nfsd: service 100150 S rpcsvc 0xc7a08490 nfsd: service 100149 S rpcsvc 0xc7a07d50 nfsd: service 100098 RunQ nfsd: master 1841 1 1841 0 Ss select 0xc73bd7e4 nfsd 1832 1 1832 0 Ss select 0xc73bd7a4 mountd 1733 1 1733 0 Ss select 0xc73bd6e4 rpcbind 1708 1 1708 0 Ss select 0xc73bda64 syslogd 1507 1 1507 0 Ss select 0xc73bd164 devd 18 0 0 0 RL CPU 0 [softdepflush] 17 0 0 0 RL CPU 1 [syncer] 16 0 0 0 DL vlruwt 0xc73a4834 [vnlru] 9 0 0 0 DL psleep 0xc11886a8 [bufdaemon] 8 0 0 0 DL pgzero 0xc1190ddc [pagezero] 7 0 0 0 DL psleep 0xc11909c8 [vmdaemon] 6 0 0 0 DL psleep 0xc1190990 [pagedaemon] 5 0 0 0 DL ccb_scan 0xc0fd7754 [xpt_thrd] 4 0 0 0 DL waiting_ 0xc118a4d8 [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 - 0xc1011684 [yarrow] 13 0 0 0 DL (threaded) [geom] 100015 D - 0xc100f2c8 [g_down] 100014 D - 0xc100f2c4 [g_up] 100013 D - 0xc100f2bc [g_event] 12 0 0 0 RL (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 RunQ [swi4: clock] 100009 RunQ [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 Run CPU 255 [idle: cpu3] 1 0 1 0 SLs wait 0xc6dbdaf0 [init] 10 0 0 0 DL audit_wo 0xc118e700 [audit] 0 0 0 0 DLs (threaded) [kernel] 100076 D - 0xc71853c0 [mca taskq] 100066 D - 0xc1011684 [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 0xc100f3a0 [swapper] 2399 2336 2316 1001 Z+ mkfifo 2330 2324 2316 1001 Z+ link 2329 2324 2316 1001 Z+ fts 2335 2324 2316 1001 Z+ swap db:0:ps> allt Tracing command lockf pid 2530 tid 100227 td 0xc7f5f2e0 sched_switch(c7f5f2e0,0,104,191,3cd4f4bc,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,74,...) at mi_switch+0x219 sleepq_switch(c7f5f2e0,0,c0e8b160,1a7,74,...) at sleepq_switch+0x162 sleepq_catch_signals(ef4149c8,c09e76a9,c102de7c,0,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c8967580,74,ef414a08,100,0,...) at sleepq_wait_sig+0x17 _sleep(c8967580,c89656c8,174,c0f9e680,0,...) at _sleep+0x35c lf_advlockasync(ef414a9c,c8763ef0,4,0,c0fa9940,...) at lf_advlockasync+0xab1 lf_advlock(ef414bd0,c8763ef0,4,0,1,...) at lf_advlock+0x55 vop_stdadvlock(ef414bd0,c0ed9aa5,c81e3460,c81e3460,c8763d98,...) at vop_stdadvlock+0xb5 VOP_ADVLOCK_APV(c0fbb340,ef414bd0,c0e7f4e0,26d,3,...) at VOP_ADVLOCK_APV+0xd6 kern_fcntl(c7f5f2e0,3,d,ef414c10,0,...) at kern_fcntl+0x95f fcntl(c7f5f2e0,ef414cec,ef414d28,c0e8ba9e,0,...) at fcntl+0x101 syscallenter(c7f5f2e0,ef414ce4,ef414ce4,0,c1020200,...) at syscallenter+0x263 syscall(ef414d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (92, FreeBSD ELF32, fcntl), eip = 0x28183b6f, esp = 0xbfbfe6ac, ebp = 0xbfbfe6e8 --- Tracing command lockf pid 2527 tid 100110 td 0xc78108a0 sched_switch(c78108a0,0,104,191,3cb1f26a,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,74,...) at mi_switch+0x219 sleepq_switch(c78108a0,0,c0e8b160,1a7,74,...) at sleepq_switch+0x162 sleepq_catch_signals(ef2139c8,c09e76a9,c102d984,0,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c8844040,74,ef213a08,100,0,...) at sleepq_wait_sig+0x17 _sleep(c8844040,c8938588,174,c0f9e680,0,...) at _sleep+0x35c lf_advlockasync(ef213a9c,c8ab8980,4,0,c0fa9940,...) at lf_advlockasync+0xab1 lf_advlock(ef213bd0,c8ab8980,4,0,1,...) at lf_advlock+0x55 vop_stdadvlock(ef213bd0,c0ed9aa5,c7459498,c7459498,c8ab8828,...) at vop_stdadvlock+0xb5 VOP_ADVLOCK_APV(c0fbb340,ef213bd0,c0e7f4e0,26d,3,...) at VOP_ADVLOCK_APV+0xd6 kern_fcntl(c78108a0,3,d,ef213c10,0,...) at kern_fcntl+0x95f fcntl(c78108a0,ef213cec,ef213d28,c0e8ba9e,0,...) at fcntl+0x101 syscallenter(c78108a0,ef213ce4,ef213ce4,0,c101f500,...) at syscallenter+0x263 syscall(ef213d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (92, FreeBSD ELF32, fcntl), eip = 0x28183b6f, esp = 0xbfbfe6ac, ebp = 0xbfbfe6e8 --- Tracing command sleep pid 2523 tid 100231 td 0xc7f5e5c0 sched_switch(c7f5e5c0,0,104,191,39f29676,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7f5e5c0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(2711,c09e7470,c7f5e5c0,2,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012884,6c,c0e86f57,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012884,0,16c,c0e86f57,2711,...) at _sleep+0x328 kern_nanosleep(c7f5e5c0,ef420c34,ef420c3c,a,0,...) at kern_nanosleep+0xc1 nanosleep(c7f5e5c0,ef420cec,ef420d28,c0e8ba9e,0,...) at nanosleep+0x6f syscallenter(c7f5e5c0,ef420ce4,ef420ce4,0,0,...) at syscallenter+0x263 syscall(ef420d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28165b67, esp = 0xbfbfec5c, ebp = 0xbfbfeca8 --- Tracing command rw pid 2415 tid 100233 td 0xc7f5e2e0 sched_switch(c7f5e2e0,0,207,18c,3ccce1cc,...) at sched_switch+0x3bc mi_switch(207,0,c0e8ba5d,d4,c11e6100,...) at mi_switch+0x219 ast(ef427d28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command rw pid 2414 tid 100232 td 0xc7f28b80 sched_switch(c7f28b80,0,104,191,20227482,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7f28b80,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7f092bc,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7f092bc,c7f09344,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c7f28b80,96f,ef423c44,0,0,...) at kern_wait+0xbe6 wait4(c7f28b80,ef423cec,281a9d08,1,0,...) at wait4+0x3b syscallenter(c7f28b80,ef423ce4,c0cd2d3d,c1010f70,0,...) at syscallenter+0x263 syscall(ef423d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2810493b, esp = 0xbfbfe72c, ebp = 0xbfbfe748 --- Tracing command mkdir pid 2398 tid 100111 td 0xc78105c0 sched_switch(c78105c0,0,104,191,2ab0bcd9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c78105c0,0,c0e8b160,268,c7d7c310,...) at sleepq_switch+0x162 sleepq_wait(c7d7c310,60,c0e7c750,4,1,...) at sleepq_wait+0x63 __lockmgr_args(c7d7c310,200100,c7d7c37c,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef216874,c09f23db,c0e941d7,200100,c7d7c2b8,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb340,ef216874,c7810670,c0fd6300,c7d7c2b8,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7d7c2b8,200100,c0e94e72,856,4,...) at _vn_lock+0x78 vget(c7d7c2b8,200100,c78105c0,50,0,...) at vget+0xbb vfs_hash_get(c77712d4,2000,200000,c78105c0,ef216a1c,...) at vfs_hash_get+0xed ffs_vgetf(c77712d4,2000,200000,ef216a1c,0,...) at ffs_vgetf+0x49 ffs_vget(c77712d4,2000,200000,ef216a1c,200000,...) at ffs_vget+0x2e vn_vget_ino(c8ddd828,2000,200000,ef216a1c,ef216a2c,...) at vn_vget_ino+0x134 ufs_lookup_ino(c8ddd828,ef216be8,ef216bfc,0,ef216a70,...) at ufs_lookup_ino+0xa67 ufs_lookup(ef216a90,c0ed99b7,c8ddd828,c8ddd828,ef216bfc,...) at ufs_lookup+0x2a VOP_CACHEDLOOKUP_APV(c0fbb340,ef216a90,ef216bfc,ef216be8,c7dc5d00,...) at VOP_CACHEDLOOKUP_APV+0xc5 vfs_cache_lookup(ef216b24,c0e95be3,c0fd5f40,200000,ef216bd0,...) at vfs_cache_lookup+0xd6 VOP_LOOKUP_APV(c0fbb340,ef216b24,ef216bfc,1f5,ef216be8,...) at VOP_LOOKUP_APV+0xe5 lookup(ef216bd0,c0e942bd,ee,c9,ffffff9c,...) at lookup+0x67b namei(ef216bd0,0,ffffff9c,c8137d98,c792ac00,...) at namei+0x592 kern_chdir(c78105c0,804b1d8,0,ef216c7c,c09eada3,...) at kern_chdir+0x58 chdir(c78105c0,ef216cec,ef216d28,c0e8ba9e,0,...) at chdir+0x22 syscallenter(c78105c0,ef216ce4,ef216ce4,0,c1020200,...) at syscallenter+0x263 syscall(ef216d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (12, FreeBSD ELF32, chdir), eip = 0x280eee4b, esp = 0xbfbfdedc, ebp = 0xbfbfe318 --- Tracing command mkdir pid 2397 tid 100139 td 0xc781e8a0 sched_switch(c781e8a0,0,104,191,2ab0af5f,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c781e8a0,0,c0e8b160,268,c7d7c310,...) at sleepq_switch+0x162 sleepq_wait(c7d7c310,60,c0e7c750,4,1,...) at sleepq_wait+0x63 __lockmgr_args(c7d7c310,200100,c7d7c37c,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef28b874,c09f23db,c0e941d7,200100,c7d7c2b8,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb340,ef28b874,c781e950,c0fd6300,c7d7c2b8,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7d7c2b8,200100,c0e94e72,856,4,...) at _vn_lock+0x78 vget(c7d7c2b8,200100,c781e8a0,50,0,...) at vget+0xbb vfs_hash_get(c77712d4,2000,200000,c781e8a0,ef28ba1c,...) at vfs_hash_get+0xed ffs_vgetf(c77712d4,2000,200000,ef28ba1c,0,...) at ffs_vgetf+0x49 ffs_vget(c77712d4,2000,200000,ef28ba1c,200000,...) at ffs_vget+0x2e vn_vget_ino(c87756cc,2000,200000,ef28ba1c,ef28ba2c,...) at vn_vget_ino+0x134 ufs_lookup_ino(c87756cc,ef28bbe8,ef28bbfc,0,ef28ba70,...) at ufs_lookup_ino+0xa67 ufs_lookup(ef28ba90,c0ed99b7,c87756cc,c87756cc,ef28bbfc,...) at ufs_lookup+0x2a VOP_CACHEDLOOKUP_APV(c0fbb340,ef28ba90,ef28bbfc,ef28bbe8,c7dc5d00,...) at VOP_CACHEDLOOKUP_APV+0xc5 vfs_cache_lookup(ef28bb24,c0e95be3,c0fd5f40,200000,ef28bbd0,...) at vfs_cache_lookup+0xd6 VOP_LOOKUP_APV(c0fbb340,ef28bb24,ef28bbfc,1f5,ef28bbe8,...) at VOP_LOOKUP_APV+0xe5 lookup(ef28bbd0,c0e942bd,ee,c9,ffffff9c,...) at lookup+0x67b namei(ef28bbd0,0,ffffff9c,c8cf16cc,c7929e00,...) at namei+0x592 kern_chdir(c781e8a0,804b1d8,0,ef28bc7c,c09eada3,...) at kern_chdir+0x58 chdir(c781e8a0,ef28bcec,ef28bd28,c0e8ba9e,0,...) at chdir+0x22 syscallenter(c781e8a0,ef28bce4,ef28bce4,0,c101f500,...) at syscallenter+0x263 syscall(ef28bd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (12, FreeBSD ELF32, chdir), eip = 0x280eee4b, esp = 0xbfbfdedc, ebp = 0xbfbfe318 --- Tracing command mkdir pid 2396 tid 100091 td 0xc744e2e0 sched_switch(c744e2e0,0,104,191,2acda017,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c744e2e0,0,c0e8b160,268,c7d7c310,...) at sleepq_switch+0x162 sleepq_wait(c7d7c310,60,c0e7c750,4,1,...) at sleepq_wait+0x63 __lockmgr_args(c7d7c310,200400,c7d7c37c,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef1cea18,0,c6d5b1e0,200400,c7d7c2b8,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb340,ef1cea18,c7d7c37c,c0fd6300,c7d7c2b8,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7d7c2b8,200400,c0e942bd,1f5,ef1cea8c,...) at _vn_lock+0x78 lookup(ef1ceba4,c0e942bd,ee,c9,ffffff9c,...) at lookup+0x106 namei(ef1ceba4,c7d7c2b8,2,c7d7c37c,ef1ceb54,...) at namei+0x592 kern_mkdirat(c744e2e0,ffffff9c,bfbfe33f,0,1f8,...) at kern_mkdirat+0x71 kern_mkdir(c744e2e0,bfbfe33f,0,1f8,ef1cec7c,...) at kern_mkdir+0x2e mkdir(c744e2e0,ef1cecec,ef1ced28,c0e8ba9e,0,...) at mkdir+0x29 syscallenter(c744e2e0,ef1cece4,ef1cece4,0,c101f500,...) at syscallenter+0x263 syscall(ef1ced28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (136, FreeBSD ELF32, mkdir), eip = 0x28186643, esp = 0xbfbfdeec, ebp = 0xbfbfe318 --- Tracing command mkdir pid 2395 tid 100138 td 0xc781eb80 sched_switch(c781eb80,0,104,191,2ab9df13,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c781eb80,0,c0e8b160,268,c7d7c310,...) at sleepq_switch+0x162 sleepq_wait(c7d7c310,60,c0e7c750,4,1,...) at sleepq_wait+0x63 __lockmgr_args(c7d7c310,200100,c7d7c37c,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef287874,c09f23db,c0e941d7,200100,c7d7c2b8,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb340,ef287874,c781ec30,c0fd6300,c7d7c2b8,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7d7c2b8,200100,c0e94e72,856,4,...) at _vn_lock+0x78 vget(c7d7c2b8,200100,c781eb80,50,0,...) at vget+0xbb vfs_hash_get(c77712d4,2000,200000,c781eb80,ef287a1c,...) at vfs_hash_get+0xed ffs_vgetf(c77712d4,2000,200000,ef287a1c,0,...) at ffs_vgetf+0x49 ffs_vget(c77712d4,2000,200000,ef287a1c,200000,...) at ffs_vget+0x2e vn_vget_ino(c8d52ae0,2000,200000,ef287a1c,ef287a2c,...) at vn_vget_ino+0x134 ufs_lookup_ino(c8d52ae0,ef287be8,ef287bfc,0,ef287a70,...) at ufs_lookup_ino+0xa67 ufs_lookup(ef287a90,c0ed99b7,c8d52ae0,c8d52ae0,ef287bfc,...) at ufs_lookup+0x2a VOP_CACHEDLOOKUP_APV(c0fbb340,ef287a90,ef287bfc,ef287be8,c7dc5d00,...) at VOP_CACHEDLOOKUP_APV+0xc5 vfs_cache_lookup(ef287b24,c0e95be3,c0fd5f40,200000,ef287bd0,...) at vfs_cache_lookup+0xd6 VOP_LOOKUP_APV(c0fbb340,ef287b24,ef287bfc,1f5,ef287be8,...) at VOP_LOOKUP_APV+0xe5 lookup(ef287bd0,c0e942bd,ee,c9,ffffff9c,...) at lookup+0x67b namei(ef287bd0,0,ffffff9c,c8fd6570,c791c500,...) at namei+0x592 kern_chdir(c781eb80,804b1d8,0,ef287c7c,c09eada3,...) at kern_chdir+0x58 chdir(c781eb80,ef287cec,ef287d28,c0e8ba9e,0,...) at chdir+0x22 syscallenter(c781eb80,ef287ce4,ef287ce4,0,0,...) at syscallenter+0x263 syscall(ef287d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (12, FreeBSD ELF32, chdir), eip = 0x280eee4b, esp = 0xbfbfdedc, ebp = 0xbfbfe318 --- Tracing command mkdir pid 2394 tid 100131 td 0xc78695c0 sched_switch(c78695c0,0,104,191,2aad646b,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c78695c0,0,c0e8b160,268,c7d7c310,...) at sleepq_switch+0x162 sleepq_wait(c7d7c310,60,c0e7c750,4,1,...) at sleepq_wait+0x63 __lockmgr_args(c7d7c310,200400,c7d7c37c,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef26daac,0,c6d5b1e0,200400,c7d7c2b8,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb340,ef26daac,c7d7c37c,c0fd6300,c7d7c2b8,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7d7c2b8,200400,c0e942bd,1f5,ef26db20,...) at _vn_lock+0x78 lookup(ef26dbd0,c0e942bd,ee,c9,ffffff9c,...) at lookup+0x106 namei(ef26dbd0,c7d7c2b8,1,c74c1c09,c7409700,...) at namei+0x592 kern_chdir(c78695c0,bfbfe33f,0,ef26dc7c,c09eada3,...) at kern_chdir+0x58 chdir(c78695c0,ef26dcec,c09cd78c,c101f530,0,...) at chdir+0x22 syscallenter(c78695c0,ef26dce4,ef26dcc0,c09cfe08,c101f500,...) at syscallenter+0x263 syscall(ef26dd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (12, FreeBSD ELF32, chdir), eip = 0x280eee4b, esp = 0xbfbfdeec, ebp = 0xbfbfe318 --- Tracing command mkdir pid 2393 tid 100218 td 0xc7ef2b80 sched_switch(c7ef2b80,0,104,191,3c9d4e2f,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7ef2b80,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e074cee0,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e074cee0,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,200e0,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,200e0,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,200e0,0,4000,0,...) at bread+0x4c ffs_update(c7d7c2b8,0,c7dc5d00,0,c7dc5d00,...) at ffs_update+0x172 ufs_mkdir(ef3f8bf8,c0ed9cf5,0,0,ef3f8b3c,...) at ufs_mkdir+0x300 VOP_MKDIR_APV(c0fbb340,ef3f8bf8,ef3f8bd0,ef3f8b3c,0,...) at VOP_MKDIR_APV+0xc5 kern_mkdirat(c7ef2b80,ffffff9c,bfbfe33f,0,1f8,...) at kern_mkdirat+0x225 kern_mkdir(c7ef2b80,bfbfe33f,0,1f8,ef3f8c7c,...) at kern_mkdir+0x2e mkdir(c7ef2b80,ef3f8cec,ef3f8d28,c0e8ba9e,0,...) at mkdir+0x29 syscallenter(c7ef2b80,ef3f8ce4,ef3f8ce4,0,0,...) at syscallenter+0x263 syscall(ef3f8d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (136, FreeBSD ELF32, mkdir), eip = 0x28186643, esp = 0xbfbfdeec, ebp = 0xbfbfe318 --- Tracing command mkdir pid 2392 tid 100217 td 0xc7ef4000 sched_switch(c7ef4000,0,104,191,2cf57be3,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7ef4000,0,c0e8b160,268,c7d7c310,...) at sleepq_switch+0x162 sleepq_wait(c7d7c310,60,c0e7c750,4,1,...) at sleepq_wait+0x63 __lockmgr_args(c7d7c310,200100,c7d7c37c,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef3f4874,c09f23db,c0e941d7,200100,c7d7c2b8,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb340,ef3f4874,c7ef40b0,c0fd6300,c7d7c2b8,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7d7c2b8,200100,c0e94e72,856,4,...) at _vn_lock+0x78 vget(c7d7c2b8,200100,c7ef4000,50,0,...) at vget+0xbb vfs_hash_get(c77712d4,2000,200000,c7ef4000,ef3f4a1c,...) at vfs_hash_get+0xed ffs_vgetf(c77712d4,2000,200000,ef3f4a1c,0,...) at ffs_vgetf+0x49 ffs_vget(c77712d4,2000,200000,ef3f4a1c,200000,...) at ffs_vget+0x2e vn_vget_ino(c81372b8,2000,200000,ef3f4a1c,ef3f4a2c,...) at vn_vget_ino+0x134 ufs_lookup_ino(c81372b8,ef3f4be8,ef3f4bfc,0,ef3f4a70,...) at ufs_lookup_ino+0xa67 ufs_lookup(ef3f4a90,c0ed99b7,c81372b8,c81372b8,ef3f4bfc,...) at ufs_lookup+0x2a VOP_CACHEDLOOKUP_APV(c0fbb340,ef3f4a90,ef3f4bfc,ef3f4be8,c7dc5d00,...) at VOP_CACHEDLOOKUP_APV+0xc5 vfs_cache_lookup(ef3f4b24,c0e95be3,c0fd5f40,200000,ef3f4bd0,...) at vfs_cache_lookup+0xd6 VOP_LOOKUP_APV(c0fbb340,ef3f4b24,ef3f4bfc,1f5,ef3f4be8,...) at VOP_LOOKUP_APV+0xe5 lookup(ef3f4bd0,c0e942bd,ee,c9,ffffff9c,...) at lookup+0x67b namei(ef3f4bd0,0,ffffff9c,c8dac15c,c7ed6800,...) at namei+0x592 kern_chdir(c7ef4000,804b1d8,0,ef3f4c7c,c09eada3,...) at kern_chdir+0x58 chdir(c7ef4000,ef3f4cec,ef3f4d28,c0e8ba9e,0,...) at chdir+0x22 syscallenter(c7ef4000,ef3f4ce4,ef3f4ce4,0,c101f500,...) at syscallenter+0x263 syscall(ef3f4d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (12, FreeBSD ELF32, chdir), eip = 0x280eee4b, esp = 0xbfbfdedc, ebp = 0xbfbfe318 --- Tracing command mkdir pid 2391 tid 100081 td 0xc74268a0 sched_switch(c74268a0,0,104,191,1eac09da,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c74268a0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7421834,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7421834,c74218bc,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c74268a0,958,ef19cc44,0,0,...) at kern_wait+0xbe6 wait4(c74268a0,ef19ccec,281a9d08,1,0,...) at wait4+0x3b syscallenter(c74268a0,ef19cce4,c0cd2d3d,c1010f70,0,...) at syscallenter+0x263 syscall(ef19cd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2810493b, esp = 0xbfbfe72c, ebp = 0xbfbfe748 --- Tracing command creat pid 2390 tid 100216 td 0xc7ef42e0 sched_switch(c7ef42e0,0,207,18c,3fc8acfc,...) at sched_switch+0x3bc mi_switch(207,0,c0e8ba5d,d4,c11e6100,...) at mi_switch+0x219 ast(ef3f0d28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command creat pid 2389 tid 100215 td 0xc7ef45c0 sched_switch(c7ef45c0,0,104,191,3a95b8a7,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7ef45c0,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e0752d20,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e0752d20,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,300e0,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,300e0,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,300e0,0,4000,0,...) at bread+0x4c ffs_update(c8e8d000,0,c7dc5d00,0,200,...) at ffs_update+0x172 ufs_makeinode(ef3ecba4,c0fbb840,ef3ecb00,ef3eca5c,c0cf5c55,...) at ufs_makeinode+0x30b ufs_create(ef3ecb00,c0ed9ebb,0,0,ef3ecb78,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb340,ef3ecb00,ef3ecba4,ef3eca98,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef3ecb78,ef3ecc2c,1b0,0,c7dc5d00,...) at vn_open_cred+0x205 vn_open(ef3ecb78,ef3ecc2c,1b0,c74c0770,0,...) at vn_open+0x3b kern_openat(c7ef45c0,ffffff9c,bfbfe6b8,0,602,...) at kern_openat+0x12f kern_open(c7ef45c0,bfbfe6b8,0,601,1b0,...) at kern_open+0x35 open(c7ef45c0,ef3eccec,ef3ecd28,c0e8ba9e,0,...) at open+0x30 syscallenter(c7ef45c0,ef3ecce4,ef3ecce4,0,c1020200,...) at syscallenter+0x263 syscall(ef3ecd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x28186683, esp = 0xbfbfe66c, ebp = 0xbfbfe688 --- Tracing command creat pid 2388 tid 100214 td 0xc7ef48a0 sched_switch(c7ef48a0,0,104,191,3c9d3667,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7ef48a0,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e074cee0,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e074cee0,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,200e0,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,200e0,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,200e0,0,4000,0,...) at bread+0x4c ffs_update(c7df9d98,1,c0ebb839,163,0,...) at ffs_update+0x172 ffs_syncvnode(c7df9d98,1,c0eb84fc,ac0,c7dc37b4,...) at ffs_syncvnode+0x48f softdep_prelink(c118ef28,0,c0eb84fc,10c5,c8bb5bc8,...) at softdep_prelink+0xa3 softdep_setup_unlink(c7dc37b4,c8bb5bc8,c11592a0,c7ef4950,c0fa05f8,...) at softdep_setup_unlink+0x54 ufs_dirremove(c7df9d98,c8bb5bc8,500800c,0,c7df9d98,...) at ufs_dirremove+0x32 ufs_remove(ef3e8c00,c0ed9dae,0,0,c8df02b8,...) at ufs_remove+0x6e VOP_REMOVE_APV(c0fbb340,ef3e8c00,c8df02b8,ef3e8bd8,c15a9000,...) at VOP_REMOVE_APV+0xf6 kern_unlinkat(c7ef48a0,ffffff9c,bfbfe6b8,0,0,...) at kern_unlinkat+0x1fb kern_unlink(c7ef48a0,bfbfe6b8,0,ef3e8c7c,c09eada3,...) at kern_unlink+0x2f unlink(c7ef48a0,ef3e8cec,ef3e8d28,c0e8ba9e,0,...) at unlink+0x22 syscallenter(c7ef48a0,ef3e8ce4,ef3e8ce4,0,0,...) at syscallenter+0x263 syscall(ef3e8d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe68c, ebp = 0xbfbfe748 --- Tracing command creat pid 2387 tid 100213 td 0xc7ef4b80 sched_switch(c7ef4b80,0,104,191,3ca73028,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7ef4b80,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e0753a20,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e0753a20,81900,c79b5920,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c79b5828,0,0,800,0,...) at getblk+0x167 breadn(c79b5828,0,0,800,0,...) at breadn+0x44 bread(c79b5828,0,0,800,0,...) at bread+0x4c ffs_blkatoff(c79b5828,0,0,0,ef3e48d4,...) at ffs_blkatoff+0xd1 ufs_lookup_ino(c79b5828,ef3e4b90,ef3e4ba4,0,ef3e4918,...) at ufs_lookup_ino+0x38e ufs_lookup(ef3e4938,c0ed99b7,c79b5828,c79b5828,ef3e4ba4,...) at ufs_lookup+0x2a VOP_CACHEDLOOKUP_APV(c0fbb340,ef3e4938,ef3e4ba4,ef3e4b90,c7dc5d00,...) at VOP_CACHEDLOOKUP_APV+0xc5 vfs_cache_lookup(ef3e49cc,c0e95be3,ef3e4b78,80000,ef3e4b78,...) at vfs_cache_lookup+0xd6 VOP_LOOKUP_APV(c0fbb340,ef3e49cc,c0e942bd,2a6,ef3e4b90,...) at VOP_LOOKUP_APV+0xe5 lookup(ef3e4b78,c0e942bd,ee,c9,ffffff9c,...) at lookup+0x67b namei(ef3e4b78,ef3e4ac4,c0e7f4e9,c7eed088,0,...) at namei+0x592 vn_open_cred(ef3e4b78,ef3e4c2c,1b0,0,c7dc5d00,...) at vn_open_cred+0x90 vn_open(ef3e4b78,ef3e4c2c,1b0,c7431460,0,...) at vn_open+0x3b kern_openat(c7ef4b80,ffffff9c,bfbfe6b8,0,602,...) at kern_openat+0x12f kern_open(c7ef4b80,bfbfe6b8,0,601,1b0,...) at kern_open+0x35 open(c7ef4b80,ef3e4cec,ef3e4d28,c0e8ba9e,0,...) at open+0x30 syscallenter(c7ef4b80,ef3e4ce4,ef3e4ce4,0,c101f500,...) at syscallenter+0x263 syscall(ef3e4d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x28186683, esp = 0xbfbfe66c, ebp = 0xbfbfe688 --- Tracing command creat pid 2386 tid 100212 td 0xc7ef5000 sched_switch(c7ef5000,0,207,18c,3fb75ccf,...) at sched_switch+0x3bc mi_switch(207,0,c0e8ba5d,d4,c11e6100,...) at mi_switch+0x219 ast(ef3e0d28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command creat pid 2385 tid 100211 td 0xc7f29000 sched_switch(c7f29000,0,104,191,36afd1fe,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7f29000,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e0752d20,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e0752d20,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,300e0,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,300e0,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,300e0,0,4000,0,...) at bread+0x4c ffs_vgetf(c77712d4,303e,80000,ef3dc910,0,...) at ffs_vgetf+0x3ab ffs_vget(c77712d4,303e,80000,ef3dc910,c0bb1940,...) at ffs_vget+0x2e ffs_valloc(c7f436cc,81b0,c7dc5d00,ef3dc910,200,...) at ffs_valloc+0x500 ufs_makeinode(ef3dcba4,c0fbb840,ef3dcb00,ef3dca5c,c0cf5c55,...) at ufs_makeinode+0xc3 ufs_create(ef3dcb00,c0ed9ebb,0,0,ef3dcb78,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb340,ef3dcb00,ef3dcba4,ef3dca98,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef3dcb78,ef3dcc2c,1b0,0,c7dc5d00,...) at vn_open_cred+0x205 vn_open(ef3dcb78,ef3dcc2c,1b0,c7a972d8,0,...) at vn_open+0x3b kern_openat(c7f29000,ffffff9c,bfbfe6b8,0,602,...) at kern_openat+0x12f kern_open(c7f29000,bfbfe6b8,0,601,1b0,...) at kern_open+0x35 open(c7f29000,ef3dccec,ef3dcd28,c0e8ba9e,0,...) at open+0x30 syscallenter(c7f29000,ef3dcce4,ef3dcce4,0,c101f500,...) at syscallenter+0x263 syscall(ef3dcd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x28186683, esp = 0xbfbfe66c, ebp = 0xbfbfe688 --- Tracing command lockf2 pid 2384 tid 100161 td 0xc7d0a8a0 sched_switch(c7d0a8a0,0,602,18c,3f9a2a70,...) at sched_switch+0x3bc mi_switch(602,0,c0e8625f,cd,8,...) at mi_switch+0x219 critical_exit(c7d0a8a0,0,2,c8965900,c8965900,...) at critical_exit+0xa8 ipi_bitmap_handler(8,28,28,0,c8965900,...) at ipi_bitmap_handler+0x82 Xipi_intr_bitmap_handler() at Xipi_intr_bitmap_handler+0x2f --- interrupt, eip = 0xc0991348, esp = 0xef322a14, ebp = 0xef322a1c --- lf_overlaps(c10102e0,c0e828d7,5e8,5e6,c7dfa058,...) at lf_overlaps+0x28 lf_advlockasync(ef322a9c,c7dfa158,100000,0,c0fa9940,...) at lf_advlockasync+0xd51 lf_advlock(ef322bd0,c7dfa158,100000,0,1,...) at lf_advlock+0x55 vop_stdadvlock(ef322bd0,c0ed9aa5,c7459038,c7459038,c7dfa000,...) at vop_stdadvlock+0xb5 VOP_ADVLOCK_APV(c0fbb340,ef322bd0,c0e7f4e0,26d,3,...) at VOP_ADVLOCK_APV+0xd6 kern_fcntl(c7d0a8a0,3,d,ef322c10,874f7,...) at kern_fcntl+0x95f fcntl(c7d0a8a0,ef322cec,ef322d28,c0e8ba9e,0,...) at fcntl+0x101 syscallenter(c7d0a8a0,ef322ce4,ef322ce4,0,c1020200,...) at syscallenter+0x263 syscall(ef322d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (92, FreeBSD ELF32, fcntl), eip = 0x28183b6f, esp = 0xbfbfe6cc, ebp = 0xbfbfe708 --- Tracing command lockf2 pid 2383 tid 100164 td 0xc7d0a000 sched_switch(c7d0a000,0,602,18c,3bca4383,...) at sched_switch+0x3bc mi_switch(602,0,c0e8625f,cd,c,...) at mi_switch+0x219 critical_exit(c7d0a000,0,3,c80639c0,c8937c00,...) at critical_exit+0xa8 ipi_bitmap_handler(8,28,28,0,c8937c00,...) at ipi_bitmap_handler+0x82 Xipi_intr_bitmap_handler() at Xipi_intr_bitmap_handler+0x2f --- interrupt, eip = 0xc099408c, esp = 0xef32ba24, ebp = 0xef32ba84 --- lf_advlockasync(ef32ba9c,c7f4356c,100000,0,c0fa9940,...) at lf_advlockasync+0xcfc lf_advlock(ef32bbd0,c7f4356c,100000,0,1,...) at lf_advlock+0x55 vop_stdadvlock(ef32bbd0,c0ed9aa5,c7774b28,c7774b28,c7f43414,...) at vop_stdadvlock+0xb5 VOP_ADVLOCK_APV(c0fbb340,ef32bbd0,257,1a8,3,...) at VOP_ADVLOCK_APV+0xd6 kern_fcntl(c7d0a000,3,c,ef32bc10,62ba8,...) at kern_fcntl+0x9a2 fcntl(c7d0a000,ef32bcec,ef32bd28,c0e8ba9e,0,...) at fcntl+0x101 syscallenter(c7d0a000,ef32bce4,ef32bce4,0,c1020880,...) at syscallenter+0x263 syscall(ef32bd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (92, FreeBSD ELF32, fcntl), eip = 0x28183b6f, esp = 0xbfbfe6cc, ebp = 0xbfbfe708 --- Tracing command lockf2 pid 2382 tid 100080 td 0xc744e5c0 sched_switch(c744e5c0,0,602,18c,3f94d1f6,...) at sched_switch+0x3bc mi_switch(602,0,c0e8625f,cd,0,...) at mi_switch+0x219 critical_exit(c6fb9bc0,c0cdbd7d,ef1959a0,ef1959d0,0,...) at critical_exit+0xa8 intr_event_handle(c6e05980,ef1959e4,c744e5c0,c7a24bc0,c8948ac0,...) at intr_event_handle+0x115 intr_execute_handlers(c6fb9bc0,ef1959e4,1,ef195a84,c0cbbd05,...) at intr_execute_handlers+0x49 lapic_handle_intr(33,ef1959e4) at lapic_handle_intr+0x36 Xapic_isr1() at Xapic_isr1+0x35 --- interrupt, eip = 0xc09940b0, esp = 0xef195a24, ebp = 0xef195a84 --- lf_advlockasync(ef195a9c,c7e0c980,100000,0,c0fa9940,...) at lf_advlockasync+0xd20 lf_advlock(ef195bd0,c7e0c980,100000,0,1,...) at lf_advlock+0x55 vop_stdadvlock(ef195bd0,c0ed9aa5,c74c0d90,c74c0d90,c7e0c828,...) at vop_stdadvlock+0xb5 VOP_ADVLOCK_APV(c0fbb340,ef195bd0,257,1a8,3,...) at VOP_ADVLOCK_APV+0xd6 kern_fcntl(c744e5c0,3,c,ef195c10,64dda,...) at kern_fcntl+0x9a2 fcntl(c744e5c0,ef195cec,ef195d28,c0e8ba9e,0,...) at fcntl+0x101 syscallenter(c744e5c0,ef195ce4,ef195ce4,0,c101fb80,...) at syscallenter+0x263 syscall(ef195d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (92, FreeBSD ELF32, fcntl), eip = 0x28183b6f, esp = 0xbfbfe6cc, ebp = 0xbfbfe708 --- Tracing command creat pid 2381 tid 100210 td 0xc74a1000 sched_switch(c74a1000,0,104,191,3c9e94f0,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c74a1000,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e074cee0,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e074cee0,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,200e0,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,200e0,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,200e0,0,4000,0,...) at bread+0x4c ffs_update(c7d3bc3c,1,c0ebb839,163,0,...) at ffs_update+0x172 ffs_syncvnode(c7d3bc3c,1,c0eb84fc,ac0,c8c8f89c,...) at ffs_syncvnode+0x48f softdep_prelink(c118ef28,0,c0eb84fc,1028,81b0,...) at softdep_prelink+0xe7 softdep_setup_create(c7eef5e4,c8c8f89c,c7dc5d00,0,200,...) at softdep_setup_create+0x8f ufs_makeinode(ef3d8ba4,c0fbb840,ef3d8b00,ef3d8a5c,c0cf5c55,...) at ufs_makeinode+0x22d ufs_create(ef3d8b00,c0ed9ebb,0,0,ef3d8b78,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb340,ef3d8b00,ef3d8ba4,ef3d8a98,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef3d8b78,ef3d8c2c,1b0,0,c7dc5d00,...) at vn_open_cred+0x205 vn_open(ef3d8b78,ef3d8c2c,1b0,c74311c0,0,...) at vn_open+0x3b kern_openat(c74a1000,ffffff9c,bfbfe6b8,0,602,...) at kern_openat+0x12f kern_open(c74a1000,bfbfe6b8,0,601,1b0,...) at kern_open+0x35 open(c74a1000,ef3d8cec,ef3d8d28,c0e8ba9e,0,...) at open+0x30 syscallenter(c74a1000,ef3d8ce4,ef3d8ce4,0,c101f500,...) at syscallenter+0x263 syscall(ef3d8d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x28186683, esp = 0xbfbfe66c, ebp = 0xbfbfe688 --- Tracing command creat pid 2380 tid 100209 td 0xc74a12e0 sched_switch(c74a12e0,0,104,191,3cb0a759,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c74a12e0,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(c8137058,60,c0e7c750,4,0,...) at sleepq_wait+0x63 __lockmgr_args(c8137058,80100,c81370c4,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef3d4738,c09f23db,c0e941d7,80100,c8137000,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb340,ef3d4738,c74a1390,c0fd6300,c8137000,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c8137000,80100,c0e94e72,856,4,...) at _vn_lock+0x78 vget(c8137000,80100,c74a12e0,50,0,...) at vget+0xbb vfs_hash_get(c77712d4,21f3,80000,c74a12e0,ef3d4910,...) at vfs_hash_get+0xed ffs_vgetf(c77712d4,21f3,80000,ef3d4910,0,...) at ffs_vgetf+0x49 ffs_vget(c77712d4,21f3,80000,ef3d4910,c0bb1940,...) at ffs_vget+0x2e ffs_valloc(c7e0cc3c,81b0,c7dc5d00,ef3d4910,200,...) at ffs_valloc+0x500 ufs_makeinode(ef3d4ba4,c0fbb840,ef3d4b00,ef3d4a5c,c0cf5c55,...) at ufs_makeinode+0xc3 ufs_create(ef3d4b00,c0ed9ebb,0,0,ef3d4b78,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb340,ef3d4b00,ef3d4ba4,ef3d4a98,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef3d4b78,ef3d4c2c,1b0,0,c7dc5d00,...) at vn_open_cred+0x205 vn_open(ef3d4b78,ef3d4c2c,1b0,c7a971f8,0,...) at vn_open+0x3b kern_openat(c74a12e0,ffffff9c,bfbfe6b8,0,602,...) at kern_openat+0x12f kern_open(c74a12e0,bfbfe6b8,0,601,1b0,...) at kern_open+0x35 open(c74a12e0,ef3d4cec,ef3d4d28,c0e8ba9e,0,...) at open+0x30 syscallenter(c74a12e0,ef3d4ce4,ef3d4ce4,0,c1020200,...) at syscallenter+0x263 syscall(ef3d4d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x28186683, esp = 0xbfbfe66c, ebp = 0xbfbfe688 --- Tracing command lockf2 pid 2379 tid 100178 td 0xc7e67b80 sched_switch(c7e67b80,0,104,191,1df45578,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7e67b80,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7e0eaf0,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7e0eaf0,c7e0eb78,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c7e67b80,94e,ef362c44,0,0,...) at kern_wait+0xbe6 wait4(c7e67b80,ef362cec,281a9d08,1,0,...) at wait4+0x3b syscallenter(c7e67b80,ef362ce4,c0cd2d3d,c1010f70,0,...) at syscallenter+0x263 syscall(ef362d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2810493b, esp = 0xbfbfe71c, ebp = 0xbfbfe738 --- Tracing command creat pid 2378 tid 100208 td 0xc74a15c0 sched_switch(c74a15c0,0,104,191,3cb9c937,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c74a15c0,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e074cd40,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e074cd40,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,200c0,0,1000,0,...) at getblk+0x167 breadn(c7e0bd98,200c0,0,1000,0,...) at breadn+0x44 bread(c7e0bd98,200c0,0,1000,0,...) at bread+0x4c ffs_freefile(c7004700,c7345800,c7e0bd98,223f,81b0,...) at ffs_freefile+0x1c0 handle_workitem_freefile(c118ef28,0,c0eb84fc,1a47,ef3d0a10,...) at handle_workitem_freefile+0x120 softdep_freefile(c8b28570,223f,81b0,c0eb84fc,210f,...) at softdep_freefile+0x8ee ffs_vfree(c8b28570,223f,81b0,ef3d0a84,c0cf1395,...) at ffs_vfree+0x2e ufs_inactive(ef3d0ad4,c0ed93cb,c8b28634,c8b28634,c8b28570,...) at ufs_inactive+0x2d5 VOP_INACTIVE_APV(c0fbb340,ef3d0ad4,c0e94e72,94e,c0fd62c0,...) at VOP_INACTIVE_APV+0xc5 vinactive(c0fbb340,ef3d0b08,c0e94e72,8a5,0,...) at vinactive+0xb1 vputx(ef3d0c20,c0a47c0d,c8b28570,ffffffdf,c8b28570,...) at vputx+0x36c vput(c8b28570,ffffffdf,c8b28570,ef3d0bd8,c15a9000,...) at vput+0x10 kern_unlinkat(c74a15c0,ffffff9c,bfbfe6b8,0,0,...) at kern_unlinkat+0x23d kern_unlink(c74a15c0,bfbfe6b8,0,ef3d0c7c,c09eada3,...) at kern_unlink+0x2f unlink(c74a15c0,ef3d0cec,ef3d0d28,c0e8ba9e,0,...) at unlink+0x22 syscallenter(c74a15c0,ef3d0ce4,ef3d0ce4,0,c1020880,...) at syscallenter+0x263 syscall(ef3d0d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe68c, ebp = 0xbfbfe748 --- Tracing command creat pid 2377 tid 100207 td 0xc74a18a0 sched_switch(c74a18a0,0,104,191,3caf4207,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c74a18a0,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e074cee0,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e074cee0,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,200e0,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,200e0,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,200e0,0,4000,0,...) at bread+0x4c ffs_update(c7aa8d98,1,c0ebb839,163,0,...) at ffs_update+0x172 ffs_syncvnode(c7aa8d98,1,c0eb84fc,ac0,c81ab414,...) at ffs_syncvnode+0x48f softdep_prelink(c118ef28,0,c0eb84fc,1028,81b0,...) at softdep_prelink+0xe7 softdep_setup_create(c7d777b4,c81ab414,c7dc5d00,0,200,...) at softdep_setup_create+0x8f ufs_makeinode(ef3ccba4,c0fbb840,ef3ccb00,ef3cca5c,c0cf5c55,...) at ufs_makeinode+0x22d ufs_create(ef3ccb00,c0ed9ebb,0,0,ef3ccb78,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb340,ef3ccb00,ef3ccba4,ef3cca98,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef3ccb78,ef3ccc2c,1b0,0,c7dc5d00,...) at vn_open_cred+0x205 vn_open(ef3ccb78,ef3ccc2c,1b0,c7a978f8,0,...) at vn_open+0x3b kern_openat(c74a18a0,ffffff9c,bfbfe6b8,0,602,...) at kern_openat+0x12f kern_open(c74a18a0,bfbfe6b8,0,601,1b0,...) at kern_open+0x35 open(c74a18a0,ef3cccec,ef3ccd28,c0e8ba9e,0,...) at open+0x30 syscallenter(c74a18a0,ef3ccce4,ef3ccce4,0,c1020880,...) at syscallenter+0x263 syscall(ef3ccd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x28186683, esp = 0xbfbfe66c, ebp = 0xbfbfe688 --- Tracing command creat pid 2376 tid 100206 td 0xc74a1b80 sched_switch(c74a1b80,0,104,191,3fc9777b,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c74a1b80,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e074cd40,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e074cd40,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,200c0,0,1000,0,...) at getblk+0x167 breadn(c7e0bd98,200c0,0,1000,0,...) at breadn+0x44 bread(c7e0bd98,200c0,0,1000,0,...) at bread+0x4c ffs_freefile(c7004700,c7345800,c7e0bd98,224a,81b0,...) at ffs_freefile+0x1c0 handle_workitem_freefile(c118ef28,0,c0eb84fc,1a47,ef3c8a10,...) at handle_workitem_freefile+0x120 softdep_freefile(c8e6115c,224a,81b0,c0eb84fc,210f,...) at softdep_freefile+0x8ee ffs_vfree(c8e6115c,224a,81b0,ef3c8a84,c0cf1395,...) at ffs_vfree+0x2e ufs_inactive(ef3c8ad4,c0ed93cb,c8e61220,c8e61220,c8e6115c,...) at ufs_inactive+0x2d5 VOP_INACTIVE_APV(c0fbb340,ef3c8ad4,c0e94e72,94e,c0fd62c0,...) at VOP_INACTIVE_APV+0xc5 vinactive(c0fbb340,ef3c8b08,c0e94e72,8a5,0,...) at vinactive+0xb1 vputx(ef3c8c20,c0a47c0d,c8e6115c,ffffffdf,c8e6115c,...) at vputx+0x36c vput(c8e6115c,ffffffdf,c8e6115c,ef3c8bd8,c15a9000,...) at vput+0x10 kern_unlinkat(c74a1b80,ffffff9c,bfbfe6b8,0,0,...) at kern_unlinkat+0x23d kern_unlink(c74a1b80,bfbfe6b8,0,ef3c8c7c,c09eada3,...) at kern_unlink+0x2f unlink(c74a1b80,ef3c8cec,ef3c8d28,c0e8ba9e,0,...) at unlink+0x22 syscallenter(c74a1b80,ef3c8ce4,ef3c8ce4,0,0,...) at syscallenter+0x263 syscall(ef3c8d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe68c, ebp = 0xbfbfe748 --- Tracing command creat pid 2375 tid 100205 td 0xc74a5000 sched_switch(c74a5000,0,104,191,3cafee72,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c74a5000,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e07692a0,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e07692a0,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,201c0,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,201c0,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,201c0,0,4000,0,...) at bread+0x4c ffs_update(c8137000,0,81b0,ef3c4a84,c0cf1395,...) at ffs_update+0x172 ufs_inactive(ef3c4ad4,c0ed93cb,c81370c4,c81370c4,c8137000,...) at ufs_inactive+0x34a VOP_INACTIVE_APV(c0fbb340,ef3c4ad4,c0e94e72,94e,c0fd62c0,...) at VOP_INACTIVE_APV+0xc5 vinactive(c0fbb340,ef3c4b08,c0e94e72,8a5,0,...) at vinactive+0xb1 vputx(ef3c4c20,c0a47c0d,c8137000,ffffffdf,c8137000,...) at vputx+0x36c vput(c8137000,ffffffdf,c8137000,ef3c4bd8,c15a9000,...) at vput+0x10 kern_unlinkat(c74a5000,ffffff9c,bfbfe6b8,0,0,...) at kern_unlinkat+0x23d kern_unlink(c74a5000,bfbfe6b8,0,ef3c4c7c,c09eada3,...) at kern_unlink+0x2f unlink(c74a5000,ef3c4cec,ef3c4d28,c0e8ba9e,0,...) at unlink+0x22 syscallenter(c74a5000,ef3c4ce4,ef3c4ce4,0,c1020880,...) at syscallenter+0x263 syscall(ef3c4d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe68c, ebp = 0xbfbfe748 --- Tracing command creat pid 2374 tid 100181 td 0xc7e672e0 sched_switch(c7e672e0,0,104,191,3cb053d4,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7e672e0,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e074cd40,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e074cd40,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,200c0,0,1000,0,...) at getblk+0x167 breadn(c7e0bd98,200c0,0,1000,0,...) at breadn+0x44 bread(c7e0bd98,200c0,0,1000,0,...) at bread+0x4c ffs_freefile(c7004700,c7345800,c7e0bd98,2242,81b0,...) at ffs_freefile+0x1c0 handle_workitem_freefile(c118ef28,0,c0eb84fc,1a47,ef36ba10,...) at handle_workitem_freefile+0x120 softdep_freefile(c8beb000,2242,81b0,c0eb84fc,210f,...) at softdep_freefile+0x8ee ffs_vfree(c8beb000,2242,81b0,ef36ba84,c0cf1395,...) at ffs_vfree+0x2e ufs_inactive(ef36bad4,c0ed93cb,c8beb0c4,c8beb0c4,c8beb000,...) at ufs_inactive+0x2d5 VOP_INACTIVE_APV(c0fbb340,ef36bad4,c0e94e72,94e,c0fd62c0,...) at VOP_INACTIVE_APV+0xc5 vinactive(c0fbb340,ef36bb08,c0e94e72,8a5,0,...) at vinactive+0xb1 vputx(ef36bc20,c0a47c0d,c8beb000,ffffffdf,c8beb000,...) at vputx+0x36c vput(c8beb000,ffffffdf,c8beb000,ef36bbd8,c15a9000,...) at vput+0x10 kern_unlinkat(c7e672e0,ffffff9c,bfbfe6b8,0,0,...) at kern_unlinkat+0x23d kern_unlink(c7e672e0,bfbfe6b8,0,ef36bc7c,c09eada3,...) at kern_unlink+0x2f unlink(c7e672e0,ef36bcec,ef36bd28,c0e8ba9e,0,...) at unlink+0x22 syscallenter(c7e672e0,ef36bce4,ef36bce4,0,c101f500,...) at syscallenter+0x263 syscall(ef36bd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe68c, ebp = 0xbfbfe748 --- Tracing command creat pid 2373 tid 100180 td 0xc7e675c0 sched_switch(c7e675c0,0,104,191,3fc46b5c,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7e675c0,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e076e8c0,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e076e8c0,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,20200,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,20200,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,20200,0,4000,0,...) at bread+0x4c ffs_vgetf(c77712d4,2249,80000,ef368910,0,...) at ffs_vgetf+0x3ab ffs_vget(c77712d4,2249,80000,ef368910,c0bb1940,...) at ffs_vget+0x2e ffs_valloc(c7d3a15c,81b0,c7dc5d00,ef368910,200,...) at ffs_valloc+0x500 ufs_makeinode(ef368ba4,c0fbb840,ef368b00,ef368a5c,c0cf5c55,...) at ufs_makeinode+0xc3 ufs_create(ef368b00,c0ed9ebb,0,0,ef368b78,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb340,ef368b00,ef368ba4,ef368a98,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef368b78,ef368c2c,1b0,0,c7dc5d00,...) at vn_open_cred+0x205 vn_open(ef368b78,ef368c2c,1b0,c7774888,0,...) at vn_open+0x3b kern_openat(c7e675c0,ffffff9c,bfbfe6b8,0,602,...) at kern_openat+0x12f kern_open(c7e675c0,bfbfe6b8,0,601,1b0,...) at kern_open+0x35 open(c7e675c0,ef368cec,ef368d28,c0e8ba9e,0,...) at open+0x30 syscallenter(c7e675c0,ef368ce4,ef368ce4,0,0,...) at syscallenter+0x263 syscall(ef368d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x28186683, esp = 0xbfbfe66c, ebp = 0xbfbfe688 --- Tracing command creat pid 2372 tid 100179 td 0xc7e678a0 sched_switch(c7e678a0,0,104,191,3c9eae9f,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7e678a0,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e074cee0,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e074cee0,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,200e0,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,200e0,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,200e0,0,4000,0,...) at bread+0x4c ffs_update(c8e6c15c,0,c0eb84fc,2286,1,...) at ffs_update+0x172 handle_workitem_remove(c118ef28,0,c0eb84fc,1f40,c877b300,...) at handle_workitem_remove+0x4d3 softdep_setup_remove(e0751600,c7d7789c,c832fe0c,0,ef365ac4,...) at softdep_setup_remove+0x1ab ufs_dirremove(c7d3b570,c832fe0c,500800c,0,c7d3b570,...) at ufs_dirremove+0x1ce ufs_remove(ef365c00,c0ed9dae,0,0,c8e6c15c,...) at ufs_remove+0x6e VOP_REMOVE_APV(c0fbb340,ef365c00,c8e6c15c,ef365bd8,c15a9000,...) at VOP_REMOVE_APV+0xf6 kern_unlinkat(c7e678a0,ffffff9c,bfbfe6b8,0,0,...) at kern_unlinkat+0x1fb kern_unlink(c7e678a0,bfbfe6b8,0,ef365c7c,c09eada3,...) at kern_unlink+0x2f unlink(c7e678a0,ef365cec,ef365d28,c0e8ba9e,0,...) at unlink+0x22 syscallenter(c7e678a0,ef365ce4,ef365ce4,0,c1020200,...) at syscallenter+0x263 syscall(ef365d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe68c, ebp = 0xbfbfe748 --- Tracing command creat pid 2371 tid 100169 td 0xc7866000 sched_switch(c7866000,0,104,191,3fc9c3f2,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7866000,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e07688e0,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e07688e0,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,20180,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,20180,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,20180,0,4000,0,...) at bread+0x4c ffs_update(c8133c3c,0,81b0,ef347a84,c0cf1395,...) at ffs_update+0x172 ufs_inactive(ef347ad4,c0ed93cb,c8133d00,c8133d00,c8133c3c,...) at ufs_inactive+0x34a VOP_INACTIVE_APV(c0fbb340,ef347ad4,c0e94e72,94e,c0fd62c0,...) at VOP_INACTIVE_APV+0xc5 vinactive(c0fbb340,ef347b08,c0e94e72,8a5,0,...) at vinactive+0xb1 vputx(ef347c20,c0a47c0d,c8133c3c,ffffffdf,c8133c3c,...) at vputx+0x36c vput(c8133c3c,ffffffdf,c8133c3c,ef347bd8,c15a9000,...) at vput+0x10 kern_unlinkat(c7866000,ffffff9c,bfbfe6b8,0,0,...) at kern_unlinkat+0x23d kern_unlink(c7866000,bfbfe6b8,0,ef347c7c,c09eada3,...) at kern_unlink+0x2f unlink(c7866000,ef347cec,ef347d28,c0e8ba9e,0,...) at unlink+0x22 syscallenter(c7866000,ef347ce4,ef347ce4,0,c101f500,...) at syscallenter+0x263 syscall(ef347d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe68c, ebp = 0xbfbfe748 --- Tracing command creat pid 2370 tid 100173 td 0xc78652e0 sched_switch(c78652e0,0,104,191,3683cf6e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c78652e0,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e074cee0,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e074cee0,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,200e0,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,200e0,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,200e0,0,4000,0,...) at bread+0x4c ffs_update(c7d25ae0,1,c0ebb839,163,0,...) at ffs_update+0x172 ffs_syncvnode(c7d25ae0,1,c0eb84fc,ac0,c8f11a6c,...) at ffs_syncvnode+0x48f softdep_prelink(c118ef28,0,c0eb84fc,1028,81b0,...) at softdep_prelink+0xe7 softdep_setup_create(c7eef740,c8f11a6c,c7dc5d00,0,200,...) at softdep_setup_create+0x8f ufs_makeinode(ef353ba4,c0fbb840,ef353b00,ef353a5c,c0cf5c55,...) at ufs_makeinode+0x22d ufs_create(ef353b00,c0ed9ebb,0,0,ef353b78,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb340,ef353b00,ef353ba4,ef353a98,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef353b78,ef353c2c,1b0,0,c7dc5d00,...) at vn_open_cred+0x205 vn_open(ef353b78,ef353c2c,1b0,c7774b98,0,...) at vn_open+0x3b kern_openat(c78652e0,ffffff9c,bfbfe6b8,0,602,...) at kern_openat+0x12f kern_open(c78652e0,bfbfe6b8,0,601,1b0,...) at kern_open+0x35 open(c78652e0,ef353cec,ef353d28,c0e8ba9e,0,...) at open+0x30 syscallenter(c78652e0,ef353ce4,ef353ce4,0,c1020880,...) at syscallenter+0x263 syscall(ef353d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x28186683, esp = 0xbfbfe66c, ebp = 0xbfbfe688 --- Tracing command creat pid 2369 tid 100172 td 0xc78655c0 sched_switch(c78655c0,0,104,191,36741f76,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c78655c0,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e074cee0,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e074cee0,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,200e0,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,200e0,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,200e0,0,4000,0,...) at bread+0x4c ffs_update(c7d25414,1,c0ebb839,163,0,...) at ffs_update+0x172 ffs_syncvnode(c7d25414,1,c0eb84fc,ac0,c7eef828,...) at ffs_syncvnode+0x48f softdep_prelink(c118ef28,0,c0eb84fc,10c5,c8dc16cc,...) at softdep_prelink+0xa3 softdep_setup_unlink(c7eef828,c8dc16cc,c1159820,c7865670,c0fa05f8,...) at softdep_setup_unlink+0x54 ufs_dirremove(c7d25414,c8dc16cc,500800c,0,c7d25414,...) at ufs_dirremove+0x32 ufs_remove(ef350c00,c0ed9dae,0,0,c8f83000,...) at ufs_remove+0x6e VOP_REMOVE_APV(c0fbb340,ef350c00,c8f83000,ef350bd8,c15a9000,...) at VOP_REMOVE_APV+0xf6 kern_unlinkat(c78655c0,ffffff9c,bfbfe6b8,0,0,...) at kern_unlinkat+0x1fb kern_unlink(c78655c0,bfbfe6b8,0,ef350c7c,c09eada3,...) at kern_unlink+0x2f unlink(c78655c0,ef350cec,ef350d28,c0e8ba9e,0,...) at unlink+0x22 syscallenter(c78655c0,ef350ce4,ef350ce4,0,c1020200,...) at syscallenter+0x263 syscall(ef350d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe68c, ebp = 0xbfbfe748 --- Tracing command creat pid 2368 tid 100171 td 0xc78658a0 sched_switch(c78658a0,0,104,191,3fc53d5e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c78658a0,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e0767f20,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e0767f20,81900,c7a20a7c,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7a20984,0,0,800,0,...) at getblk+0x167 breadn(c7a20984,0,0,800,0,...) at breadn+0x44 bread(c7a20984,0,0,800,0,...) at bread+0x4c ffs_blkatoff(c7a20984,0,0,0,ef34d8d4,...) at ffs_blkatoff+0xd1 ufs_lookup_ino(c7a20984,ef34db90,ef34dba4,0,ef34d918,...) at ufs_lookup_ino+0x38e ufs_lookup(ef34d938,c0ed99b7,c7a20984,c7a20984,ef34dba4,...) at ufs_lookup+0x2a VOP_CACHEDLOOKUP_APV(c0fbb340,ef34d938,ef34dba4,ef34db90,c7dc5d00,...) at VOP_CACHEDLOOKUP_APV+0xc5 vfs_cache_lookup(ef34d9cc,c0e95be3,ef34db78,80000,ef34db78,...) at vfs_cache_lookup+0xd6 VOP_LOOKUP_APV(c0fbb340,ef34d9cc,c0e942bd,2a6,ef34db90,...) at VOP_LOOKUP_APV+0xe5 lookup(ef34db78,c0e942bd,ee,c9,ffffff9c,...) at lookup+0x67b namei(ef34db78,ef34dac4,c0e7f4e9,c7e10344,0,...) at namei+0x592 vn_open_cred(ef34db78,ef34dc2c,1b0,0,c7dc5d00,...) at vn_open_cred+0x90 vn_open(ef34db78,ef34dc2c,1b0,c7a97ab8,0,...) at vn_open+0x3b kern_openat(c78658a0,ffffff9c,bfbfe6b8,0,602,...) at kern_openat+0x12f kern_open(c78658a0,bfbfe6b8,0,601,1b0,...) at kern_open+0x35 open(c78658a0,ef34dcec,ef34dd28,c0e8ba9e,0,...) at open+0x30 syscallenter(c78658a0,ef34dce4,ef34dce4,0,0,...) at syscallenter+0x263 syscall(ef34dd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x28186683, esp = 0xbfbfe66c, ebp = 0xbfbfe688 --- Tracing command creat pid 2367 tid 100119 td 0xc780fb80 sched_switch(c780fb80,0,104,191,3cb01ff3,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c780fb80,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e074cd40,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e074cd40,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,200c0,0,1000,0,...) at getblk+0x167 breadn(c7e0bd98,200c0,0,1000,0,...) at breadn+0x44 bread(c7e0bd98,200c0,0,1000,0,...) at bread+0x4c ffs_nodealloccg(c7d77910,2,2010,0,81b0,...) at ffs_nodealloccg+0x113 ffs_hashalloc(2010,0,81b0,0,c0bb1940,...) at ffs_hashalloc+0x85 ffs_valloc(c7d74ae0,81b0,c7dc5d00,ef249910,200,...) at ffs_valloc+0x4d3 ufs_makeinode(ef249ba4,c0fbb840,ef249b00,ef249a5c,c0cf5c55,...) at ufs_makeinode+0xc3 ufs_create(ef249b00,c0ed9ebb,0,0,ef249b78,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb340,ef249b00,ef249ba4,ef249a98,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef249b78,ef249c2c,1b0,0,c7dc5d00,...) at vn_open_cred+0x205 vn_open(ef249b78,ef249c2c,1b0,c7430700,0,...) at vn_open+0x3b kern_openat(c780fb80,ffffff9c,bfbfe6b8,0,602,...) at kern_openat+0x12f kern_open(c780fb80,bfbfe6b8,0,601,1b0,...) at kern_open+0x35 open(c780fb80,ef249cec,ef249d28,c0e8ba9e,0,...) at open+0x30 syscallenter(c780fb80,ef249ce4,ef249ce4,0,c101f500,...) at syscallenter+0x263 syscall(ef249d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x28186683, esp = 0xbfbfe66c, ebp = 0xbfbfe688 --- Tracing command creat pid 2366 tid 100204 td 0xc7ef52e0 sched_switch(c7ef52e0,0,104,191,1e1f74ba,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7ef52e0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7eed578,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7eed578,c7eed600,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c7ef52e0,93f,ef3bec44,0,0,...) at kern_wait+0xbe6 wait4(c7ef52e0,ef3becec,281a9d08,1,0,...) at wait4+0x3b syscallenter(c7ef52e0,ef3bece4,c0cd2d3d,c1010f70,0,...) at syscallenter+0x263 syscall(ef3bed28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2810493b, esp = 0xbfbfe72c, ebp = 0xbfbfe748 --- Tracing command symlink pid 2365 tid 100146 td 0xc74a58a0 sched_switch(c74a58a0,0,104,191,3fb3c8ec,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c74a58a0,0,c0e8b160,268,0,...) at sleepq_switch+0x162 sleepq_wait(e082b060,5c,c0e9287b,0,0,...) at sleepq_wait+0x63 _sleep(e082b060,c6d751a0,5c,c0e9287b,0,...) at _sleep+0x372 bwait(e082b060,5c,c0e9287b,e082b060,ef2dc7a0,...) at bwait+0x6f bufwait(e082b060,e082b060,df,e082b060,c8cd0a6c,...) at bufwait+0x48 bufwrite(e082b060,0,c0ebb22c,767,0) at bufwrite+0x165 ffs_bufwrite(e082b060,c8caa400,100,4000,0,...) at ffs_bufwrite+0x290 ffs_update(c8d26828,1,ef2dc890,c0beec30,2,...) at ffs_update+0x28c ffs_truncate(c8d26828,0,0,c00,0,...) at ffs_truncate+0x5e0 ufs_inactive(ef2dcad4,c0ed93cb,c8d268ec,c8d268ec,c8d26828,...) at ufs_inactive+0x21d VOP_INACTIVE_APV(c0fbb340,ef2dcad4,c0e94e72,94e,c0fd62c0,...) at VOP_INACTIVE_APV+0xc5 vinactive(c0fbb340,ef2dcb08,c0e94e72,8a5,0,...) at vinactive+0xb1 vputx(ef2dcc20,c0a47c0d,c8d26828,ffffffdf,c8d26828,...) at vputx+0x36c vput(c8d26828,ffffffdf,c8d26828,ef2dcbd8,c11b3820,...) at vput+0x10 kern_unlinkat(c74a58a0,ffffff9c,bfbfe6a8,0,0,...) at kern_unlinkat+0x23d kern_unlink(c74a58a0,bfbfe6a8,0,ef2dcc7c,c09eada3,...) at kern_unlink+0x2f unlink(c74a58a0,ef2dccec,ef2dcd28,c0e8ba9e,0,...) at unlink+0x22 syscallenter(c74a58a0,ef2dcce4,ef2dcce4,0,c101f500,...) at syscallenter+0x263 syscall(ef2dcd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe67c, ebp = 0xbfbfe738 --- Tracing command symlink pid 2364 tid 100095 td 0xc744d5c0 sched_switch(c744d5c0,0,104,191,3fd43f34,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c744d5c0,0,c0e8b160,268,0,...) at sleepq_switch+0x162 sleepq_wait(e0899ba0,5c,c0e9287b,0,0,...) at sleepq_wait+0x63 _sleep(e0899ba0,c6d754e8,5c,c0e9287b,0,...) at _sleep+0x372 bwait(e0899ba0,5c,c0e9287b,e0899ba0,ef1e46dc,...) at bwait+0x6f bufwait(e0899ba0,e0899ba0,df,e0899ba0,e4e54080,...) at bufwait+0x48 bufwrite(e0899ba0,0,c0ebb22c,767,0) at bufwrite+0x165 ffs_bufwrite(e0899ba0,0,c0eb84fc,c25,c09f3266,...) at ffs_bufwrite+0x290 softdep_process_journal(7bf,2d00,c77712d4,ef1e47b4,c87409f8,...) at softdep_process_journal+0x7a8 jwait(ef1e47b4,0,c0eb84fc,2b02,c77712d4,...) at jwait+0x2a softdep_update_inodeblock(c87409f8,e076c980,1,4000,0,...) at softdep_update_inodeblock+0x18e ffs_update(c8735c3c,1,ef1e4890,c0beec30,2,...) at ffs_update+0x1aa ffs_truncate(c8735c3c,0,0,c00,0,...) at ffs_truncate+0x5e0 ufs_inactive(ef1e4ad4,c0ed93cb,c8735d00,c8735d00,c8735c3c,...) at ufs_inactive+0x21d VOP_INACTIVE_APV(c0fbb340,ef1e4ad4,c0e94e72,94e,c0fd62c0,...) at VOP_INACTIVE_APV+0xc5 vinactive(c0fbb340,ef1e4b08,c0e94e72,8a5,0,...) at vinactive+0xb1 vputx(ef1e4c20,c0a47c0d,c8735c3c,ffffffdf,c8735c3c,...) at vputx+0x36c vput(c8735c3c,ffffffdf,c8735c3c,ef1e4bd8,99bb2788,...) at vput+0x10 kern_unlinkat(c744d5c0,ffffff9c,bfbfe6a8,0,0,...) at kern_unlinkat+0x23d kern_unlink(c744d5c0,bfbfe6a8,0,ef1e4c7c,c09eada3,...) at kern_unlink+0x2f unlink(c744d5c0,ef1e4cec,ef1e4d28,c0e8ba9e,0,...) at unlink+0x22 syscallenter(c744d5c0,ef1e4ce4,ef1e4ce4,0,c1020880,...) at syscallenter+0x263 syscall(ef1e4d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe67c, ebp = 0xbfbfe738 --- Tracing command symlink pid 2363 tid 100121 td 0xc780f5c0 kdb_enter(c0e85a33,c0e85a33,c0eb8afc,ef24f7b0,2,...) at kdb_enter+0x3a panic(c0eb8afc,ef24f7fc,c0a27a40,e0750c40,ef24f7e4,...) at panic+0x134 softdep_deallocate_dependencies(e0750c40,ef24f7e4,c0a256b5,c6d756a0,0,...) at softdep_deallocate_dependencies+0x1b brelse(e0750c40,e0750c40,df,e0750c40,c7d25668,...) at brelse+0xb0 bufwrite(e0750c40,0,c0e924cb,a7a,60,...) at bufwrite+0x16f getblk(c7d25570,0,0,800,0,...) at getblk+0x29c breadn(c7d25570,0,0,800,0,...) at breadn+0x44 bread(c7d25570,0,0,800,0,...) at bread+0x4c ffs_blkatoff(c7d25570,0,0,0,ef24f990,...) at ffs_blkatoff+0xd1 ufs_lookup_ino(c7d25570,ef24fbb8,ef24fbcc,0,ef24f9d4,...) at ufs_lookup_ino+0x38e ufs_lookup(ef24f9f4,c0ed99b7,c7d25570,c7d25570,ef24fbcc,...) at ufs_lookup+0x2a VOP_CACHEDLOOKUP_APV(c0fbb340,ef24f9f4,ef24fbcc,ef24fbb8,c7dc5d00,...) at VOP_CACHEDLOOKUP_APV+0xc5 vfs_cache_lookup(ef24fa88,c0e95be3,ef24fba0,200000,ef24fba0,...) at vfs_cache_lookup+0xd6 VOP_LOOKUP_APV(c0fbb340,ef24fa88,c0e942bd,2a6,ef24fbb8,...) at VOP_LOOKUP_APV+0xe5 lookup(ef24fba0,c0e942bd,ee,c9,ffffff9c,...) at lookup+0x67b namei(ef24fba0,c74bf000,400,0,c74bf000,...) at namei+0x592 kern_symlinkat(c780f5c0,804b243,ffffff9c,bfbfe6a8,0,...) at kern_symlinkat+0xc5 kern_symlink(c780f5c0,804b243,bfbfe6a8,0,ef24fc7c,...) at kern_symlink+0x2e symlink(c780f5c0,ef24fcec,ef24fd28,c0e8ba9e,0,...) at symlink+0x29 syscallenter(c780f5c0,ef24fce4,ef24fce4,0,c101fb80,...) at syscallenter+0x263 syscall(ef24fd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (57, FreeBSD ELF32, symlink), eip = 0x280eebeb, esp = 0xbfbfe67c, ebp = 0xbfbfe738 --- Tracing command symlink pid 2362 tid 100203 td 0xc7ef55c0 sched_switch(c7ef55c0,0,207,18c,3fbc570b,...) at sched_switch+0x3bc mi_switch(207,0,c0e8ba5d,d4,c11e6100,...) at mi_switch+0x219 ast(ef3bad28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command symlink pid 2361 tid 100202 td 0xc7ef58a0 sched_switch(c7ef58a0,0,104,191,3c490b31,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c7ef58a0,0,c0e8b160,268,0,...) at sleepq_switch+0x162 sleepq_wait(e0826740,5c,c0e9287b,0,0,...) at sleepq_wait+0x63 _sleep(e0826740,c6d7559c,5c,c0e9287b,0,...) at _sleep+0x372 bwait(e0826740,5c,c0e9287b,e0826740,ef3b67a0,...) at bwait+0x6f bufwait(e0826740,e0826740,df,e0826740,c8bb20e8,...) at bufwait+0x48 bufwrite(e0826740,0,c0ebb22c,767,0) at bufwrite+0x165 ffs_bufwrite(e0826740,c8ba5b00,100,4000,0,...) at ffs_bufwrite+0x290 ffs_update(c8ba3d98,1,ef3b6890,c0beec30,2,...) at ffs_update+0x28c ffs_truncate(c8ba3d98,0,0,c00,0,...) at ffs_truncate+0x5e0 ufs_inactive(ef3b6ad4,c0ed93cb,c8ba3e5c,c8ba3e5c,c8ba3d98,...) at ufs_inactive+0x21d VOP_INACTIVE_APV(c0fbb340,ef3b6ad4,c0e94e72,94e,c0fd62c0,...) at VOP_INACTIVE_APV+0xc5 vinactive(c0fbb340,ef3b6b08,c0e94e72,8a5,0,...) at vinactive+0xb1 vputx(ef3b6c20,c0a47c0d,c8ba3d98,ffffffdf,c8ba3d98,...) at vputx+0x36c vput(c8ba3d98,ffffffdf,c8ba3d98,ef3b6bd8,1,...) at vput+0x10 kern_unlinkat(c7ef58a0,ffffff9c,bfbfe6a8,0,0,...) at kern_unlinkat+0x23d kern_unlink(c7ef58a0,bfbfe6a8,0,ef3b6c7c,c09eada3,...) at kern_unlink+0x2f unlink(c7ef58a0,ef3b6cec,ef3b6d28,c0e8ba9e,0,...) at unlink+0x22 syscallenter(c7ef58a0,ef3b6ce4,ef3b6ce4,0,c101f500,...) at syscallenter+0x263 syscall(ef3b6d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe67c, ebp = 0xbfbfe738 --- Tracing command symlink pid 2360 tid 100201 td 0xc7ef5b80 sched_switch(c7ef5b80,0,104,191,3caef0ed,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7ef5b80,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e08318c0,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e08318c0,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,30840,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,30840,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,30840,0,4000,0,...) at bread+0x4c ffs_update(c816f000,1,ef3b283c,c0beec30,2,...) at ffs_update+0x172 ffs_truncate(c816f000,0,0,c00,0,...) at ffs_truncate+0x5e0 ufs_inactive(ef3b2ad4,c0ed93cb,c816f0c4,c816f0c4,c816f000,...) at ufs_inactive+0x21d VOP_INACTIVE_APV(c0fbb340,ef3b2ad4,c0e94e72,94e,c0fd62c0,...) at VOP_INACTIVE_APV+0xc5 vinactive(c0fbb340,ef3b2b08,c0e94e72,8a5,0,...) at vinactive+0xb1 vputx(ef3b2c20,c0a47c0d,c816f000,ffffffdf,c816f000,...) at vputx+0x36c vput(c816f000,ffffffdf,c816f000,ef3b2bd8,ffffffff,...) at vput+0x10 kern_unlinkat(c7ef5b80,ffffff9c,bfbfe6a8,0,0,...) at kern_unlinkat+0x23d kern_unlink(c7ef5b80,bfbfe6a8,0,ef3b2c7c,c09eada3,...) at kern_unlink+0x2f unlink(c7ef5b80,ef3b2cec,c09cd78c,c1020230,0,...) at unlink+0x22 syscallenter(c7ef5b80,ef3b2ce4,ef3b2cc0,c09cfe08,c1020200,...) at syscallenter+0x263 syscall(ef3b2d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe67c, ebp = 0xbfbfe738 --- Tracing command symlink pid 2359 tid 100200 td 0xc7e688a0 sched_switch(c7e688a0,0,104,191,3fa518ab,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c7e688a0,0,c0e8b160,268,0,...) at sleepq_switch+0x162 sleepq_wait(e076d340,5c,c0e9287b,0,0,...) at sleepq_wait+0x63 _sleep(e076d340,c6d752a4,5c,c0e9287b,0,...) at _sleep+0x372 bwait(e076d340,5c,c0e9287b,e076d340,ef3ae6dc,...) at bwait+0x6f bufwait(e076d340,e076d340,df,e076d340,e2018140,...) at bufwait+0x48 bufwrite(e076d340,0,c0ebb22c,767,0) at bufwrite+0x165 ffs_bufwrite(e076d340,0,c0eb84fc,c25,c09f3266,...) at ffs_bufwrite+0x290 softdep_process_journal(7bf,13e1,c77712d4,ef3ae7b4,c8dff984,...) at softdep_process_journal+0x7a8 jwait(ef3ae7b4,0,c0eb84fc,2b02,c77712d4,...) at jwait+0x2a softdep_update_inodeblock(c8dff984,e08309c0,1,4000,0,...) at softdep_update_inodeblock+0x18e ffs_update(c8e1815c,1,ef3ae890,c0beec30,2,...) at ffs_update+0x1aa ffs_truncate(c8e1815c,0,0,c00,0,...) at ffs_truncate+0x5e0 ufs_inactive(ef3aead4,c0ed93cb,c8e18220,c8e18220,c8e1815c,...) at ufs_inactive+0x21d VOP_INACTIVE_APV(c0fbb340,ef3aead4,c0e94e72,94e,c0fd62c0,...) at VOP_INACTIVE_APV+0xc5 vinactive(c0fbb340,ef3aeb08,c0e94e72,8a5,0,...) at vinactive+0xb1 vputx(ef3aec20,c0a47c0d,c8e1815c,ffffffdf,c8e1815c,...) at vputx+0x36c vput(c8e1815c,ffffffdf,c8e1815c,ef3aebd8,ffffffff,...) at vput+0x10 kern_unlinkat(c7e688a0,ffffff9c,bfbfe6a8,0,0,...) at kern_unlinkat+0x23d kern_unlink(c7e688a0,bfbfe6a8,0,ef3aec7c,c09eada3,...) at kern_unlink+0x2f unlink(c7e688a0,ef3aecec,ef3aed28,c0e8ba9e,0,...) at unlink+0x22 syscallenter(c7e688a0,ef3aece4,ef3aece4,0,c101f500,...) at syscallenter+0x263 syscall(ef3aed28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe67c, ebp = 0xbfbfe738 --- Tracing command symlink pid 2358 tid 100137 td 0xc7821000 sched_switch(c7821000,0,104,191,1d4839c2,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7821000,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c78192bc,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c78192bc,c7819344,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c7821000,937,ef283c44,0,0,...) at kern_wait+0xbe6 wait4(c7821000,ef283cec,281a9d08,1,0,...) at wait4+0x3b syscallenter(c7821000,ef283ce4,c0cd2d3d,c1010f70,0,...) at syscallenter+0x263 syscall(ef283d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2810493b, esp = 0xbfbfe71c, ebp = 0xbfbfe738 --- Tracing command openat pid 2357 tid 100199 td 0xc7e68b80 sched_switch(c7e68b80,0,104,191,36afbdf7,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7e68b80,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e0752d20,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e0752d20,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,300e0,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,300e0,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,300e0,0,4000,0,...) at bread+0x4c ffs_vgetf(c77712d4,3030,80000,ef3aa92c,0,...) at ffs_vgetf+0x3ab ffs_vget(c77712d4,3030,80000,ef3aa92c,c0bb1940,...) at ffs_vget+0x2e ffs_valloc(c7df9ae0,81b0,c7dc5d00,ef3aa92c,200,...) at ffs_valloc+0x500 ufs_makeinode(ef3aabc0,c0fbb840,ef3aab1c,ef3aaa78,c0cf5c55,...) at ufs_makeinode+0xc3 ufs_create(ef3aab1c,c0ed9ebb,0,0,ef3aab94,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb340,ef3aab1c,ef3aabc0,ef3aaab4,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef3aab94,ef3aac48,1b0,0,c7dc5d00,...) at vn_open_cred+0x205 vn_open(ef3aab94,ef3aac48,1b0,c74305e8,c0e7f4e9,...) at vn_open+0x3b kern_openat(c7e68b80,3,bfbfe628,0,201,...) at kern_openat+0x12f openat(c7e68b80,ef3aacec,ef3aad28,c0e8ba9e,0,...) at openat+0x38 syscallenter(c7e68b80,ef3aace4,ef3aace4,0,c101f500,...) at syscallenter+0x263 syscall(ef3aad28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (499, FreeBSD ELF32, openat), eip = 0x281047db, esp = 0xbfbfe5fc, ebp = 0xbfbfe738 --- Tracing command openat pid 2356 tid 100198 td 0xc7eac000 sched_switch(c7eac000,0,207,18c,3fbc5987,...) at sched_switch+0x3bc mi_switch(207,0,c0e8ba5d,d4,c11e6100,...) at mi_switch+0x219 ast(ef3a6d28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command openat pid 2355 tid 100129 td 0xc7869b80 sched_switch(c7869b80,0,104,191,1c7f8db9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7869b80,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c781daf0,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c781daf0,c781db78,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c7869b80,934,ef267c44,0,0,...) at kern_wait+0xbe6 wait4(c7869b80,ef267cec,281a9d08,1,0,...) at wait4+0x3b syscallenter(c7869b80,ef267ce4,c0cd2d3d,c1010f70,0,...) at syscallenter+0x263 syscall(ef267d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2810493b, esp = 0xbfbfe71c, ebp = 0xbfbfe738 --- Tracing command lockf pid 2354 tid 100197 td 0xc7eac2e0 sched_switch(c7eac2e0,0,104,191,2e1876eb,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7eac2e0,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(c7d7c310,60,c0e7c750,4,0,...) at sleepq_wait+0x63 __lockmgr_args(c7d7c310,400400,c7d7c37c,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef3a2a28,c7d7c2b8,ef3a2a14,400400,c7d7c2b8,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb340,ef3a2a28,ef3a2a30,c0fd6300,c7d7c2b8,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7d7c2b8,400400,c0e942bd,2a6,ef3a2bc4,...) at _vn_lock+0x78 lookup(ef3a2bac,c0e942bd,ee,c9,ffffff9c,...) at lookup+0x604 namei(ef3a2bac,ef3a2b78,246,c6d5a0d0,c7eac390,...) at namei+0x592 kern_unlinkat(c7eac2e0,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(c7eac2e0,804cea0,0,ef3a2c7c,c09eada3,...) at kern_unlink+0x2f unlink(c7eac2e0,ef3a2cec,ef3a2d28,c0e8ba9e,0,...) at unlink+0x22 syscallenter(c7eac2e0,ef3a2ce4,ef3a2ce4,0,c1020200,...) at syscallenter+0x263 syscall(ef3a2d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 2353 tid 100196 td 0xc7eac5c0 sched_switch(c7eac5c0,0,104,191,2e7cb8dd,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7eac5c0,0,c0e8b160,268,c7d7c310,...) at sleepq_switch+0x162 sleepq_wait(c7d7c310,60,c0e7c750,4,1,...) at sleepq_wait+0x63 __lockmgr_args(c7d7c310,200400,c7d7c37c,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef39ea28,0,c6d5b1e0,200400,c7d7c2b8,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb340,ef39ea28,c7d7c37c,c0fd6300,c7d7c2b8,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7d7c2b8,200400,c0e942bd,1f5,ef39ea9c,...) at _vn_lock+0x78 lookup(ef39ebac,c0e942bd,ee,c9,ffffff9c,...) at lookup+0x106 namei(ef39ebac,ef39eb78,246,c6d5a0d0,c7eac670,...) at namei+0x592 kern_unlinkat(c7eac5c0,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(c7eac5c0,804cea0,0,ef39ec7c,c09eada3,...) at kern_unlink+0x2f unlink(c7eac5c0,ef39ecec,ef39ed28,c0e8ba9e,0,...) at unlink+0x22 syscallenter(c7eac5c0,ef39ece4,ef39ece4,0,c1020880,...) at syscallenter+0x263 syscall(ef39ed28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 2352 tid 100195 td 0xc7eac8a0 sched_switch(c7eac8a0,0,104,191,2e7ce66d,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7eac8a0,0,c0e8b160,268,c7d7c310,...) at sleepq_switch+0x162 sleepq_wait(c7d7c310,60,c0e7c750,4,1,...) at sleepq_wait+0x63 __lockmgr_args(c7d7c310,200400,c7d7c37c,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef39aa28,0,c6d5b1e0,200400,c7d7c2b8,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb340,ef39aa28,c7d7c37c,c0fd6300,c7d7c2b8,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7d7c2b8,200400,c0e942bd,1f5,ef39aa9c,...) at _vn_lock+0x78 lookup(ef39abac,c0e942bd,ee,c9,ffffff9c,...) at lookup+0x106 namei(ef39abac,ef39ab78,246,c6d5a0d0,c7eac950,...) at namei+0x592 kern_unlinkat(c7eac8a0,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(c7eac8a0,804cea0,0,ef39ac7c,c09eada3,...) at kern_unlink+0x2f unlink(c7eac8a0,ef39acec,ef39ad28,c0e8ba9e,0,...) at unlink+0x22 syscallenter(c7eac8a0,ef39ace4,ef39ace4,0,c1020200,...) at syscallenter+0x263 syscall(ef39ad28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 2351 tid 100194 td 0xc7eacb80 sched_switch(c7eacb80,0,104,191,2aad5535,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7eacb80,0,c0e8b160,268,c7d7c310,...) at sleepq_switch+0x162 sleepq_wait(c7d7c310,60,c0e7c750,4,1,...) at sleepq_wait+0x63 __lockmgr_args(c7d7c310,200400,c7d7c37c,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef396a28,0,c6d5b1e0,200400,c7d7c2b8,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb340,ef396a28,c7d7c37c,c0fd6300,c7d7c2b8,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7d7c2b8,200400,c0e942bd,1f5,ef396a9c,...) at _vn_lock+0x78 lookup(ef396bac,c0e942bd,ee,c9,ffffff9c,...) at lookup+0x106 namei(ef396bac,ef396b78,246,c6d5a0d0,c7eacc30,...) at namei+0x592 kern_unlinkat(c7eacb80,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(c7eacb80,804cea0,0,ef396c7c,c09eada3,...) at kern_unlink+0x2f unlink(c7eacb80,ef396cec,ef396d28,c0e8ba9e,0,...) at unlink+0x22 syscallenter(c7eacb80,ef396ce4,ef396ce4,0,0,...) at syscallenter+0x263 syscall(ef396d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 2350 tid 100193 td 0xc7ead000 sched_switch(c7ead000,0,104,191,2e7d008e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7ead000,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(c7d7c310,60,c0e7c750,4,0,...) at sleepq_wait+0x63 __lockmgr_args(c7d7c310,400400,c7d7c37c,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef392a28,c7d7c2b8,ef392a14,400400,c7d7c2b8,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb340,ef392a28,ef392a30,c0fd6300,c7d7c2b8,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7d7c2b8,400400,c0e942bd,2a6,ef392bc4,...) at _vn_lock+0x78 lookup(ef392bac,c0e942bd,ee,c9,ffffff9c,...) at lookup+0x604 namei(ef392bac,ef392b78,246,c6d5a0d0,c7ead0b0,...) at namei+0x592 kern_unlinkat(c7ead000,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(c7ead000,804cea0,0,ef392c7c,c09eada3,...) at kern_unlink+0x2f unlink(c7ead000,ef392cec,ef392d28,c0e8ba9e,0,...) at unlink+0x22 syscallenter(c7ead000,ef392ce4,ef392ce4,0,c1020200,...) at syscallenter+0x263 syscall(ef392d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183baf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 2349 tid 100192 td 0xc7ead2e0 sched_switch(c7ead2e0,0,104,191,3fb70100,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,74,...) at mi_switch+0x219 sleepq_switch(c7ead2e0,0,c0e8b160,1a7,74,...) at sleepq_switch+0x162 sleepq_catch_signals(ef38e9c8,c09e76a9,c102dda4,0,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c8976cc0,74,ef38ea08,100,0,...) at sleepq_wait_sig+0x17 _sleep(c8976cc0,c8938588,174,c0f9e680,0,...) at _sleep+0x35c lf_advlockasync(ef38ea9c,c8ab8980,4,0,c0fa9940,...) at lf_advlockasync+0xab1 lf_advlock(ef38ebd0,c8ab8980,4,0,1,...) at lf_advlock+0x55 vop_stdadvlock(ef38ebd0,c0ed9aa5,c7459498,c7459498,c8ab8828,...) at vop_stdadvlock+0xb5 VOP_ADVLOCK_APV(c0fbb340,ef38ebd0,c0e7f4e0,26d,3,...) at VOP_ADVLOCK_APV+0xd6 kern_fcntl(c7ead2e0,3,d,ef38ec10,0,...) at kern_fcntl+0x95f fcntl(c7ead2e0,ef38ecec,ef38ed28,c0e8ba9e,0,...) at fcntl+0x101 syscallenter(c7ead2e0,ef38ece4,ef38ece4,0,c101f500,...) at syscallenter+0x263 syscall(ef38ed28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (92, FreeBSD ELF32, fcntl), eip = 0x28183b6f, esp = 0xbfbfe6ac, ebp = 0xbfbfe6e8 --- Tracing command lockf pid 2348 tid 100191 td 0xc7ead5c0 sched_switch(c7ead5c0,0,104,191,3fb94467,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,74,...) at mi_switch+0x219 sleepq_switch(c7ead5c0,0,c0e8b160,1a7,74,...) at sleepq_switch+0x162 sleepq_catch_signals(ef38a9c8,c09e76a9,c102dedc,0,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c8967980,74,ef38aa08,100,0,...) at sleepq_wait_sig+0x17 _sleep(c8967980,c89656c8,174,c0f9e680,0,...) at _sleep+0x35c lf_advlockasync(ef38aa9c,c8763ef0,4,0,c0fa9940,...) at lf_advlockasync+0xab1 lf_advlock(ef38abd0,c8763ef0,4,0,1,...) at lf_advlock+0x55 vop_stdadvlock(ef38abd0,c0ed9aa5,c81e3460,c81e3460,c8763d98,...) at vop_stdadvlock+0xb5 VOP_ADVLOCK_APV(c0fbb340,ef38abd0,c0e7f4e0,26d,3,...) at VOP_ADVLOCK_APV+0xd6 kern_fcntl(c7ead5c0,3,d,ef38ac10,0,...) at kern_fcntl+0x95f fcntl(c7ead5c0,ef38acec,ef38ad28,c0e8ba9e,0,...) at fcntl+0x101 syscallenter(c7ead5c0,ef38ace4,ef38ace4,0,c1020880,...) at syscallenter+0x263 syscall(ef38ad28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (92, FreeBSD ELF32, fcntl), eip = 0x28183b6f, esp = 0xbfbfe6ac, ebp = 0xbfbfe6e8 --- Tracing command lockf pid 2347 tid 100147 td 0xc74a55c0 sched_switch(c74a55c0,0,104,191,1c424347,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c74a55c0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c749e2bc,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c749e2bc,c749e344,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c74a55c0,92c,ef2e0c44,0,0,...) at kern_wait+0xbe6 wait4(c74a55c0,ef2e0cec,281a9d08,1,0,...) at wait4+0x3b syscallenter(c74a55c0,ef2e0ce4,c0cd2d3d,c1010f70,0,...) at syscallenter+0x263 syscall(ef2e0d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2810493b, esp = 0xbfbfe72c, ebp = 0xbfbfe748 --- Tracing command rename pid 2346 tid 100177 td 0xc7e68000 sched_switch(c7e68000,0,104,191,38c5e083,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7e68000,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e074cee0,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e074cee0,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,200e0,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,200e0,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,200e0,0,4000,0,...) at bread+0x4c ffs_update(c7eb06cc,1,c0ebb839,163,0,...) at ffs_update+0x172 ffs_syncvnode(c7eb06cc,1,c0eb84fc,ac0,c7eaacb0,...) at ffs_syncvnode+0x48f softdep_prelink(c118ef28,0,c0eb84fc,10c5,c8bc4910,...) at softdep_prelink+0xa3 softdep_setup_unlink(c7eaacb0,c8bc4910,800,c8bc4910,2ca4,...) at softdep_setup_unlink+0x54 ufs_dirremove(c7eb06cc,c8bc4910,500940c,0,0,...) at ufs_dirremove+0x32 ufs_rename(ef35fbec,0,c8bd4984,ef35fb98,0,...) at ufs_rename+0x115d VOP_RENAME_APV(c0fbb340,ef35fbec,0,1,ef35fb70,...) at VOP_RENAME_APV+0xa5 kern_renameat(c7e68000,ffffff9c,bfbfe628,ffffff9c,bfbfe6a8,...) at kern_renameat+0x307 kern_rename(c7e68000,bfbfe628,bfbfe6a8,0,ef35fc7c,...) at kern_rename+0x36 rename(c7e68000,ef35fcec,ef35fd28,c0e8ba9e,0,...) at rename+0x29 syscallenter(c7e68000,ef35fce4,ef35fce4,0,c101f500,...) at syscallenter+0x263 syscall(ef35fd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee98b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command rename pid 2345 tid 100136 td 0xc78212e0 sched_switch(c78212e0,0,104,191,38142102,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c78212e0,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e074cee0,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e074cee0,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,200e0,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,200e0,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,200e0,0,4000,0,...) at bread+0x4c ffs_update(c7dfa6cc,1,c0ebb839,163,0,...) at ffs_update+0x172 ffs_syncvnode(c7dfa6cc,1,c0eb84fc,ac0,c7dc3a6c,...) at ffs_syncvnode+0x48f softdep_prelink(c118ef28,0,c0eb84fc,10c5,c84d3984,...) at softdep_prelink+0xa3 softdep_setup_unlink(c7dc3a6c,c84d3984,800,c84d3984,1c90,...) at softdep_setup_unlink+0x54 ufs_dirremove(c7dfa6cc,c84d3984,500940c,0,0,...) at ufs_dirremove+0x32 ufs_rename(ef27fbec,0,c849b828,ef27fb98,0,...) at ufs_rename+0x115d VOP_RENAME_APV(c0fbb340,ef27fbec,0,1,ef27fb70,...) at VOP_RENAME_APV+0xa5 kern_renameat(c78212e0,ffffff9c,bfbfe6a8,ffffff9c,bfbfe628,...) at kern_renameat+0x307 kern_rename(c78212e0,bfbfe6a8,bfbfe628,0,ef27fc7c,...) at kern_rename+0x36 rename(c78212e0,ef27fcec,c09cd78c,c101f530,0,...) at rename+0x29 syscallenter(c78212e0,ef27fce4,ef27fcc0,c09cfe08,c101f500,...) at syscallenter+0x263 syscall(ef27fd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee98b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command rename pid 2344 tid 100190 td 0xc7ead8a0 sched_switch(c7ead8a0,0,104,191,37bf2393,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7ead8a0,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e074cee0,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e074cee0,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,200e0,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,200e0,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,200e0,0,4000,0,...) at bread+0x4c ffs_update(c7d74d98,1,c0ebb839,163,0,...) at ffs_update+0x172 ffs_syncvnode(c7d74d98,1,c0eb84fc,ac0,c7d77ae0,...) at ffs_syncvnode+0x48f softdep_prelink(c118ef28,0,c0eb84fc,10c5,c89ee658,...) at softdep_prelink+0xa3 softdep_setup_unlink(c7d77ae0,c89ee658,800,c89ee658,13c8,...) at softdep_setup_unlink+0x54 ufs_dirremove(c7d74d98,c89ee658,500940c,0,0,...) at ufs_dirremove+0x32 ufs_rename(ef386bec,0,c89db000,ef386b98,0,...) at ufs_rename+0x115d VOP_RENAME_APV(c0fbb340,ef386bec,0,1,ef386b70,...) at VOP_RENAME_APV+0xa5 kern_renameat(c7ead8a0,ffffff9c,bfbfe6a8,ffffff9c,bfbfe628,...) at kern_renameat+0x307 kern_rename(c7ead8a0,bfbfe6a8,bfbfe628,0,ef386c7c,...) at kern_rename+0x36 rename(c7ead8a0,ef386cec,ef386d28,c0e8ba9e,0,...) at rename+0x29 syscallenter(c7ead8a0,ef386ce4,ef386ce4,0,0,...) at syscallenter+0x263 syscall(ef386d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee98b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command rename pid 2343 tid 100189 td 0xc7eadb80 sched_switch(c7eadb80,0,104,191,38140a5e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7eadb80,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e074cee0,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e074cee0,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,200e0,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,200e0,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,200e0,0,4000,0,...) at bread+0x4c ffs_update(c7f40d98,0,ef383b70,ef3839d4,0,...) at ffs_update+0x172 ufs_rename(ef383bec,0,c7f40d98,ef383b98,0,...) at ufs_rename+0xb7b VOP_RENAME_APV(c0fbb340,ef383bec,0,1,ef383b70,...) at VOP_RENAME_APV+0xa5 kern_renameat(c7eadb80,ffffff9c,bfbfe6a8,ffffff9c,bfbfe628,...) at kern_renameat+0x307 kern_rename(c7eadb80,bfbfe6a8,bfbfe628,0,ef383c7c,...) at kern_rename+0x36 rename(c7eadb80,ef383cec,ef383c7c,c09984e4,0,...) at rename+0x29 syscallenter(c7eadb80,ef383ce4,c0ed50e8,ee,0,...) at syscallenter+0x263 syscall(ef383d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee98b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command rename pid 2342 tid 100188 td 0xc7eae000 sched_switch(c7eae000,0,104,191,3cd50ef9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7eae000,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e074cee0,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e074cee0,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,200e0,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,200e0,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,200e0,0,4000,0,...) at bread+0x4c ffs_update(c7dfa828,1,c0ebb839,163,0,...) at ffs_update+0x172 ffs_syncvnode(c7dfa828,1,c0eb84fc,ac0,c7dc3ae0,...) at ffs_syncvnode+0x48f softdep_prelink(c118ef28,0,c0eb84fc,10c5,c83fbcb0,...) at softdep_prelink+0xa3 softdep_setup_unlink(c7dc3ae0,c83fbcb0,800,c83fbcb0,1270,...) at softdep_setup_unlink+0x54 ufs_dirremove(c7dfa828,c83fbcb0,500940c,0,0,...) at ufs_dirremove+0x32 ufs_rename(ef380bec,0,c823a15c,ef380b98,0,...) at ufs_rename+0x115d VOP_RENAME_APV(c0fbb340,ef380bec,0,1,ef380b70,...) at VOP_RENAME_APV+0xa5 kern_renameat(c7eae000,ffffff9c,bfbfe628,ffffff9c,bfbfe6a8,...) at kern_renameat+0x307 kern_rename(c7eae000,bfbfe628,bfbfe6a8,0,ef380c7c,...) at kern_rename+0x36 rename(c7eae000,ef380cec,ef380d28,c0e8ba9e,0,...) at rename+0x29 syscallenter(c7eae000,ef380ce4,ef380ce4,0,0,...) at syscallenter+0x263 syscall(ef380d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee98b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command rename pid 2341 tid 100187 td 0xc7eae2e0 sched_switch(c7eae2e0,0,104,191,3cad1287,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7eae2e0,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e074cee0,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e074cee0,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,200e0,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,200e0,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,200e0,0,4000,0,...) at bread+0x4c ffs_update(c7d3a414,1,c0ebb839,163,0,...) at ffs_update+0x172 ffs_syncvnode(c7d3a414,1,c0eb84fc,ac0,c7a10828,...) at ffs_syncvnode+0x48f softdep_prelink(c118ef28,0,c0eb84fc,10c5,c89d19f8,...) at softdep_prelink+0xa3 softdep_setup_unlink(c7a10828,c89d19f8,800,c89d19f8,6ac,...) at softdep_setup_unlink+0x54 ufs_dirremove(c7d3a414,c89d19f8,500940c,0,0,...) at ufs_dirremove+0x32 ufs_rename(ef37dbec,0,c8a03c3c,ef37db98,0,...) at ufs_rename+0x115d VOP_RENAME_APV(c0fbb340,ef37dbec,0,1,ef37db70,...) at VOP_RENAME_APV+0xa5 kern_renameat(c7eae2e0,ffffff9c,bfbfe6a8,ffffff9c,bfbfe628,...) at kern_renameat+0x307 kern_rename(c7eae2e0,bfbfe6a8,bfbfe628,0,ef37dc7c,...) at kern_rename+0x36 rename(c7eae2e0,ef37dcec,c09cd78c,c1020230,0,...) at rename+0x29 syscallenter(c7eae2e0,ef37dce4,ef37dcc0,c09cfe08,c1020200,...) at syscallenter+0x263 syscall(ef37dd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee98b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command rename pid 2340 tid 100186 td 0xc7eae5c0 sched_switch(c7eae5c0,0,104,191,36aff6b0,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7eae5c0,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e0752d20,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e0752d20,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,300e0,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,300e0,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,300e0,0,4000,0,...) at bread+0x4c ffs_update(c85f2000,0,ef37ab70,ef37a9d4,0,...) at ffs_update+0x172 ufs_rename(ef37abec,0,c85f2000,ef37ab98,0,...) at ufs_rename+0xb7b VOP_RENAME_APV(c0fbb340,ef37abec,0,1,ef37ab70,...) at VOP_RENAME_APV+0xa5 kern_renameat(c7eae5c0,ffffff9c,bfbfe628,ffffff9c,bfbfe6a8,...) at kern_renameat+0x307 kern_rename(c7eae5c0,bfbfe628,bfbfe6a8,0,ef37ac7c,...) at kern_rename+0x36 rename(c7eae5c0,ef37acec,ef37ad28,c0e8ba9e,0,...) at rename+0x29 syscallenter(c7eae5c0,ef37ace4,ef37ace4,0,c101f500,...) at syscallenter+0x263 syscall(ef37ad28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee98b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command rename pid 2339 tid 100185 td 0xc7eae8a0 sched_switch(c7eae8a0,0,104,191,36b4b013,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7eae8a0,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e0752d20,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e0752d20,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,300e0,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,300e0,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,300e0,0,4000,0,...) at bread+0x4c ffs_update(c81e96cc,0,ef377b70,ef3779d4,0,...) at ffs_update+0x172 ufs_rename(ef377bec,0,c81e96cc,ef377b98,0,...) at ufs_rename+0xb7b VOP_RENAME_APV(c0fbb340,ef377bec,0,1,ef377b70,...) at VOP_RENAME_APV+0xa5 kern_renameat(c7eae8a0,ffffff9c,bfbfe6a8,ffffff9c,bfbfe628,...) at kern_renameat+0x307 kern_rename(c7eae8a0,bfbfe6a8,bfbfe628,0,ef377c7c,...) at kern_rename+0x36 rename(c7eae8a0,ef377cec,ef377d28,c0e8ba9e,0,...) at rename+0x29 syscallenter(c7eae8a0,ef377ce4,ef377ce4,0,c101f500,...) at syscallenter+0x263 syscall(ef377d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee98b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command rename pid 2338 tid 100184 td 0xc786a2e0 sched_switch(c786a2e0,0,104,191,3cd523be,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c786a2e0,0,c0e8b160,268,60,...) at sleepq_switch+0x162 sleepq_wait(e074cee0,60,c0e7e090,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e074cee0,81900,c7e0be90,c0e7e090,60,...) at __lockmgr_args+0xb1f getblk(c7e0bd98,200e0,0,4000,0,...) at getblk+0x167 breadn(c7e0bd98,200e0,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,200e0,0,4000,0,...) at bread+0x4c ffs_update(c7f3e6cc,0,c0eb84fc,2286,0,...) at ffs_update+0x172 handle_workitem_remove(0,ef3748c4,2,65e,1,...) at handle_workitem_remove+0x4d3 process_worklist_item(c118ef28,0,c0eb84fc,ac4,c7eaad98,...) at process_worklist_item+0x203 softdep_prelink(c118ef28,0,c0eb84fc,10c5,c8439c3c,...) at softdep_prelink+0x12f softdep_setup_unlink(c7eaad98,c8439c3c,800,c8439c3c,2a00,...) at softdep_setup_unlink+0x54 ufs_dirremove(c7eb0984,c8439c3c,500940c,0,0,...) at ufs_dirremove+0x32 ufs_rename(ef374bec,0,c8457414,ef374b98,0,...) at ufs_rename+0x115d VOP_RENAME_APV(c0fbb340,ef374bec,0,1,ef374b70,...) at VOP_RENAME_APV+0xa5 kern_renameat(c786a2e0,ffffff9c,bfbfe6a8,ffffff9c,bfbfe628,...) at kern_renameat+0x307 kern_rename(c786a2e0,bfbfe6a8,bfbfe628,0,ef374c7c,...) at kern_rename+0x36 rename(c786a2e0,ef374cec,ef374d28,c0e8ba9e,0,...) at rename+0x29 syscallenter(c786a2e0,ef374ce4,ef374ce4,0,0,...) at syscallenter+0x263 syscall(ef374d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee98b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command rename pid 2337 tid 100168 td 0xc78662e0 sched_switch(c78662e0,0,104,191,1a5dbe1f,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c78662e0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7e10af0,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7e10af0,c7e10b78,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c78662e0,922,ef344c44,0,0,...) at kern_wait+0xbe6 wait4(c78662e0,ef344cec,281a9d08,1,0,...) at wait4+0x3b syscallenter(c78662e0,ef344ce4,c0cd2d3d,c1010f70,0,...) at syscallenter+0x263 syscall(ef344d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2810493b, esp = 0xbfbfe71c, ebp = 0xbfbfe738 --- Tracing command mkfifo pid 2336 tid 100183 td 0xc786a5c0 sched_switch(c786a5c0,0,104,191,15d48ca1,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c786a5c0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c786a5c0,0,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012884,6c,c0e86f57,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012884,0,16c,c0e86f57,3e9,...) at _sleep+0x328 kern_nanosleep(c786a5c0,ef371c34,ef371c3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c786a5c0,ef371cec,ef371d28,c0e8ba9e,0,...) at nanosleep+0x6f syscallenter(c786a5c0,ef371ce4,ef371ce4,0,74b,...) at syscallenter+0x263 syscall(ef371d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b67, esp = 0xbfbfe70c, ebp = 0xbfbfe738 --- Tracing command rename pid 2334 tid 100176 td 0xc7e682e0 sched_switch(c7e682e0,0,104,191,4f38f37,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7e682e0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c7e682e0,2,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012884,6c,c0e86f57,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012884,0,16c,c0e86f57,3e9,...) at _sleep+0x328 kern_nanosleep(c7e682e0,ef35cc34,ef35cc3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c7e682e0,ef35ccec,ef35cd28,c0e8ba9e,0,...) at nanosleep+0x6f syscallenter(c7e682e0,ef35cce4,ef35cce4,0,0,...) at syscallenter+0x263 syscall(ef35cd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b67, esp = 0xbfbfe70c, ebp = 0xbfbfe738 --- Tracing command mkdir pid 2333 tid 100154 td 0xc7d0c000 sched_switch(c7d0c000,0,104,191,193bccf1,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7d0c000,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c7d0c000,2,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012884,6c,c0e86f57,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012884,0,16c,c0e86f57,3e9,...) at _sleep+0x328 kern_nanosleep(c7d0c000,ef30ac34,ef30ac3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c7d0c000,ef30acec,ef30ad28,c0e8ba9e,0,...) at nanosleep+0x6f syscallenter(c7d0c000,ef30ace4,ef30ace4,0,0,...) at syscallenter+0x263 syscall(ef30ad28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b67, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command creat pid 2332 tid 100128 td 0xc786a000 sched_switch(c786a000,0,104,191,ddc6094,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c786a000,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c786a000,3,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012884,6c,c0e86f57,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012884,0,16c,c0e86f57,3e9,...) at _sleep+0x328 kern_nanosleep(c786a000,ef264c34,ef264c3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c786a000,ef264cec,ef264d28,c0e8ba9e,0,...) at nanosleep+0x6f syscallenter(c786a000,ef264ce4,ef264ce4,0,0,...) at syscallenter+0x263 syscall(ef264d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b67, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 2331 tid 100142 td 0xc74a65c0 sched_switch(c74a65c0,0,104,191,cd0df33,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c74a65c0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c74a65c0,1,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012884,6c,c0e86f57,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012884,0,16c,c0e86f57,3e9,...) at _sleep+0x328 kern_nanosleep(c74a65c0,ef2ccc34,ef2ccc3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c74a65c0,ef2cccec,ef2ccd28,c0e8ba9e,0,...) at nanosleep+0x6f syscallenter(c74a65c0,ef2ccce4,ef2ccce4,0,0,...) at syscallenter+0x263 syscall(ef2ccd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b67, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command rw pid 2328 tid 100158 td 0xc7d0b2e0 sched_switch(c7d0b2e0,0,104,191,15d457e3,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7d0b2e0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c7d0b2e0,0,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012884,6c,c0e86f57,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012884,0,16c,c0e86f57,3e9,...) at _sleep+0x328 kern_nanosleep(c7d0b2e0,ef319c34,ef319c3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c7d0b2e0,ef319cec,ef319d28,c0e8ba9e,0,...) at nanosleep+0x6f syscallenter(c7d0b2e0,ef319ce4,ef319ce4,0,0,...) at syscallenter+0x263 syscall(ef319d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b67, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command openat pid 2327 tid 100122 td 0xc780f2e0 sched_switch(c780f2e0,0,104,191,c91d92f,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c780f2e0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c780f2e0,2,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012884,6c,c0e86f57,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012884,0,16c,c0e86f57,3e9,...) at _sleep+0x328 kern_nanosleep(c780f2e0,ef252c34,ef252c3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c780f2e0,ef252cec,ef252d28,c0e8ba9e,0,...) at nanosleep+0x6f syscallenter(c780f2e0,ef252ce4,ef252ce4,0,0,...) at syscallenter+0x263 syscall(ef252d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b67, esp = 0xbfbfe70c, ebp = 0xbfbfe738 --- Tracing command symlink pid 2326 tid 100167 td 0xc78665c0 sched_switch(c78665c0,0,104,191,44ecb60,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c78665c0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c78665c0,2,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012884,6c,c0e86f57,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012884,0,16c,c0e86f57,3e9,...) at _sleep+0x328 kern_nanosleep(c78665c0,ef341c34,ef341c3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c78665c0,ef341cec,ef341d28,c0e8ba9e,0,...) at nanosleep+0x6f syscallenter(c78665c0,ef341ce4,ef341ce4,0,0,...) at syscallenter+0x263 syscall(ef341d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b67, esp = 0xbfbfe70c, ebp = 0xbfbfe738 --- Tracing command lockf2 pid 2325 tid 100140 td 0xc781e5c0 sched_switch(c781e5c0,0,104,191,17d5bbb7,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c781e5c0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c781e5c0,2,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012884,6c,c0e86f57,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012884,0,16c,c0e86f57,3e9,...) at _sleep+0x328 kern_nanosleep(c781e5c0,ef28fc34,ef28fc3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c781e5c0,ef28fcec,ef28fd28,c0e8ba9e,0,...) at nanosleep+0x6f syscallenter(c781e5c0,ef28fce4,ef28fce4,0,0,...) at syscallenter+0x263 syscall(ef28fd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b67, esp = 0xbfbfe70c, ebp = 0xbfbfe738 --- Tracing command run pid 2324 tid 100170 td 0xc7865b80 sched_switch(c7865b80,0,104,191,1c8f3756,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7865b80,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7e10578,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7e10578,c7e10600,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c7865b80,915,ef34ac44,0,0,...) at kern_wait+0xbe6 wait4(c7865b80,ef34acec,281a8d08,1,0,...) at wait4+0x3b syscallenter(c7865b80,ef34ace4,c0cd2d3d,c1010f70,0,...) at syscallenter+0x263 syscall(ef34ad28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2810393b, esp = 0xbfbfe0cc, ebp = 0xbfbfe0e8 --- Tracing command run pid 2323 tid 100101 td 0xc744c2e0 sched_switch(c744c2e0,0,104,191,1907800b,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c744c2e0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c74b8000,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c74b8000,c74b8088,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c744c2e0,914,ef1f6c44,0,0,...) at kern_wait+0xbe6 wait4(c744c2e0,ef1f6cec,281a8d08,1,0,...) at wait4+0x3b syscallenter(c744c2e0,ef1f6ce4,c0cd2d3d,c1010f70,0,...) at syscallenter+0x263 syscall(ef1f6d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2810393b, esp = 0xbfbfe5ec, ebp = 0xbfbfe608 --- Tracing command run pid 2322 tid 100152 td 0xc744c000 sched_switch(c744c000,0,104,191,ffe909ef,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c744c000,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c744c000,2,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012884,6c,c0e86f57,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012884,0,16c,c0e86f57,3e9,...) at _sleep+0x328 kern_nanosleep(c744c000,ef303c34,ef303c3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c744c000,ef303cec,ef303d28,c0e8ba9e,0,...) at nanosleep+0x6f syscallenter(c744c000,ef303ce4,ef303ce4,0,0,...) at syscallenter+0x263 syscall(ef303d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28178b67, esp = 0xbfbfe5dc, ebp = 0xbfbfe608 --- Tracing command sh pid 2317 tid 100175 td 0xc7e685c0 sched_switch(c7e685c0,0,104,191,13a7584c,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7e685c0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7e0f578,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7e0f578,c7e0f600,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c7e685c0,ffffffff,ef359c44,2,0,...) at kern_wait+0xbe6 wait4(c7e685c0,ef359cec,ef359d28,c0e8ba9e,0,...) at wait4+0x3b syscallenter(c7e685c0,ef359ce4,ef359ce4,0,0,...) at syscallenter+0x263 syscall(ef359d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2816993b, esp = 0xbfbfe61c, ebp = 0xbfbfe638 --- Tracing command bash pid 2316 tid 100079 td 0xc744e8a0 sched_switch(c744e8a0,0,104,191,fb07c43,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c744e8a0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c701eaf0,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c701eaf0,c701eb78,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c744e8a0,ffffffff,ef191c44,0,0,...) at kern_wait+0xbe6 wait4(c744e8a0,ef191cec,28368d08,1,0,...) at wait4+0x3b syscallenter(c744e8a0,ef191ce4,c0cd2d3d,c1010f70,0,...) at syscallenter+0x263 syscall(ef191d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x282c393b, esp = 0xbfbfe3fc, ebp = 0xbfbfe418 --- Tracing command su pid 2315 tid 100174 td 0xc7865000 sched_switch(c7865000,0,104,191,ee44758,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7865000,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7e0f834,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7e0f834,c7e0f8bc,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c7865000,90c,ef356c44,2,0,...) at kern_wait+0xbe6 wait4(c7865000,ef356cec,281c8d08,1,0,...) at wait4+0x3b syscallenter(c7865000,ef356ce4,c0cd2d3d,c1010f70,0,...) at syscallenter+0x263 syscall(ef356d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2812393b, esp = 0xbfbfe33c, ebp = 0xbfbfe358 --- Tracing command md5 pid 2308 tid 100153 td 0xc7d0c2e0 sched_switch(c7d0c2e0,0,104,191,3fd17603,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c7d0c2e0,0,c0e8b160,268,0,...) at sleepq_switch+0x162 sleepq_wait(c7348000,5c,c0e31d51,0,0,...) at sleepq_wait+0x63 _sleep(c7348000,c7348020,25c,c0e31d51,0,...) at _sleep+0x372 md_kthread(c7348000,ef307d28,c0e8034c,390,c7d07834,...) at md_kthread+0x11a fork_exit(c07276f0,c7348000,ef307d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xef307d60, ebp = 0 --- Tracing command sh pid 2295 tid 100148 td 0xc74a52e0 sched_switch(c74a52e0,0,104,191,d9977da,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c74a52e0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c749e000,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c749e000,c749e088,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c74a52e0,ffffffff,ef2e4c44,2,0,...) at kern_wait+0xbe6 wait4(c74a52e0,ef2e4cec,ef2e4d28,c0e8ba9e,0,...) at wait4+0x3b syscallenter(c74a52e0,ef2e4ce4,ef2e4ce4,0,0,...) at syscallenter+0x263 syscall(ef2e4d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2816993b, esp = 0xbfbfe77c, ebp = 0xbfbfe798 --- Tracing command bash pid 2272 tid 100105 td 0xc71725c0 sched_switch(c71725c0,0,104,191,f975cb35,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c71725c0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c780baf0,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c780baf0,c780bb78,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c71725c0,ffffffff,ef204c44,6,0,...) at kern_wait+0xbe6 wait4(c71725c0,ef204cec,ef204d28,c0e8ba9e,0,...) at wait4+0x3b syscallenter(c71725c0,ef204ce4,ef204ce4,0,0,...) at syscallenter+0x263 syscall(ef204d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x282c393b, esp = 0xbfbfe4dc, ebp = 0xbfbfe4f8 --- Tracing command csh pid 2257 tid 100159 td 0xc7d0b000 sched_switch(c7d0b000,0,104,191,d7cf1b8e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,74,...) at mi_switch+0x219 sleepq_switch(c7d0b000,0,c0e8b160,1a7,74,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7d045d0,74,c0d20e2e,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7d045d0,c7d04600,174,c0d20e2e,0,...) at _sleep+0x35c kern_sigsuspend(c7d0b000,0,0,0,0,...) at kern_sigsuspend+0xba sigsuspend(c7d0b000,ef31ccec,ef31cd28,c0e8ba9e,0,...) at sigsuspend+0x4d syscallenter(c7d0b000,ef31cce4,ef31cce4,0,0,...) at syscallenter+0x263 syscall(ef31cd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (4, FreeBSD ELF32, write), eip = 0x2818ac8b, esp = 0xbfbfe59c, ebp = 0xbfbfe608 --- Tracing command su pid 2256 tid 100108 td 0xc7813000 sched_switch(c7813000,0,104,191,80a90bbe,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7813000,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c780b2bc,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c780b2bc,c780b344,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c7813000,8d1,ef20dc44,2,0,...) at kern_wait+0xbe6 wait4(c7813000,ef20dcec,281c8d08,1,0,...) at wait4+0x3b syscallenter(c7813000,ef20dce4,c0cd2d3d,c1010f70,0,...) at syscallenter+0x263 syscall(ef20dd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2812393b, esp = 0xbfbfe5cc, ebp = 0xbfbfe5e8 --- Tracing command bash pid 2249 tid 100099 td 0xc744c8a0 sched_switch(c744c8a0,0,104,191,8fcac223,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c744c8a0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c74b8578,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c74b8578,c74b8600,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c744c8a0,ffffffff,ef1f0c44,6,0,...) at kern_wait+0xbe6 wait4(c744c8a0,ef1f0cec,ef1f0d28,c0e8ba9e,0,...) at wait4+0x3b syscallenter(c744c8a0,ef1f0ce4,ef1f0ce4,0,0,...) at syscallenter+0x263 syscall(ef1f0d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x282c393b, esp = 0xbfbfe97c, ebp = 0xbfbfe998 --- Tracing command sshd pid 2248 tid 100166 td 0xc786a8a0 sched_switch(c786a8a0,0,104,191,c5f5aaa,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c786a8a0,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c7aa67d0,0,c0e83fe7,c786a8a0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7aa67e4,0,ef33ea4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7aa67e4,c7aa67d0,c0e8d765,627,c7a97af0,...) at _cv_wait_sig+0x243 seltdwait(c7a97af0,58,c7dc5680,c786a8a0,246,...) at seltdwait+0xa2 kern_select(c786a8a0,c,288060b8,288060dc,0,0,20,c7d03000,c7d03000) at kern_select+0x504 select(c786a8a0,ef33ecec,ef33ed28,c0e8ba9e,0,...) at select+0x66 syscallenter(c786a8a0,ef33ece4,ef33ece4,0,c101fb80,...) at syscallenter+0x263 syscall(ef33ed28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x284bd5a3, esp = 0xbfbfe19c, ebp = 0xbfbfe1e8 --- Tracing command sshd pid 2246 tid 100135 td 0xc78215c0 sched_switch(c78215c0,0,104,191,c124fe76,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,68,...) at mi_switch+0x219 sleepq_switch(c78215c0,0,c0e8b160,1a7,68,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c78373f8,68,c0e915c1,100,0,...) at sleepq_wait_sig+0x17 _sleep(c78373f8,c78373b8,168,c0e915c1,0) at _sleep+0x35c sbwait(c7837394,4,c0e91699,5ec,c78373b8,...) at sbwait+0x76 soreceive_generic(c7837340,0,ef27bc28,0,0,...) at soreceive_generic+0x3f0 soreceive(c7837340,0,ef27bc28,0,0,0) at soreceive+0x38 soo_read(c74c9c78,ef27bc28,c715b780,0,c78215c0,...) at soo_read+0x4e dofileread(ef27bc28,ffffffff,ffffffff,0,c74c9c78,...) at dofileread+0x9e kern_readv(c78215c0,5,ef27bc28,ef27bc48,1,...) at kern_readv+0x58 read(c78215c0,ef27bcec,ef27bd28,c0e8ba9e,0,...) at read+0x4f syscallenter(c78215c0,ef27bce4,ef27bce4,0,0,...) at syscallenter+0x263 syscall(ef27bd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x284bd623, esp = 0xbfbfdd6c, ebp = 0xbfbfdda8 --- Tracing command awk pid 2230 tid 100112 td 0xc78102e0 sched_switch(c78102e0,0,104,191,3991c0f1,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c78102e0,0,c0e8b160,1a7,5c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7489ab8,5c,c0e8d923,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7489ab8,c7489c28,15c,c0e8d923,0,...) at _sleep+0x35c pipe_read(c7a97700,ef219c28,c715b580,0,c78102e0,...) at pipe_read+0x417 dofileread(ef219c28,ffffffff,ffffffff,0,c7a97700,...) at dofileread+0x9e kern_readv(c78102e0,0,ef219c28,ef219c48,1,...) at kern_readv+0x58 read(c78102e0,ef219cec,ef219d80,ef219c88,0,...) at read+0x4f syscallenter(c78102e0,ef219ce4,c0cd29f6,0,0,...) at syscallenter+0x263 syscall(ef219d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x281b8623, esp = 0xbfbfe93c, ebp = 0xbfbfe958 --- Tracing command sh pid 2229 tid 100155 td 0xc7d0bb80 sched_switch(c7d0bb80,0,104,191,39a5dd6d,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7d0bb80,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7d072bc,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7d072bc,c7d07344,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c7d0bb80,ffffffff,ef30ec44,2,0,...) at kern_wait+0xbe6 wait4(c7d0bb80,ef30ecec,ef30ed28,c0e8ba9e,0,...) at wait4+0x3b syscallenter(c7d0bb80,ef30ece4,ef30ece4,0,0,...) at syscallenter+0x263 syscall(ef30ed28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2816993b, esp = 0xbfbfe98c, ebp = 0xbfbfe9a8 --- Tracing command top pid 2228 tid 100144 td 0xc74a6000 sched_switch(c74a6000,0,104,191,3f8eade9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c74a6000,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(ef2d4a14,c099890a,c7aa6850,0,c74a6000,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c7aa6864,0,ef2d4a4c,101,0,...) at sleepq_timedwait_sig+0x1a _cv_timedwait_sig(c7aa6864,c7aa6850,3e9,627,c74c07e0,...) at _cv_timedwait_sig+0x252 seltdwait(ef2d4bf8,ef2d4c00,c752fa80,c74a6000,74616572,...) at seltdwait+0x8a kern_select(c74a6000,2,bfbfebac,0,0,ef2d4c40,20,1,0) at kern_select+0x504 select(c74a6000,ef2d4cec,ef2d4d28,c0e8ba9e,0,...) at select+0x66 syscallenter(c74a6000,ef2d4ce4,ef2d4ce4,0,0,...) at syscallenter+0x263 syscall(ef2d4d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x281ee5a3, esp = 0xbfbfeb4c, ebp = 0xbfbfeca8 --- Tracing command tail pid 2227 tid 100145 td 0xc74a5b80 sched_switch(c74a5b80,0,104,191,e70f7add,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,68,...) at mi_switch+0x219 sleepq_switch(c74a5b80,0,c0e8b160,1a7,68,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7470,c74a5b80,0,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c738da00,68,c0e7ff50,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c738da00,c738da00,168,c0e7ff50,3e9,...) at _sleep+0x328 kern_kevent(c74a5b80,4,0,1,ef2d8c28,...) at kern_kevent+0x364 kevent(c74a5b80,ef2d8cec,ef2d8d28,c0e8ba9e,0,...) at kevent+0x19e syscallenter(c74a5b80,ef2d8ce4,ef2d8ce4,0,0,...) at syscallenter+0x263 syscall(ef2d8d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (363, FreeBSD ELF32, kevent), eip = 0x28169c9b, esp = 0xbfbfeb1c, ebp = 0xbfbfebd8 --- Tracing command sh pid 2226 tid 100160 td 0xc7d0ab80 sched_switch(c7d0ab80,0,104,191,8649a0ec,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7d0ab80,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7d042bc,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7d042bc,c7d04344,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c7d0ab80,ffffffff,ef31fc44,2,0,...) at kern_wait+0xbe6 wait4(c7d0ab80,ef31fcec,2820ed08,1,0,...) at wait4+0x3b syscallenter(c7d0ab80,ef31fce4,c0cd2d3d,c1010f70,0,...) at syscallenter+0x263 syscall(ef31fd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2816993b, esp = 0xbfbfeb3c, ebp = 0xbfbfeb58 --- Tracing command sshd pid 2225 tid 100093 td 0xc744db80 sched_switch(c744db80,0,104,191,80d926b4,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c744db80,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c7aa6890,0,c0e83fe7,c744db80,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7aa68a4,0,ef1dca4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7aa68a4,c7aa6890,c0e8d765,627,c74596c8,...) at _cv_wait_sig+0x243 seltdwait(c74596c8,58,c752f580,c744db80,246,...) at seltdwait+0xa2 kern_select(c744db80,c,288060b8,288060dc,0,0,20,c74b9834,c74b9834) at kern_select+0x504 select(c744db80,ef1dccec,ef1dcd28,c0e8ba9e,0,...) at select+0x66 syscallenter(c744db80,ef1dcce4,ef1dcce4,0,0,...) at syscallenter+0x263 syscall(ef1dcd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x284bd5a3, esp = 0xbfbfe19c, ebp = 0xbfbfe1e8 --- Tracing command sshd pid 2224 tid 100078 td 0xc744eb80 sched_switch(c744eb80,0,104,191,3f9287d1,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c744eb80,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c7021c90,0,c0e83fe7,c744eb80,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7021ca4,0,ef18da4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7021ca4,c7021c90,c0e8d765,627,c74c07a8,...) at _cv_wait_sig+0x243 seltdwait(c74c07a8,58,c752f080,c744eb80,246,...) at seltdwait+0xa2 kern_select(c744eb80,a,288060b8,288060dc,0,0,20,c73a4000,c73a4000) at kern_select+0x504 select(c744eb80,ef18dcec,ef18dd28,c0e8ba9e,0,...) at select+0x66 syscallenter(c744eb80,ef18dce4,ef18dce4,0,0,...) at syscallenter+0x263 syscall(ef18dd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x284bd5a3, esp = 0xbfbfe19c, ebp = 0xbfbfe1e8 --- Tracing command sshd pid 2223 tid 100162 td 0xc7d0a5c0 sched_switch(c7d0a5c0,0,104,191,74cd061f,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7d0a5c0,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c7021bd0,0,c0e83fe7,c7d0a5c0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7021be4,0,ef325a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7021be4,c7021bd0,c0e8d765,627,c7a97d90,...) at _cv_wait_sig+0x243 seltdwait(c7a97d90,58,c752fe80,c7d0a5c0,f33,...) at seltdwait+0xa2 kern_select(c7d0a5c0,c,288060b8,288060dc,0,0,20,c7d03af0,c7d03af0) at kern_select+0x504 select(c7d0a5c0,ef325cec,ef325d28,c0e8ba9e,0,...) at select+0x66 syscallenter(c7d0a5c0,ef325ce4,ef325ce4,0,0,...) at syscallenter+0x263 syscall(ef325d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x284bd5a3, esp = 0xbfbfe19c, ebp = 0xbfbfe1e8 --- Tracing command sshd pid 2219 tid 100083 td 0xc74262e0 sched_switch(c74262e0,0,104,191,7490ba1d,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,68,...) at mi_switch+0x219 sleepq_switch(c74262e0,0,c0e8b160,1a7,68,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7c25c18,68,c0e915c1,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7c25c18,c7c25bd8,168,c0e915c1,0) at _sleep+0x35c sbwait(c7c25bb4,4,c0e91699,5ec,c7c25bd8,...) at sbwait+0x76 soreceive_generic(c7c25b60,0,ef1a5c28,0,0,...) at soreceive_generic+0x3f0 soreceive(c7c25b60,0,ef1a5c28,0,0,0) at soreceive+0x38 soo_read(c7431e00,ef1a5c28,c752f480,0,c74262e0,...) at soo_read+0x4e dofileread(ef1a5c28,ffffffff,ffffffff,0,c7431e00,...) at dofileread+0x9e kern_readv(c74262e0,5,ef1a5c28,ef1a5c48,1,...) at kern_readv+0x58 read(c74262e0,ef1a5cec,ef1a5d28,c0e8ba9e,0,...) at read+0x4f syscallenter(c74262e0,ef1a5ce4,ef1a5ce4,0,0,...) at syscallenter+0x263 syscall(ef1a5d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x284bd623, esp = 0xbfbfdd6c, ebp = 0xbfbfdda8 --- Tracing command sshd pid 2218 tid 100097 td 0xc744d000 sched_switch(c744d000,0,104,191,75f79418,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,68,...) at mi_switch+0x219 sleepq_switch(c744d000,0,c0e8b160,1a7,68,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7a02a78,68,c0e915c1,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7a02a78,c7a02a38,168,c0e915c1,0) at _sleep+0x35c sbwait(c7a02a14,4,c0e91699,5ec,c7a02a38,...) at sbwait+0x76 soreceive_generic(c7a029c0,0,ef1eac28,0,0,...) at soreceive_generic+0x3f0 soreceive(c7a029c0,0,ef1eac28,0,0,0) at soreceive+0x38 soo_read(c74c97e0,ef1eac28,c715b400,0,c744d000,...) at soo_read+0x4e dofileread(ef1eac28,ffffffff,ffffffff,0,c74c97e0,...) at dofileread+0x9e kern_readv(c744d000,5,ef1eac28,ef1eac48,1,...) at kern_readv+0x58 read(c744d000,ef1eacec,288d8010,1,0,...) at read+0x4f syscallenter(c744d000,ef1eace4,c0cd2d3d,c1010f70,0,...) at syscallenter+0x263 syscall(ef1ead28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x284bd623, esp = 0xbfbfdd6c, ebp = 0xbfbfdda8 --- Tracing command sshd pid 2217 tid 100156 td 0xc7d0b8a0 sched_switch(c7d0b8a0,0,104,191,749af362,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,68,...) at mi_switch+0x219 sleepq_switch(c7d0b8a0,0,c0e8b160,1a7,68,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7c2d8d8,68,c0e915c1,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7c2d8d8,c7c2d898,168,c0e915c1,0) at _sleep+0x35c sbwait(c7c2d874,4,c0e91699,5ec,c7c2d898,...) at sbwait+0x76 soreceive_generic(c7c2d820,0,ef311c28,0,0,...) at soreceive_generic+0x3f0 soreceive(c7c2d820,0,ef311c28,0,0,0) at soreceive+0x38 soo_read(c74c0818,ef311c28,c7dc5380,0,c7d0b8a0,...) at soo_read+0x4e dofileread(ef311c28,ffffffff,ffffffff,0,c74c0818,...) at dofileread+0x9e kern_readv(c7d0b8a0,5,ef311c28,ef311c48,1,...) at kern_readv+0x58 read(c7d0b8a0,ef311cec,ef311d28,c0e8ba9e,0,...) at read+0x4f syscallenter(c7d0b8a0,ef311ce4,ef311ce4,0,0,...) at syscallenter+0x263 syscall(ef311d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x284bd623, esp = 0xbfbfdd6c, ebp = 0xbfbfdda8 --- Tracing command getty pid 2202 tid 100107 td 0xc78132e0 sched_switch(c78132e0,0,104,191,dfd5f372,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c78132e0,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,c78132e0,c78132e0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7182070,0,c0e8fe32,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7182070,c1010f70,c0e8f7d0,514,0,...) at _cv_wait_sig+0x243 tty_wait(c7182000,c7182070,ef20ac28,1,0,...) at tty_wait+0x71 ttydisc_read(c7182000,ef20ac28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717b800,ef20ac28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c74301f8,ef20ac28,c6d9ee80,0,c78132e0,...) at devfs_read_f+0x7e dofileread(ef20ac28,ffffffff,ffffffff,0,c74301f8,...) at dofileread+0x9e kern_readv(c78132e0,0,ef20ac28,ef20ac48,1,...) at kern_readv+0x58 read(c78132e0,ef20acec,ef20ad28,c0e8ba9e,0,...) at read+0x4f syscallenter(c78132e0,ef20ace4,ef20ace4,0,0,...) at syscallenter+0x263 syscall(ef20ad28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196623, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2201 tid 100143 td 0xc74a62e0 sched_switch(c74a62e0,0,104,191,dfe8a21b,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c74a62e0,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,c74a62e0,c74a62e0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7182270,0,c0e8fe32,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7182270,c1010f70,c0e8f7d0,514,0,...) at _cv_wait_sig+0x243 tty_wait(c7182200,c7182270,ef2d0c28,1,0,...) at tty_wait+0x71 ttydisc_read(c7182200,ef2d0c28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717b900,ef2d0c28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c7459850,ef2d0c28,c6d9ee80,0,c74a62e0,...) at devfs_read_f+0x7e dofileread(ef2d0c28,ffffffff,ffffffff,0,c7459850,...) at dofileread+0x9e kern_readv(c74a62e0,0,ef2d0c28,ef2d0c48,1,...) at kern_readv+0x58 read(c74a62e0,ef2d0cec,ef2d0d28,c0e8ba9e,0,...) at read+0x4f syscallenter(c74a62e0,ef2d0ce4,ef2d0ce4,0,0,...) at syscallenter+0x263 syscall(ef2d0d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196623, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2200 tid 100094 td 0xc744d8a0 sched_switch(c744d8a0,0,104,191,dfeb2bd0,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c744d8a0,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,c744d8a0,c744d8a0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7182470,0,c0e8fe32,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7182470,c1010f70,c0e8f7d0,514,0,...) at _cv_wait_sig+0x243 tty_wait(c7182400,c7182470,ef1e0c28,1,0,...) at tty_wait+0x71 ttydisc_read(c7182400,ef1e0c28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717ba00,ef1e0c28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c7431b60,ef1e0c28,c6d9ee80,0,c744d8a0,...) at devfs_read_f+0x7e dofileread(ef1e0c28,ffffffff,ffffffff,0,c7431b60,...) at dofileread+0x9e kern_readv(c744d8a0,0,ef1e0c28,ef1e0c48,1,...) at kern_readv+0x58 read(c744d8a0,ef1e0cec,ef1e0d28,c0e8ba9e,0,...) at read+0x4f syscallenter(c744d8a0,ef1e0ce4,ef1e0ce4,0,0,...) at syscallenter+0x263 syscall(ef1e0d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196623, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2199 tid 100157 td 0xc7d0b5c0 sched_switch(c7d0b5c0,0,104,191,dfdaf23c,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7d0b5c0,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,c7d0b5c0,c7d0b5c0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6f52070,0,c0e8fe32,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c6f52070,c1010f70,c0e8f7d0,514,0,...) at _cv_wait_sig+0x243 tty_wait(c6f52000,c6f52070,ef316c28,1,0,...) at tty_wait+0x71 ttydisc_read(c6f52000,ef316c28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717bb00,ef316c28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c7431578,ef316c28,c6d9ee80,0,c7d0b5c0,...) at devfs_read_f+0x7e dofileread(ef316c28,ffffffff,ffffffff,0,c7431578,...) at dofileread+0x9e kern_readv(c7d0b5c0,0,ef316c28,ef316c48,1,...) at kern_readv+0x58 read(c7d0b5c0,ef316cec,ef316d28,c0e8ba9e,0,...) at read+0x4f syscallenter(c7d0b5c0,ef316ce4,ef316ce4,0,0,...) at syscallenter+0x263 syscall(ef316d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196623, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2198 tid 100141 td 0xc74a68a0 sched_switch(c74a68a0,0,104,191,dfe69491,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c74a68a0,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,c74a68a0,c74a68a0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6f52270,0,c0e8fe32,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c6f52270,c1010f70,c0e8f7d0,514,0,...) at _cv_wait_sig+0x243 tty_wait(c6f52200,c6f52270,ef2c8c28,1,0,...) at tty_wait+0x71 ttydisc_read(c6f52200,ef2c8c28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717bc00,ef2c8c28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c7a97540,ef2c8c28,c6d9ee80,0,c74a68a0,...) at devfs_read_f+0x7e dofileread(ef2c8c28,ffffffff,ffffffff,0,c7a97540,...) at dofileread+0x9e kern_readv(c74a68a0,0,ef2c8c28,ef2c8c48,1,...) at kern_readv+0x58 read(c74a68a0,ef2c8cec,ef2c8d28,c0e8ba9e,0,...) at read+0x4f syscallenter(c74a68a0,ef2c8ce4,ef2c8ce4,0,0,...) at syscallenter+0x263 syscall(ef2c8d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196623, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2197 tid 100087 td 0xc74a6b80 sched_switch(c74a6b80,0,104,191,dff92992,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c74a6b80,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,c74a6b80,c74a6b80,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6f52470,0,c0e8fe32,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c6f52470,c1010f70,c0e8f7d0,514,0,...) at _cv_wait_sig+0x243 tty_wait(c6f52400,c6f52470,ef1b7c28,1,0,...) at tty_wait+0x71 ttydisc_read(c6f52400,ef1b7c28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717bd00,ef1b7c28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c7a973f0,ef1b7c28,c6d9ee80,0,c74a6b80,...) at devfs_read_f+0x7e dofileread(ef1b7c28,ffffffff,ffffffff,0,c7a973f0,...) at dofileread+0x9e kern_readv(c74a6b80,0,ef1b7c28,ef1b7c48,1,...) at kern_readv+0x58 read(c74a6b80,ef1b7cec,ef1b7d28,c0e8ba9e,0,...) at read+0x4f syscallenter(c74a6b80,ef1b7ce4,ef1b7ce4,0,0,...) at syscallenter+0x263 syscall(ef1b7d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196623, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2196 tid 100077 td 0xc7426b80 sched_switch(c7426b80,0,104,191,dfde54b8,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7426b80,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,c7426b80,c7426b80,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6f52670,0,c0e8fe32,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c6f52670,c1010f70,c0e8f7d0,514,0,...) at _cv_wait_sig+0x243 tty_wait(c6f52600,c6f52670,ef189c28,1,0,...) at tty_wait+0x71 ttydisc_read(c6f52600,ef189c28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717be00,ef189c28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c74c9578,ef189c28,c6d9ee80,0,c7426b80,...) at devfs_read_f+0x7e dofileread(ef189c28,ffffffff,ffffffff,0,c74c9578,...) at dofileread+0x9e kern_readv(c7426b80,0,ef189c28,ef189c48,1,...) at kern_readv+0x58 read(c7426b80,ef189cec,ef189d28,c0e8ba9e,0,...) at read+0x4f syscallenter(c7426b80,ef189ce4,ef189ce4,0,0,...) at syscallenter+0x263 syscall(ef189d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196623, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2195 tid 100085 td 0xc7423b80 sched_switch(c7423b80,0,104,191,dffc0001,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7423b80,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,c7423b80,c7423b80,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6f52870,0,c0e8fe32,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c6f52870,c1010f70,c0e8f7d0,514,0,...) at _cv_wait_sig+0x243 tty_wait(c6f52800,c6f52870,ef1adc28,1,0,...) at tty_wait+0x71 ttydisc_read(c6f52800,ef1adc28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717c000,ef1adc28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c7459bd0,ef1adc28,c6d9ee80,0,c7423b80,...) at devfs_read_f+0x7e dofileread(ef1adc28,ffffffff,ffffffff,0,c7459bd0,...) at dofileread+0x9e kern_readv(c7423b80,0,ef1adc28,ef1adc48,1,...) at kern_readv+0x58 read(c7423b80,ef1adcec,ef1add28,c0e8ba9e,0,...) at read+0x4f syscallenter(c7423b80,ef1adce4,ef1adce4,0,0,...) at syscallenter+0x263 syscall(ef1add28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196623, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2194 tid 100086 td 0xc74a7000 sched_switch(c74a7000,0,104,191,8147100d,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c74a7000,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c6f52a04,0,c0e83fe7,c74a7000,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6f52a70,0,ef1b3ad8,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c6f52a70,c6f52a04,c0e8f7d0,514,0,...) at _cv_wait_sig+0x243 tty_wait(c6f52a00,c6f52a70,ef1b3c28,1,0,...) at tty_wait+0x71 ttydisc_read(c6f52a00,ef1b3c28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c6da2800,ef1b3c28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c74302a0,ef1b3c28,c6d9ee80,0,c74a7000,...) at devfs_read_f+0x7e dofileread(ef1b3c28,ffffffff,ffffffff,0,c74302a0,...) at dofileread+0x9e kern_readv(c74a7000,0,ef1b3c28,ef1b3c48,1,...) at kern_readv+0x58 read(c74a7000,ef1b3cec,ef1b3d28,c0e8ba9e,0,...) at read+0x4f syscallenter(c74a7000,ef1b3ce4,ef1b3ce4,0,0,...) at syscallenter+0x263 syscall(ef1b3d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196623, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command inetd pid 2150 tid 100163 td 0xc7d0a2e0 sched_switch(c7d0a2e0,0,104,191,bdc87c15,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7d0a2e0,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c7aa6990,0,c0e83fe7,c7d0a2e0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7aa69a4,0,ef328a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7aa69a4,c7aa6990,c0e8d765,627,c74c9e38,...) at _cv_wait_sig+0x243 seltdwait(c74c9e38,58,c6d9ee80,c7d0a2e0,c7d0a390,...) at seltdwait+0xa2 kern_select(c7d0a2e0,6,bfbfdfa0,0,0,0,20,c7d03834,c7d03834) at kern_select+0x504 select(c7d0a2e0,ef328cec,ef328d28,c0e8ba9e,0,...) at select+0x66 syscallenter(c7d0a2e0,ef328ce4,ef328ce4,0,0,...) at syscallenter+0x263 syscall(ef328d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x281a85a3, esp = 0xbfbfdf5c, ebp = 0xbfbfede8 --- Tracing command watchdogd pid 2123 tid 100109 td 0xc7810b80 sched_switch(c7810b80,0,104,191,6e56806e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7810b80,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(ea61,c09e7470,c7810b80,2,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012884,6c,c0e86f57,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012884,0,16c,c0e86f57,ea61,...) at _sleep+0x328 kern_nanosleep(c7810b80,ef210c34,ef210c3c,3c,0,...) at kern_nanosleep+0xc1 nanosleep(c7810b80,ef210cec,ef210d28,c0e8ba9e,0,...) at nanosleep+0x6f syscallenter(c7810b80,ef210ce4,ef210ce4,0,0,...) at syscallenter+0x263 syscall(ef210d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28191b67, esp = 0xbfbfecbc, ebp = 0xbfbfece8 --- Tracing command sleep pid 2112 tid 100104 td 0xc71728a0 sched_switch(c71728a0,0,104,191,5ea0bc66,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c71728a0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(30d41,c09e7470,c71728a0,1,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012884,6c,c0e86f57,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012884,0,16c,c0e86f57,30d41,...) at _sleep+0x328 kern_nanosleep(c71728a0,ef201c34,ef201c3c,c8,0,...) at kern_nanosleep+0xc1 nanosleep(c71728a0,ef201cec,ef201d28,c0e8ba9e,0,...) at nanosleep+0x6f syscallenter(c71728a0,ef201ce4,ef201ce4,0,0,...) at syscallenter+0x263 syscall(ef201d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28165b67, esp = 0xbfbfedbc, ebp = 0xbfbfee08 --- Tracing command sh pid 2109 tid 100106 td 0xc71722e0 sched_switch(c71722e0,0,104,191,5e718470,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c71722e0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c780b834,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c780b834,c780b8bc,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c71722e0,ffffffff,ef207c44,2,0,...) at kern_wait+0xbe6 wait4(c71722e0,ef207cec,2820ed08,1,0,...) at wait4+0x3b syscallenter(c71722e0,ef207ce4,c0cd2d3d,c1010f70,0,...) at syscallenter+0x263 syscall(ef207d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2816993b, esp = 0xbfbfeb9c, ebp = 0xbfbfebb8 --- Tracing command cron pid 2098 tid 100090 td 0xc74232e0 sched_switch(c74232e0,0,104,191,96e7a642,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c74232e0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(ea61,c09e7470,c74232e0,2,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012884,6c,c0e86f57,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012884,0,16c,c0e86f57,ea61,...) at _sleep+0x328 kern_nanosleep(c74232e0,ef1c5c34,ef1c5c3c,3c,0,...) at kern_nanosleep+0xc1 nanosleep(c74232e0,ef1c5cec,ef1c5d28,c0e8ba9e,0,...) at nanosleep+0x6f syscallenter(c74232e0,ef1c5ce4,ef1c5ce4,0,0,...) at syscallenter+0x263 syscall(ef1c5d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28184b67, esp = 0xbfbfec4c, ebp = 0xbfbfec78 --- Tracing command sendmail pid 2090 tid 100082 td 0xc74265c0 sched_switch(c74265c0,0,104,191,730ef1f,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,74,...) at mi_switch+0x219 sleepq_switch(c74265c0,0,c0e8b160,1a7,74,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c74215d0,74,c0d20e2e,100,0,...) at sleepq_wait_sig+0x17 _sleep(c74215d0,c7421600,174,c0d20e2e,0,...) at _sleep+0x35c kern_sigsuspend(c74265c0,0,0,0,0,...) at kern_sigsuspend+0xba sigsuspend(c74265c0,ef1a0cec,ef1a0d28,c0e8ba9e,0,...) at sigsuspend+0x4d syscallenter(c74265c0,ef1a0ce4,ef1a0ce4,0,246,...) at syscallenter+0x263 syscall(ef1a0d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (4, FreeBSD ELF32, write), eip = 0x28338c8b, esp = 0xbfbfcf9c, ebp = 0xbfbfcfc8 --- Tracing command sendmail pid 2086 tid 100133 td 0xc7821b80 sched_switch(c7821b80,0,104,191,7d2fea3f,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7821b80,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(ef273a14,c099890a,c73bd950,0,c7821b80,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c73bd964,0,ef273a4c,101,0,...) at sleepq_timedwait_sig+0x1a _cv_timedwait_sig(c73bd964,c73bd950,1389,627,c7431658,...) at _cv_timedwait_sig+0x252 seltdwait(ef273bf8,ef273c00,c715b800,c7821b80,ef273af8,...) at seltdwait+0x8a kern_select(c7821b80,5,bfbfc510,0,0,ef273c40,20,5,0) at kern_select+0x504 select(c7821b80,ef273cec,ef273d28,c0e8ba9e,0,...) at select+0x66 syscallenter(c7821b80,ef273ce4,ef273ce4,0,0,...) at syscallenter+0x263 syscall(ef273d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x283e05a3, esp = 0xbfbfc47c, ebp = 0xbfbfcfa8 --- Tracing command sshd pid 2078 tid 100100 td 0xc744c5c0 sched_switch(c744c5c0,0,104,191,bfe82970,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c744c5c0,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c7aa6a10,0,c0e83fe7,c744c5c0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7aa6a24,0,ef1f3a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7aa6a24,c7aa6a10,c0e8d765,627,c7430968,...) at _cv_wait_sig+0x243 seltdwait(c7430968,58,c73fc080,c744c5c0,f33,...) at seltdwait+0xa2 kern_select(c744c5c0,5,2880c0b0,0,0,0,20,c74b82bc,c74b82bc) at kern_select+0x504 select(c744c5c0,ef1f3cec,2880d070,1,0,...) at select+0x66 syscallenter(c744c5c0,ef1f3ce4,c0cd2d3d,c1010f70,0,...) at syscallenter+0x263 syscall(ef1f3d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x284bd5a3, esp = 0xbfbfe25c, ebp = 0xbfbfedf8 --- Tracing command moused pid 2018 tid 100120 td 0xc780f8a0 sched_switch(c780f8a0,0,104,191,fe81f435,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c780f8a0,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c7aa6a50,0,c0e83fe7,c780f8a0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7aa6a64,0,ef24ca4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7aa6a64,c7aa6a50,c0e8d765,627,c74591c0,...) at _cv_wait_sig+0x243 seltdwait(c74591c0,58,c6d9ee80,c780f8a0,14,...) at seltdwait+0xa2 kern_select(c780f8a0,6,bfbfea04,0,0,0,20,c785a834,c785a834) at kern_select+0x504 select(c780f8a0,ef24ccec,ef24cd28,c0e8ba9e,0,...) at select+0x66 syscallenter(c780f8a0,ef24cce4,ef24cce4,0,0,...) at syscallenter+0x263 syscall(ef24cd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x281b35a3, esp = 0xbfbfe99c, ebp = 0xbfbfeb28 --- Tracing command ntpd pid 1958 tid 100132 td 0xc78692e0 sched_switch(c78692e0,0,104,191,1fe353d2,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c78692e0,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c74a4950,0,c0e83fe7,c78692e0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c74a4964,0,ef270a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c74a4964,c74a4950,c0e8d765,627,c74c92a0,...) at _cv_wait_sig+0x243 seltdwait(c74c92a0,58,c6d9ee80,c78692e0,0,...) at seltdwait+0xa2 kern_select(c78692e0,1c,bfbfece8,0,0,0,20,c781d2bc,c781d2bc) at kern_select+0x504 select(c78692e0,ef270cec,ef270d80,ef270c88,0,...) at select+0x66 syscallenter(c78692e0,ef270ce4,c0cd29f6,fffffffe,246,...) at syscallenter+0x263 syscall(ef270d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x283625a3, esp = 0xbfbfecbc, ebp = 0xbfbfed88 --- Tracing command nfsd pid 1842 tid 100151 td 0xc78668a0 sched_switch(c78668a0,0,104,191,b6feeb71,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c78668a0,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(ef2f1be0,c099890a,c7862000,0,c78668a0,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c7a05810,0,ef2f1c18,101,0,...) at sleepq_timedwait_sig+0x1a _cv_timedwait_sig(c7a05810,c7862000,1388,3b1,0,...) at _cv_timedwait_sig+0x252 svc_run_internal(ef2f1d14,c097bbc8,c7862000,ef2f1d28,c0e8034c,...) at svc_run_internal+0x356 svc_thread_start(c7862000,ef2f1d28,c0e8034c,390,c74b8834,...) at svc_thread_start+0x10 fork_exit(c0b8ad70,c7862000,ef2f1d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0x804c12e, eip = 0xc, esp = 0x33, ebp = 0 --- Tracing command nfsd pid 1842 tid 100150 td 0xc7866b80 sched_switch(c7866b80,0,104,191,3f17f6bc,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7866b80,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(ef2eebe0,c099890a,c7862000,0,c7866b80,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c7a08490,0,ef2eec18,101,0,...) at sleepq_timedwait_sig+0x1a _cv_timedwait_sig(c7a08490,c7862000,1388,3b1,0,...) at _cv_timedwait_sig+0x252 svc_run_internal(ef2eed14,c097bbc8,c7862000,ef2eed28,c0e8034c,...) at svc_run_internal+0x356 svc_thread_start(c7862000,ef2eed28,c0e8034c,390,c74b8834,...) at svc_thread_start+0x10 fork_exit(c0b8ad70,c7862000,ef2eed28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0x804c12e, eip = 0xc, esp = 0x33, ebp = 0 --- Tracing command nfsd pid 1842 tid 100149 td 0xc7869000 sched_switch(c7869000,0,104,191,1ee66ee9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7869000,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(ef2ebbe0,c099890a,c7862000,0,c7869000,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c7a07d50,0,ef2ebc18,101,0,...) at sleepq_timedwait_sig+0x1a _cv_timedwait_sig(c7a07d50,c7862000,1388,3b1,0,...) at _cv_timedwait_sig+0x252 svc_run_internal(ef2ebd14,c097bbc8,c7862000,ef2ebd28,c0e8034c,...) at svc_run_internal+0x356 svc_thread_start(c7862000,ef2ebd28,c0e8034c,390,c74b8834,...) at svc_thread_start+0x10 fork_exit(c0b8ad70,c7862000,ef2ebd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0x804c12e, eip = 0xc, esp = 0x33, ebp = 0 --- Tracing command nfsd pid 1842 tid 100098 td 0xc744cb80 sched_switch(c744cb80,0,104,191,909c622,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c744cb80,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(ef1edab4,c099890a,c7862000,0,c744cb80,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c7a05850,0,ef1edaec,101,0,...) at sleepq_timedwait_sig+0x1a _cv_timedwait_sig(c7a05850,c7862000,1388,3b1,ef1edb34,...) at _cv_timedwait_sig+0x252 svc_run_internal(c744cd30,14,c0eb3cfa,c79e760f,ef1edc10,...) at svc_run_internal+0x356 svc_run(c7862000,0,c79e7a4f,1c2,0,...) at svc_run+0x7b nfssvc_nfsd(bfbfe870,ef1edc10,c,c6d9ee80,ef1edc24,...) at nfssvc_nfsd+0xb7 nfssvc_nfsserver(c744cb80,ef1edcec,c74b8834,0,ef1edc7c,...) at nfssvc_nfsserver+0x55 nfssvc(c744cb80,ef1edcec,ef1edd28,c0e8ba9e,0,...) at nfssvc+0x89 syscallenter(c744cb80,ef1edce4,ef1edce4,0,0,...) at syscallenter+0x263 syscall(ef1edd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (155, FreeBSD ELF32, nfssvc), eip = 0x280dd86b, esp = 0xbfbfe82c, ebp = 0xbfbfea98 --- Tracing command nfsd pid 1841 tid 100125 td 0xc74a78a0 sched_switch(c74a78a0,0,104,191,e36f6a3b,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c74a78a0,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c73bd7d0,0,c0e83fe7,c74a78a0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c73bd7e4,0,ef25ba4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c73bd7e4,c73bd7d0,c0e8d765,627,c74306c8,...) at _cv_wait_sig+0x243 seltdwait(c74306c8,58,c6d9ee80,c74a78a0,f33,...) at seltdwait+0xa2 kern_select(c74a78a0,5,bfbfecb4,0,0,0,20,c7858834,c7858834) at kern_select+0x504 select(c74a78a0,ef25bcec,bfbffff4,1,0,...) at select+0x66 syscallenter(c74a78a0,ef25bce4,c0cd2d3d,c1010f70,0,...) at syscallenter+0x263 syscall(ef25bd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x281845a3, esp = 0xbfbfea9c, ebp = 0xbfbfede8 --- Tracing command mountd pid 1832 tid 100092 td 0xc744e000 sched_switch(c744e000,0,104,191,d6b7add,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c744e000,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c73bd790,0,c0e83fe7,c744e000,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c73bd7a4,0,ef1d4a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c73bd7a4,c73bd790,c0e8d765,627,c7459428,...) at _cv_wait_sig+0x243 seltdwait(c7459428,58,c6d9ee80,c744e000,c115b748,...) at seltdwait+0xa2 kern_select(c744e000,9,bfbfed3c,0,0,0,20,c74b9af0,c74b9af0) at kern_select+0x504 select(c744e000,ef1d4cec,ef1d4d28,c0e8ba9e,0,...) at select+0x66 syscallenter(c744e000,ef1d4ce4,ef1d4ce4,0,0,...) at syscallenter+0x263 syscall(ef1d4d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x2819a5a3, esp = 0xbfbfed0c, ebp = 0xbfbfedd8 --- Tracing command rpcbind pid 1733 tid 100123 td 0xc780f000 sched_switch(c780f000,0,104,191,555514a6,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c780f000,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(ef255a6c,c099890a,c73bd6d0,0,c780f000,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c73bd6e4,0,ef255aa4,101,0,...) at sleepq_timedwait_sig+0x1a _cv_timedwait_sig(c73bd6e4,c73bd6d0,7531,627,ef255b5c,...) at _cv_timedwait_sig+0x252 seltdwait(ef255c2c,ef255c34,535,c780f000,ef255b2c,...) at seltdwait+0x8a poll(c780f000,ef255cec,ef255d28,c0e8ba9e,0,...) at poll+0x300 syscallenter(c780f000,ef255ce4,ef255ce4,0,0,...) at syscallenter+0x263 syscall(ef255d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (209, FreeBSD ELF32, poll), eip = 0x2813f7ab, esp = 0xbfbfcbac, ebp = 0xbfbfed78 --- Tracing command syslogd pid 1708 tid 100084 td 0xc7426000 sched_switch(c7426000,0,104,191,e046d453,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7426000,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c73bda50,0,c0e83fe7,c7426000,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c73bda64,0,ef1a9a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c73bda64,c73bda50,c0e8d765,627,c7430000,...) at _cv_wait_sig+0x243 seltdwait(c7430000,58,c6d9ee80,c7426000,0,...) at seltdwait+0xa2 kern_select(c7426000,9,2847f0ac,0,0,0,20,c7421000,c7421000) at kern_select+0x504 select(c7426000,ef1a9cec,ef1a9d28,c0e8ba9e,0,...) at select+0x66 syscallenter(c7426000,ef1a9ce4,ef1a9ce4,0,246,...) at syscallenter+0x263 syscall(ef1a9d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x281995a3, esp = 0xbfbfe29c, ebp = 0xbfbfede8 --- Tracing command devd pid 1507 tid 100113 td 0xc7810000 sched_switch(c7810000,0,104,191,cffcd04,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7810000,0,c0e8b160,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c099890a,c73bd150,0,c0e83fe7,c7810000,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c73bd164,0,ef21ca4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c73bd164,c73bd150,c0e8d765,627,c74312a0,...) at _cv_wait_sig+0x243 seltdwait(c74312a0,58,c6d9ee80,c7810000,c0ebd381,...) at seltdwait+0xa2 kern_select(c7810000,5,bfbfe960,0,0,0,20,c74bb2bc,c74bb2bc) at kern_select+0x504 select(c7810000,ef21ccec,ef21cd28,c0e8ba9e,0,...) at select+0x66 syscallenter(c7810000,ef21cce4,ef21cce4,0,0,...) at syscallenter+0x263 syscall(ef21cd28) 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 cpustop_handler(1,ecf96a74,c0cd25f6,ee,0,...) at cpustop_handler+0x34 ipi_nmi_handler(ee,0,1463740,c09a7fd5,c73a42bc,...) at ipi_nmi_handler+0x2f trap(ecf96a80) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc09a7fd5, esp = 0xecf96ac0, ebp = 0xecf96ae4 --- panic(c0e92589,e076c980,e076c980,c7e0be90,e076c980,...) at panic+0x35 bremfree(e076c980,0,c0e924cb,a78,60,...) at bremfree+0x21 getblk(c7e0bd98,20760,0,4000,0,...) at getblk+0x1cb breadn(c7e0bd98,20760,0,4000,0,...) at breadn+0x44 bread(c7e0bd98,20760,0,4000,0,...) at bread+0x4c ffs_update(c8632ae0,0,c0eb84fc,2286,0,...) at ffs_update+0x172 handle_workitem_remove(0,ecf96c78,2,65e,1,...) at handle_workitem_remove+0x4d3 process_worklist_item(c118ef28,0,c0eb84fc,5a8,c7045b80,...) at process_worklist_item+0x203 softdep_process_worklist(c77712d4,0,c0eb84fc,538,3e8,...) at softdep_process_worklist+0x83 softdep_flush(0,ecf96d28,c0e8034c,390,c73a42bc,...) at softdep_flush+0x2a0 fork_exit(c0bd8550,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 cpustop_handler(2,ecf93ad8,c0cd25f6,ee,0,...) at cpustop_handler+0x34 ipi_nmi_handler(ee,0,190e0c0,c09a7fd0,c73a4578,...) at ipi_nmi_handler+0x2f trap(ecf93ae4) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc09a7fd5, esp = 0xecf93b24, ebp = 0xecf93b48 --- panic(c0e76dc9,e0750c40,c0ebb839,ff,0,...) at panic+0x35 ffs_syncvnode(c7d25570,3,c7170000,566,c0e83fe7,...) at ffs_syncvnode+0x1c8 ffs_sync(c77712d4,3,c0e94e72,db7,c77712d4,...) at ffs_sync+0x26f sync_fsync(ecf93c6c,c0ed974f,c7d7cd00,ecf93c6c,c7d7cc3c,...) at sync_fsync+0x18f VOP_FSYNC_APV(c0fa9dc0,ecf93c6c,c0e94e72,6c6,c7170000,...) at VOP_FSYNC_APV+0xc5 sync_vnode(c1188a14,c1188a00,3e8,76a,4e20,...) at sync_vnode+0x16b sched_sync(0,ecf93d28,c0e8034c,390,c73a4578,...) at sched_sync+0x282 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,2ba02fe0,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,60,...) at mi_switch+0x219 sleepq_switch(c71702e0,0,c0e8b160,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c73a4834,60,c0e95de4,0,0,...) at sleepq_timedwait+0x6b _sleep(c73a4834,c11889d4,260,c0e95de4,3e8,...) at _sleep+0x342 vnlru_proc(0,ecf90d28,c0e8034c,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,3fd0f517,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,54,...) at mi_switch+0x219 sleepq_switch(c71705c0,0,c0e8b160,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c11886a8,54,c0e92e12,0,0,...) at sleepq_timedwait+0x6b _sleep(c11886a8,c11886b0,54,c0e92e12,3e8,...) at _sleep+0x342 buf_daemon(0,ecf8dd28,c0e8034c,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,226e5869,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c71708a0,0,c0e8b160,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c1190ddc,0,c0ec0e48,0,0,...) at sleepq_timedwait+0x6b _sleep(c1190ddc,c118f880,0,c0ec0e48,493e0,...) at _sleep+0x342 vm_pagezero(0,ecf8ad28,c0e8034c,390,c73a6000,...) at vm_pagezero+0xdc fork_exit(c0c1acf0,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,2267c8db,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,74,...) at mi_switch+0x219 sleepq_switch(c7170b80,0,c0e8b160,268,0,...) at sleepq_switch+0x162 sleepq_wait(c11909c8,74,c0e92e12,0,0,...) at sleepq_wait+0x63 _sleep(c11909c8,c11909cc,74,c0e92e12,0,...) at _sleep+0x372 vm_daemon(0,ecf87d28,c0e8034c,390,c6dbe2bc,...) at vm_daemon+0x59 fork_exit(c0c148b0,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,de0295f9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,54,...) at mi_switch+0x219 sleepq_switch(c7171000,0,c0e8b160,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c1190990,54,c0e92e12,0,0,...) at sleepq_timedwait+0x6b _sleep(c1190990,c118f880,54,c0e92e12,1388,...) at _sleep+0x342 vm_pageout(0,ecf84d28,c0e8034c,390,c6dbe578,...) at vm_pageout+0x2c7 fork_exit(c0c158d0,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,1e483b5a,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c71712e0,0,c0e8b160,268,0,...) at sleepq_switch+0x162 sleepq_wait(c0fd7754,5c,c0cf9c52,0,0,...) at sleepq_wait+0x63 _sleep(c0fd7754,c0fd7798,5c,c0cf9c52,0,...) at _sleep+0x372 xpt_scanner_thread(0,ecf81d28,c0e8034c,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,fe64f79b,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c71715c0,0,c0e8b160,268,0,...) at sleepq_switch+0x162 sleepq_wait(c118a4d8,0,c0ea8dbf,0,0,...) at sleepq_wait+0x63 _sleep(c118a4d8,c118a4a0,0,c0ea8dbf,0,...) at _sleep+0x372 sctp_iterator_thread(0,ecf7ed28,c0e8034c,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,3bc74809,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c70362e0,0,c0e8b160,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c6fe143c,5c,c0e78e72,0,0,...) at sleepq_timedwait+0x6b _sleep(c6fe143c,c6fe14f0,5c,c0e78e72,3e8,...) at _sleep+0x342 fdc_thread(c6fe1400,ecf72d28,c0e8034c,390,c701e000,...) at fdc_thread+0x27d fork_exit(c0c99e60,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,1e6c30dc,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c70368a0,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c706b000,6c,c0e78e72,100,0,...) at sleepq_wait_sig+0x17 _sleep(c706b000,c706f488,16c,c0e78e72,0,...) at _sleep+0x35c fw_bus_probe_thread(c706b000,ecf62d28,c0e8034c,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,ba4513f,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70435c0,0,c0e8b160,268,c70435c0,...) at sleepq_switch+0x162 sleepq_wait(c704bd34,0,ecf4fcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c704bd34,c704bdd4,c0e5751e,6b,c704bd3c,...) at _cv_wait+0x243 usb_process(c704bd2c,ecf4fd28,c0e8034c,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,144f081c,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70438a0,0,c0e8b160,268,c70438a0,...) at sleepq_switch+0x162 sleepq_wait(c704bd04,0,ecf4ccac,1,0,...) at sleepq_wait+0x63 _cv_wait(c704bd04,c704bdd4,c0e5751e,6b,c704bd0c,...) at _cv_wait+0x243 usb_process(c704bcfc,ecf4cd28,c0e8034c,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,b3b08c1,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7043b80,0,c0e8b160,268,c7043b80,...) at sleepq_switch+0x162 sleepq_wait(c704bcd4,0,ecf49cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c704bcd4,c704bdd4,c0e5751e,6b,c704bcdc,...) at _cv_wait+0x243 usb_process(c704bccc,ecf49d28,c0e8034c,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,b3af6df,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7045000,0,c0e8b160,268,c7045000,...) at sleepq_switch+0x162 sleepq_wait(c704bca4,0,ecf46cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c704bca4,c704bdd4,c0e5751e,6b,c704bcac,...) at _cv_wait+0x243 usb_process(c704bc9c,ecf46d28,c0e8034c,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,b3ae264,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70455c0,0,c0e8b160,268,c70455c0,...) at sleepq_switch+0x162 sleepq_wait(c7040b5c,0,ecf3dcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7040b5c,c7040bfc,c0e5751e,6b,c7040b64,...) at _cv_wait+0x243 usb_process(c7040b54,ecf3dd28,c0e8034c,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,144dff48,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7034000,0,c0e8b160,268,c7034000,...) at sleepq_switch+0x162 sleepq_wait(c7040b2c,0,ecf3acac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7040b2c,c7040bfc,c0e5751e,6b,c7040b34,...) at _cv_wait+0x243 usb_process(c7040b24,ecf3ad28,c0e8034c,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,ad34639,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70342e0,0,c0e8b160,268,c70342e0,...) at sleepq_switch+0x162 sleepq_wait(c7040afc,0,ecf37cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7040afc,c7040bfc,c0e5751e,6b,c7040b04,...) at _cv_wait+0x243 usb_process(c7040af4,ecf37d28,c0e8034c,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,ad333f1,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70345c0,0,c0e8b160,268,c70345c0,...) at sleepq_switch+0x162 sleepq_wait(c7040acc,0,ecf34cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7040acc,c7040bfc,c0e5751e,6b,c7040ad4,...) at _cv_wait+0x243 usb_process(c7040ac4,ecf34d28,c0e8034c,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,ad31bda,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70348a0,0,c0e8b160,268,c70348a0,...) at sleepq_switch+0x162 sleepq_wait(c7039b5c,0,e0bffcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7039b5c,c7039bfc,c0e5751e,6b,c7039b64,...) at _cv_wait+0x243 usb_process(c7039b54,e0bffd28,c0e8034c,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,144d2518,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7034b80,0,c0e8b160,268,c7034b80,...) at sleepq_switch+0x162 sleepq_wait(c7039b2c,0,e0bfccac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7039b2c,c7039bfc,c0e5751e,6b,c7039b34,...) at _cv_wait+0x243 usb_process(c7039b24,e0bfcd28,c0e8034c,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,4de7fc7,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7035000,0,c0e8b160,268,c7035000,...) at sleepq_switch+0x162 sleepq_wait(c7039afc,0,e0bf9cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7039afc,c7039bfc,c0e5751e,6b,c7039b04,...) at _cv_wait+0x243 usb_process(c7039af4,e0bf9d28,c0e8034c,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,4de6fba,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70352e0,0,c0e8b160,268,c70352e0,...) at sleepq_switch+0x162 sleepq_wait(c7039acc,0,e0bf6cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7039acc,c7039bfc,c0e5751e,6b,c7039ad4,...) at _cv_wait+0x243 usb_process(c7039ac4,e0bf6d28,c0e8034c,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,4de5b8a,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70355c0,0,c0e8b160,268,c70355c0,...) at sleepq_switch+0x162 sleepq_wait(c702fb5c,0,e0bf2cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c702fb5c,c702fbfc,c0e5751e,6b,c702fb64,...) at _cv_wait+0x243 usb_process(c702fb54,e0bf2d28,c0e8034c,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,1433f6a0,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70358a0,0,c0e8b160,268,c70358a0,...) at sleepq_switch+0x162 sleepq_wait(c702fb2c,0,e0befcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c702fb2c,c702fbfc,c0e5751e,6b,c702fb34,...) at _cv_wait+0x243 usb_process(c702fb24,e0befd28,c0e8034c,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,4777990,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7035b80,0,c0e8b160,268,c7035b80,...) at sleepq_switch+0x162 sleepq_wait(c702fafc,0,e0beccac,1,0,...) at sleepq_wait+0x63 _cv_wait(c702fafc,c702fbfc,c0e5751e,6b,c702fb04,...) at _cv_wait+0x243 usb_process(c702faf4,e0becd28,c0e8034c,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,477674d,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7036000,0,c0e8b160,268,c7036000,...) at sleepq_switch+0x162 sleepq_wait(c702facc,0,e0be9cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c702facc,c702fbfc,c0e5751e,6b,c702fad4,...) at _cv_wait+0x243 usb_process(c702fac4,e0be9d28,c0e8034c,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,47752c2,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c701f2e0,0,c0e8b160,268,c701f2e0,...) at sleepq_switch+0x162 sleepq_wait(c7029b5c,0,e0be2cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7029b5c,c7029bfc,c0e5751e,6b,c7029b64,...) at _cv_wait+0x243 usb_process(c7029b54,e0be2d28,c0e8034c,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,14331bae,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c701f5c0,0,c0e8b160,268,c701f5c0,...) at sleepq_switch+0x162 sleepq_wait(c7029b2c,0,e0bdfcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7029b2c,c7029bfc,c0e5751e,6b,c7029b34,...) at _cv_wait+0x243 usb_process(c7029b24,e0bdfd28,c0e8034c,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,410bef7,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c701f8a0,0,c0e8b160,268,c701f8a0,...) at sleepq_switch+0x162 sleepq_wait(c7029afc,0,e0bdccac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7029afc,c7029bfc,c0e5751e,6b,c7029b04,...) at _cv_wait+0x243 usb_process(c7029af4,e0bdcd28,c0e8034c,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,410acf9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c701fb80,0,c0e8b160,268,c701fb80,...) at sleepq_switch+0x162 sleepq_wait(c7029acc,0,e0bd9cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7029acc,c7029bfc,c0e5751e,6b,c7029ad4,...) at _cv_wait+0x243 usb_process(c7029ac4,e0bd9d28,c0e8034c,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,4109851,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70222e0,0,c0e8b160,268,c70222e0,...) at sleepq_switch+0x162 sleepq_wait(c7019b5c,0,e0bd2cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7019b5c,c7019bfc,c0e5751e,6b,c7019b64,...) at _cv_wait+0x243 usb_process(c7019b54,e0bd2d28,c0e8034c,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,14322702,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70225c0,0,c0e8b160,268,c70225c0,...) at sleepq_switch+0x162 sleepq_wait(c7019b2c,0,e0bcfcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7019b2c,c7019bfc,c0e5751e,6b,c7019b34,...) at _cv_wait+0x243 usb_process(c7019b24,e0bcfd28,c0e8034c,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,3a98ecc,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70228a0,0,c0e8b160,268,c70228a0,...) at sleepq_switch+0x162 sleepq_wait(c7019afc,0,e0bcccac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7019afc,c7019bfc,c0e5751e,6b,c7019b04,...) at _cv_wait+0x243 usb_process(c7019af4,e0bccd28,c0e8034c,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,3a97928,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7022b80,0,c0e8b160,268,c7022b80,...) at sleepq_switch+0x162 sleepq_wait(c7019acc,0,e0bc9cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7019acc,c7019bfc,c0e5751e,6b,c7019ad4,...) at _cv_wait+0x243 usb_process(c7019ac4,e0bc9d28,c0e8034c,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,364f73f5,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6ecb5c0,0,c0e8b160,28b,2,...) at sleepq_switch+0x162 sleepq_timedwait(c1011684,0,c0e78e72,2,0,...) at sleepq_timedwait+0x6b _sleep(c1011684,0,0,c0e78e72,64,...) at _sleep+0x342 pause(c0e78e72,64,c0e45f2e,111,0,...) at pause+0x47 random_kthread(0,c6b55d28,c0e8034c,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,4020e444,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c6ecbb80,0,c0e8b160,268,0,...) at sleepq_switch+0x162 sleepq_wait(c100f2c8,5c,c0e78e72,0,0,...) at sleepq_wait+0x63 _sleep(c100f2c8,c100f228,25c,c0e78e72,0,...) at _sleep+0x372 g_io_schedule_down(c6ecbb80,0,c0e7a9c5,6c,c6b4fd14,...) at g_io_schedule_down+0x5b g_down_procbody(0,c6b4fd28,c0e8034c,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,3fd2a7e3,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c6ecc000,0,c0e8b160,268,0,...) at sleepq_switch+0x162 sleepq_wait(c100f2c4,5c,c0e78e72,0,0,...) at sleepq_wait+0x63 _sleep(c100f2c4,c100f248,25c,c0e78e72,0,...) at _sleep+0x372 g_io_schedule_up(c6ecc000,0,c0e7a9c5,5f,c6b4cd14,...) at g_io_schedule_up+0x134 g_up_procbody(0,c6b4cd28,c0e8034c,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,cfc2874,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c6dc02e0,0,c0e8b160,268,0,...) at sleepq_switch+0x162 sleepq_wait(c100f2bc,5c,c0e78e72,0,0,...) at sleepq_wait+0x63 _sleep(c100f2bc,c100f1ec,25c,c0e78e72,0,...) at _sleep+0x372 g_run_events(c101f500,0,c0e7a9c5,79,c6b49d14,...) at g_run_events+0x526 g_event_procbody(0,c6b49d28,c0e8034c,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,3a5c208,...) at sched_switch+0x3bc mi_switch(109,0,c0e80671,554,c7172000,...) at mi_switch+0x219 ithread_loop(c7162ae0,ecf75d28,c0e8034c,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,8146d277,...) at sched_switch+0x3bc mi_switch(109,0,c0e80671,554,c70365c0,...) at mi_switch+0x219 ithread_loop(c7162b70,ecf65d28,c0e8034c,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,3a55959,...) at sched_switch+0x3bc mi_switch(109,0,c0e80671,554,c7043000,...) at mi_switch+0x219 ithread_loop(c701db60,ecf59d28,c0e8034c,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,1f3ccf19,...) at sched_switch+0x3bc mi_switch(109,0,c0e80671,554,c70432e0,...) at mi_switch+0x219 ithread_loop(c701d210,ecf55d28,c0e8034c,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,28ea7744,...) at sched_switch+0x3bc mi_switch(109,0,c0e80671,554,c701f000,...) at mi_switch+0x219 ithread_loop(c70028a0,e0be6d28,c0e8034c,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,2356d77f,...) at sched_switch+0x3bc mi_switch(109,0,c0e80671,554,c7022000,...) at mi_switch+0x219 ithread_loop(c7002ab0,e0bd6d28,c0e8034c,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,2168a860,...) at sched_switch+0x3bc mi_switch(109,0,c0e80671,554,c6ecc2e0,...) at mi_switch+0x219 ithread_loop(c701d080,e0bc6d28,c0e8034c,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,e89c80d6,...) at sched_switch+0x3bc mi_switch(109,0,c0e80671,554,c6ecc5c0,...) at mi_switch+0x219 ithread_loop(c7002340,e0a70d28,c0e8034c,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,3f951387,...) at sched_switch+0x3bc mi_switch(109,0,c0e80671,554,c6ecc8a0,...) at mi_switch+0x219 ithread_loop(c70024e0,e0a6cd28,c0e8034c,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,e89d106e,...) at sched_switch+0x3bc mi_switch(109,0,c0e80671,554,c6eccb80,...) at mi_switch+0x219 ithread_loop(c6d83380,c6b73d28,c0e8034c,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,d532e364,...) at sched_switch+0x3bc mi_switch(109,0,c0e80671,554,c6e068a0,...) at mi_switch+0x219 ithread_loop(c6d83430,c6b61d28,c0e8034c,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 fork_trampoline() at fork_trampoline 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,2b936204,...) at sched_switch+0x3bc mi_switch(109,0,c0e80671,554,c6dc05c0,...) at mi_switch+0x219 ithread_loop(c6d836d0,c6b46d28,c0e8034c,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,3f35c9ee,...) at sched_switch+0x3bc mi_switch(109,0,c0e80671,554,c6dc08a0,...) at mi_switch+0x219 ithread_loop(c6d836e0,c6b43d28,c0e8034c,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,161e36ed,...) at sched_switch+0x3bc mi_switch(109,0,c0e80671,554,c6dc0b80,...) at mi_switch+0x219 ithread_loop(c6d836f0,c6b40d28,c0e8034c,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,3bc7a73b,...) at sched_switch+0x3bc mi_switch(109,0,c0e80671,554,c6e06000,...) at mi_switch+0x219 ithread_loop(c6d83700,c6b3dd28,c0e8034c,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,c33bfa50,...) at sched_switch+0x3bc mi_switch(109,0,c0e80671,554,c6e065c0,...) at mi_switch+0x219 ithread_loop(c6d83720,c6b37d28,c0e8034c,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,3bca0e52,...) at sched_switch+0x3bc mi_switch(108,0,c0e87a2b,3b9,c6dbf000,...) at mi_switch+0x219 sched_idletd(0,c6b33d28,c0e8034c,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,7baa2f07,...) at sched_switch+0x3bc mi_switch(108,0,c0e87a2b,3b9,c6dbf2e0,...) at mi_switch+0x219 sched_idletd(0,c6b30d28,c0e8034c,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,f71e69ce,...) at sched_switch+0x3bc mi_switch(108,0,c0e87a2b,3b9,c6dbf5c0,...) at mi_switch+0x219 sched_idletd(0,c6b2dd28,c0e8034c,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 cpustop_handler(8,c6b2abf8,c0cd25f6,c6b2ab78,46,...) at cpustop_handler+0x34 ipi_nmi_handler(c6b2ab78,46,c6b20c80,c6b2ab94,c6dbd834,...) at ipi_nmi_handler+0x2f trap(c6b2ac04) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc09cfe0a, esp = 0xc6b2ac44, ebp = 0xc6b2ac70 --- sched_switch(c6dbf8a0,0,108,18c,44e246ad,...) at sched_switch+0x42a mi_switch(108,0,c0e87a2b,3b9,c6dbf8a0,...) at mi_switch+0x219 sched_idletd(0,c6b2ad28,c0e8034c,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,c39ebcfd,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c6dbfb80,0,c0e8b160,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8b160,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6dbdaf0,6c,c0e8def2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c6dbdaf0,c6dbdb78,16c,c0e8def2,0,...) at _sleep+0x35c kern_wait(c6dbfb80,ffffffff,c6b26c44,0,0,...) at kern_wait+0xbe6 wait4(c6dbfb80,c6b26cec,c6b26d28,c0e8ba9e,0,...) at wait4+0x3b syscallenter(c6dbfb80,c6b26ce4,c6b26ce4,0,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,3a75bd6,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6dc0000,0,c0e8b160,268,c6dc0000,...) at sleepq_switch+0x162 sleepq_wait(c118e700,0,c6b23c8c,1,0,...) at sleepq_wait+0x63 _cv_wait(c118e700,c118e6e4,c0eb5777,194,0,...) at _cv_wait+0x243 audit_worker(0,c6b23d28,c0e8034c,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,2273c8b9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70458a0,0,c0e8b160,268,0,...) at sleepq_switch+0x162 sleepq_wait(c71853c0,0,c0e78e72,0,0,...) at sleepq_wait+0x63 _sleep(c71853c0,c71853d8,0,c0e78e72,0,...) at _sleep+0x372 taskqueue_thread_loop(c11e61a0,ef185d28,c0e8034c,390,c100f3a0,...) at taskqueue_thread_loop+0xb5 fork_exit(c09ea9e0,c11e61a0,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,496cd475,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c71718a0,0,c0e8b160,28b,2,...) at sleepq_switch+0x162 sleepq_timedwait(c1011684,0,c0e78e72,2,0,...) at sleepq_timedwait+0x6b _sleep(c1011684,0,0,c0e78e72,bb8,...) at _sleep+0x342 pause(c0e78e72,bb8,124,122,c100f428,...) at pause+0x47 deadlkres(0,ecf7bd28,c0e8034c,390,c100f3a0,...) 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,35e07574,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7036b80,0,c0e8b160,268,0,...) at sleepq_switch+0x162 sleepq_wait(c7073900,0,c0e86781,c0e78e72,0,...) at sleepq_wait+0x63 msleep_spin(c7073900,c7073918,c0e78e72,0,c0e83fe7,...) at msleep_spin+0x21d taskqueue_thread_loop(c706f49c,ecf5fd28,c0e8034c,390,c100f3a0,...) 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,1e4f4514,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6fab000,0,c0e8b160,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d92340,0,c0e86781,c0e78e72,0,...) at sleepq_wait+0x63 msleep_spin(c6d92340,c6d92358,c0e78e72,0,c0e83fe7,...) at msleep_spin+0x21d taskqueue_thread_loop(c0fda638,c6b70d28,c0e8034c,390,c100f3a0,...) at taskqueue_thread_loop+0x8f fork_exit(c09ea9e0,c0fda638,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,1e4f38a9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6fab2e0,0,c0e8b160,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d92340,0,c0e86781,c0e78e72,0,...) at sleepq_wait+0x63 msleep_spin(c6d92340,c6d92358,c0e78e72,0,c0e83fe7,...) at msleep_spin+0x21d taskqueue_thread_loop(c0fda638,c6b6dd28,c0e8034c,390,c100f3a0,...) at taskqueue_thread_loop+0x8f fork_exit(c09ea9e0,c0fda638,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,1e4f2879,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6fab5c0,0,c0e8b160,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d92340,0,c0e86781,c0e78e72,0,...) at sleepq_wait+0x63 msleep_spin(c6d92340,c6d92358,c0e78e72,0,c0e83fe7,...) at msleep_spin+0x21d taskqueue_thread_loop(c0fda638,c6b6ad28,c0e8034c,390,c100f3a0,...) at taskqueue_thread_loop+0x8f fork_exit(c09ea9e0,c0fda638,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,1e48c3f1,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6fab8a0,0,c0e8b160,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d92380,0,c0e78e72,0,0,...) at sleepq_wait+0x63 _sleep(c6d92380,c6d92398,0,c0e78e72,0,...) at _sleep+0x372 taskqueue_thread_loop(c100fd18,c6b67d28,c0e8034c,390,c100f3a0,...) at taskqueue_thread_loop+0xb5 fork_exit(c09ea9e0,c100fd18,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,1e48b209,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6fabb80,0,c0e8b160,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d923c0,0,c0e78e72,0,0,...) at sleepq_wait+0x63 _sleep(c6d923c0,c6d923d8,0,c0e78e72,0,...) at _sleep+0x372 taskqueue_thread_loop(c118ece4,c6b64d28,c0e8034c,390,c100f3a0,...) at taskqueue_thread_loop+0xb5 fork_exit(c09ea9e0,c118ece4,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,20eb98b9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6ecb000,0,c0e8b160,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d92500,0,c0e78e72,0,0,...) at sleepq_wait+0x63 _sleep(c6d92500,c6d92518,0,c0e78e72,0,...) at _sleep+0x372 taskqueue_thread_loop(c102e228,c6b5bd28,c0e8034c,390,c100f3a0,...) at taskqueue_thread_loop+0xb5 fork_exit(c09ea9e0,c102e228,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,41a9d514,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6ecb8a0,0,c0e8b160,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d92a80,0,c0e78e72,0,0,...) at sleepq_wait+0x63 _sleep(c6d92a80,c6d92a98,0,c0e78e72,0,...) at _sleep+0x372 taskqueue_thread_loop(c102cca0,c6b52d28,c0e8034c,390,c100f3a0,...) at taskqueue_thread_loop+0xb5 fork_exit(c09ea9e0,c102cca0,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 0xc100f660 sched_switch(c100f660,0,104,191,c695ca53,...) at sched_switch+0x3bc mi_switch(104,0,c0e8b160,1f3,54,...) at mi_switch+0x219 sleepq_switch(c100f660,0,c0e8b160,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c100f3a0,54,c0e8833f,0,0,...) at sleepq_timedwait+0x6b _sleep(c100f3a0,0,54,c0e8833f,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 213 MB: 198 182 166 150 134 118 102 86 70 54 38 22 6 Dump complete = 0xf db:0:doadump> reset cpu_reset: Restarting BSP cpu_reset_proxy: Stopped CPU 2 (kgdb) bt #0 doadump () at pcpu.h:244 #1 0xc04ddcb9 in db_fncall (dummy1=0xc09dcaca, dummy2=0x0, dummy3=0xffffffff, dummy4=0xef24f448 "\\ô$ï") at ../../../ddb/db_command.c:548 #2 0xc04de0ef in db_command (last_cmdp=0xc0fd87fc, cmd_table=0x0, dopager=0x0) at ../../../ddb/db_command.c:445 #3 0xc04de1a4 in db_command_script (command=0xc0fd9708 "call doadump") at ../../../ddb/db_command.c:516 #4 0xc04e2470 in db_script_exec (scriptname=0xc0fd9060 "doadump", warnifnotfound=Variable "warnifnotfound" is not available. ) at ../../../ddb/db_script.c:302 #5 0xc04e2501 in db_run_cmd (addr=0x1, have_addr=0x0, count=0xc11b1180, modif=0xef24f580 "") at ../../../ddb/db_script.c:375 #6 0xc04de0b1 in db_command (last_cmdp=0xc0fd87fc, cmd_table=0x0, dopager=0x1) at ../../../ddb/db_command.c:445 #7 0xc04de20a in db_command_loop () at ../../../ddb/db_command.c:498 #8 0xc04e018d in db_trap (type=0x3, code=0x0) at ../../../ddb/db_main.c:229 #9 0xc09dcc42 in kdb_trap (type=0x3, code=0x0, tf=0xef24f730) at ../../../kern/subr_kdb.c:533 #10 0xc0cd2c2b in trap (frame=0xef24f730) at ../../../i386/i386/trap.c:719 #11 0xc0cbb93c in calltrap () at ../../../i386/i386/exception.s:168 #12 0xc09dcaca in kdb_enter (why=0xc0e85a33 "panic", msg=0xc0e85a33 "panic") at cpufunc.h:71 #13 0xc09a80d4 in panic (fmt=0xc0eb8afc "softdep_deallocate_dependencies: dangling deps") at ../../../kern/kern_shutdown.c:584 #14 0xc0bc82cb in softdep_deallocate_dependencies (bp=0xc0e85a33) at ../../../ufs/ffs/ffs_softdep.c:12834 #15 0xc0a27a40 in brelse (bp=0xe0750c40) at buf.h:419 #16 0xc0a2944f in bufwrite (bp=0xe0750c40) at ../../../kern/vfs_bio.c:940 #17 0xc0a2b1cc in getblk (vp=0xc7d25570, blkno=0x0, size=0x800, slpflag=0x0, slptimeo=0x0, flags=Variable "flags" is not available. ) at buf.h:386 #18 0xc0a2b904 in breadn (vp=0xc7d25570, blkno=Unhandled dwarf expression opcode 0x93 ) at ../../../kern/vfs_bio.c:849 #19 0xc0a2ba7c in bread (vp=0xc7d25570, blkno=Unhandled dwarf expression opcode 0x93 ) at ../../../kern/vfs_bio.c:797 #20 0xc0bda811 in ffs_blkatoff (vp=0xc7d25570, offset=0x0, res=0x0, bpp=0xef24f990) at ../../../ufs/ffs/ffs_subr.c:86 #21 0xc0be6e9e in ufs_lookup_ino (vdp=0xc7d25570, vpp=0xef24fbb8, cnp=0xef24fbcc, dd_ino=0x0) at ../../../ufs/ufs/ufs_lookup.c:365 #22 0xc0be775a in ufs_lookup (ap=0xef24f9f4) at ../../../ufs/ufs/ufs_lookup.c:214 #23 0xc0cf4085 in VOP_CACHEDLOOKUP_APV (vop=0xc0fbb840, a=0xef24f9f4) at vnode_if.c:187 #24 0xc0a2db16 in vfs_cache_lookup (ap=0xef24fa88) at vnode_if.h:80 #25 0xc0cf5e05 in VOP_LOOKUP_APV (vop=0xc0fbb840, a=0xef24fa88) at vnode_if.c:123 #26 0xc0a3547b in lookup (ndp=0xef24fba0) at vnode_if.h:54 #27 0xc0a362e2 in namei (ndp=0xef24fba0) at ../../../kern/vfs_lookup.c:268 #28 0xc0a47df5 in kern_symlinkat (td=0xc780f5c0, path1=0x804b243
, fd=0xffffff9c, path2=0xbfbfe6a8
, segflg=UIO_USERSPACE) at ../../../kern/vfs_syscalls.c:1674 #29 0xc0a4807e in kern_symlink (td=0xc780f5c0, path=0x804b243
, link=0xbfbfe6a8
, segflg=UIO_USERSPACE) at ../../../kern/vfs_syscalls.c:1648 #30 0xc0a480a9 in symlink (td=0xc780f5c0, uap=0xef24fcec) at ../../../kern/vfs_syscalls.c:1626 #31 0xc09eada3 in syscallenter (td=0xc780f5c0, sa=0xef24fce4) at ../../../kern/subr_trap.c:344 #32 0xc0cd24df in syscall (frame=0xef24fd28) at ../../../i386/i386/trap.c:1082 #33 0xc0cbb9a1 in Xint0x80_syscall () at ../../../i386/i386/exception.s:266 #34 0x00000033 in ?? () Previous frame inner to this frame (corrupt stack?) (kgdb) f 14 #14 0xc0bc82cb in softdep_deallocate_dependencies (bp=0xc0e85a33) at ../../../ufs/ffs/ffs_softdep.c:12834 12834 panic("softdep_deallocate_dependencies: dangling deps"); (kgdb) l 12829 softdep_deallocate_dependencies(bp) 12830 struct buf *bp; 12831 { 12832 12833 if ((bp->b_ioflags & BIO_ERROR) == 0) 12834 panic("softdep_deallocate_dependencies: dangling deps"); 12835 softdep_error(bp->b_vp->v_mount->mnt_stat.f_mntonname, bp->b_error); 12836 panic("softdep_deallocate_dependencies: unrecovered I/O error"); 12837 } 12838 (kgdb) info loc No locals. (kgdb) p *bp $1 = {b_bufobj = 0x696e6170, b_bcount = 0x72500063, b_caller1 = 0x20746e69, b_data = 0x63617473
, b_error = 0x7274206b, b_iocmd = 0x61, b_ioflags = 0x63, b_iooffset = 0x656e72656b206e6f, b_resid = 0x6170206c, b_iodone = 0x63696e, b_blkno = 0x75626564206e7552, b_offset = 0x206e6f2072656767, b_bobufs = { tqe_next = 0x6e72656b, tqe_prev = 0x70206c65}, b_left = 0x63696e61, b_right = 0x72656b00, b_vflags = 0x79732e6e, b_freelist = {tqe_next = 0x6f5f636e, tqe_prev = 0x61705f6e}, b_qindex = 0x696e, b_flags = 0x75626564, b_xflags = 0x67, b_lock = {lock_object = {lo_name = 0x5f656361
, lo_flags = 0x705f6e6f, lo_data = 0x63696e61, lo_witness = 0x62656400}, lk_lock = 0x642e6775, lk_exslpfail = 0x67756265, lk_timo = 0x5f726567, lk_pri = 0x705f6e6f, lk_stack = {depth = 0x63696e61, pcs = {0x72656b00, 0x65725f6e, 0x746f6f62, 0x69736b00, 0x666e6967, 0x2e2e006f, 0x2f2e2e2f, 0x6b2f2e2e, 0x2f6e7265, 0x6e72656b, 0x6769735f, 0x7300632e, 0x73206372, 0x75716769, 0x20657565, 0x20746f6e, 0x74696e69, 0x64006465}}}, b_bufsize = 0x73207473, b_runningbufspace = 0x75716769, b_kvabase = 0x20657565
, b_kvasize = 0x20746f6e, b_lblkno = 0x7300646574696e69, b_vp = 0x63616769, b_dirtyoff = 0x635f7374, b_dirtyend = 0x2079706f, b_rcred = 0x73206f74, b_wcred = 0x65726168, b_saveaddr = 0x65642064, b_pager = {pg_reqpage = 0x73007473}, b_cluster = {cluster_head = { tqh_first = 0x63616769, tqh_last = 0x53007374}, cluster_entry = {tqe_next = 0x63616769, tqe_prev = 0x53007374}}, b_pages = {0x70706f74, 0x20676e69, 0x20726f66, 0x63617274, 0x73206465, 0x616e6769, 0x7028006c, 0x5f703e2d, 0x67616c66, 0x50202620, 0x4441485f, 0x45524854, 0x29534441, 0x203d3d20, 0x7c7c2030, 0x3e2d7020, 0x69735f70, 0x656c676e, 0x65726874, 0x3d206461, 0x6474203d, 0x64697000, 0x646c2520, 0x73252820, 0x75202c29, 0x28206469, 0x29756c25, 0x6e75203a, 0x656c6261, 0x206f7420, 0x6f6c6c61, 0x656d2063}, b_npages = 0x79726f6d, b_dep = {lh_first = 0x726f6620}, b_fsprivate1 = 0x726f6320, b_fsprivate2 = 0x6c696665, b_fsprivate3 = 0x6f682065, b_pin_count = 0x616e7473} (kgdb) f 17 #17 0xc0a2b1cc in getblk (vp=0xc7d25570, blkno=0x0, size=0x800, slpflag=0x0, slptimeo=0x0, flags=Variable "flags" is not available. ) at buf.h:386 386 return (BO_WRITE(bp->b_bufobj, bp)); (kgdb) p *vp $2 = {v_type = VDIR, v_tag = 0xc0e7c750 "ufs", v_op = 0xc0fbb340, v_data = 0xc7eef89c, v_mount = 0xc77712d4, v_nmntvnodes = {tqe_next = 0xc6d82c00, tqe_prev = 0xc7dfa2cc}, v_un = {vu_mount = 0x0, vu_socket = 0x0, vu_cdev = 0x0, vu_fifoinfo = 0x0}, v_hashlist = {le_next = 0x0, le_prev = 0xc7241f14}, v_hash = 0x200e, v_cache_src = { lh_first = 0x0}, v_cache_dst = {tqh_first = 0x0, tqh_last = 0xc7d255a0}, v_cache_dd = 0x0, v_cstart = 0x0, v_lasta = 0x0, v_lastw = 0x0, v_clen = 0x0, v_lock = { lock_object = {lo_name = 0xc0e7c750 "ufs", lo_flags = 0x57b0000, lo_data = 0x0, lo_witness = 0xc6d61e58}, lk_lock = 0xc780f5c0, lk_exslpfail = 0x0, lk_timo = 0x33, lk_pri = 0x60, lk_stack = {depth = 0xc, pcs = {0xc09903f5, 0xc0be0d61, 0xc0cf4c85, 0xc0a50048, 0xc0a34f06, 0xc0a362e2, 0xc0a47df5, 0xc0a4807e, 0xc0a480a9, 0xc09eada3, 0xc0cd24df, 0xc0cbb9a1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}}, v_interlock = {lock_object = {lo_name = 0xc0e8d44d "vnode interlock", lo_flags = 0x1030000, lo_data = 0x0, lo_witness = 0xc6d5b1e0}, mtx_lock = 0x4}, v_vnlock = 0xc7d255c8, v_holdcnt = 0x4, v_usecount = 0x3, v_iflag = 0x0, v_vflag = 0x0, v_writecount = 0x0, v_freelist = { tqe_next = 0x0, tqe_prev = 0x0}, v_bufobj = {bo_mtx = {lock_object = {lo_name = 0xc0e95db9 "bufobj interlock", lo_flags = 0x1030000, lo_data = 0x0, lo_witness = 0xc6d60730}, mtx_lock = 0x4}, bo_clean = {bv_hd = {tqh_first = 0x0, tqh_last = 0xc7d2567c}, bv_root = 0x0, bv_cnt = 0x0}, bo_dirty = {bv_hd = { tqh_first = 0xe0750c40, tqh_last = 0xe0750c78}, bv_root = 0xe0750c40, bv_cnt = 0x1}, bo_numoutput = 0x0, bo_flag = 0x1, bo_ops = 0xc0fa8700, bo_bsize = 0x4000, bo_object = 0xc8121198, bo_synclist = {le_next = 0xc7f43254, le_prev = 0xc7d3a29c}, bo_private = 0xc7d25570, __bo_vnode = 0xc7d25570}, v_pollinfo = 0x0, v_label = 0x0, v_lockf = 0x0} (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,26 +6270,48 @@ 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)) - bp->b_flags |= B_INVAL | B_NOCACHE; - FREE_LOCK(&lk); - brelse(bp); + if (deallocate_dependencies(bp, freeblks, blkoff)) + bqrelse(bp); + else + brelse(bp); BO_LOCK(bo); goto restart; } @@ -5668,69 +6319,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); } @@ -5739,58 +6387,81 @@ static int * be reallocated to a new vnode. The buffer must be locked, thus, * no I/O completion operations can occur while we are manipulating * its associated dependencies. The mutex is held so that other I/O's - * associated with related dependencies do not occur. Returns 1 if - * all dependencies were cleared, 0 otherwise. + * associated with related dependencies do not occur. */ 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) { + ACQUIRE_LOCK(&lk); + 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)) { + FREE_LOCK(&lk); + 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 */ } } + FREE_LOCK(&lk); + /* + * Don't throw away this buf, we were partially truncating and + * some deps will always remain. + */ + if (off) { + bp->b_vflags |= BV_SCANNED; + return (EBUSY); + } + bp->b_flags |= B_INVAL | B_NOCACHE; - return (1); + return (0); } /* @@ -5800,20 +6471,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 +6508,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 +6528,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 +6552,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 +6563,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 +6591,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 +6624,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 +6639,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 +6668,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 +6697,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 +6813,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 +6841,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 +6911,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 +6939,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 +6966,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 +7036,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 +7116,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 +7134,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 +7246,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 +7269,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 +7460,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 +8212,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 +9045,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 +9069,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 +9573,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 +9596,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 +9638,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 +9648,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 +9668,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 +9753,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 +9768,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 +9808,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 +9927,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 +9947,7 @@ softdep_disk_write_complete(bp) struct worklist *wk; struct worklist *owk; struct workhead reattach; + struct freeblks *freeblks; struct buf *sbp; /* @@ -9277,6 +9965,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 +10007,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 +10017,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 +10146,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 +10181,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 +10549,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 +10580,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 +10589,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 +10669,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 +10681,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 +10765,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 +10822,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 +10922,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 +11356,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 +11403,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 +11419,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 +11496,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 +11577,9 @@ loop: } continue; + case D_FREEWORK: + continue; + default: panic("softdep_sync_metadata: Unknown type %s", TYPENAME(wk->wk_type)); @@ -10851,11 +11632,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 +11723,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 +12066,8 @@ softdep_slowdown(vp) softdep_speedup(); stat_sync_limit_hit += 1; FREE_LOCK(&lk); + if (DOINGSUJ(vp)) + return (0); return (1); } @@ -11338,6 +12169,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 +12195,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 +12216,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 +12495,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 +12543,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