GENERIC HEAD from 2011-05-17 06:36:32 UTC, r222007M, vmcore.142 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 r222007M: Tue May 17 11:55:25 CEST 2011 pho@x4.osted.lan:/usr/src/sys/i386/compile/PHO i386 WARNING: WITNESS option enabled, expect reduced performance. WARNING: DIAGNOSTIC option enabled, expect reduced performance. CPU: AMD Phenom(tm) 9150e Quad-Core Processor (1800.02-MHz 686-class CPU) Origin = "AuthenticAMD" Id = 0x100f23 Family = 10 Model = 2 Stepping = 3 Features=0x178bfbff Features2=0x802009 AMD Features=0xee500800 AMD Features2=0x7ff TSC: P-state invariant real memory = 4294967296 (4096 MB) avail memory = 3536019456 (3372 MB) : Trying to mount root from ufs:/dev/ad4s1a [rw]... WARNING: / was not properly dismounted Setting hostuuid: 00000000-0000-0000-0000-00218515337d. Setting hostid: 0x6b64ac17. Starting ddb. Entropy harvesting: interrupts ethernet point_to_point kickstart. Starting file system checks: /dev/ad4s1a: 3680 files, 801276 used, 211739 free (1435 frags, 26288 blocks, 0.1% fragmentation) /dev/ad4s1f: 15590 files, 823559 used, 189456 free (4200 frags, 23157 blocks, 0.4% fragmentation) /dev/label/tmp: 301352 files, 26976677 used, 91337304 free (3128 frags, 11416772 blocks, 0.0% fragmentation) /dev/ad4s1d: 764600 files, 7656971 used, 2497228 free (226740 frags, 283811 blocks, 2.2% fragmentation) /dev/ad4s1e: 552989 files, 14203920 used, 11184597 free (56637 frags, 1390995 blocks, 0.2% fragmentation) Mounting local file systems:. Setting hostname: x4.osted.lan. re0: link state changed to DOWN Starting Network: lo0 re0 fwe0 fwip0. lo0: flags=8049 metric 0 mtu 16384 options=3 inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0xa nd6 options=21 re0: flags=8843 metric 0 mtu 1500 options=389b ether 00:21:85:15:33:7d inet 192.168.1.101 netmask 0xffffff00 broadcast 192.168.1.255 inet6 fe80::221:85ff:fe15:337d%re0 prefixlen 64 tentative scopeid 0x1 nd6 options=29 media: Ethernet autoselect (none) status: no carrier fwe0: flags=8802 metric 0 mtu 1500 options=8 ether 02:dc:10:62:ad:eb ch 1 dma -1 fwip0: flags=8802 metric 0 mtu 1500 lladdr 0.dc.10.0.1.62.ad.eb.a.2.ff.fe.0.0.0.0 Starting devd. Starting Network: usbus0. Starting Network: usbus1. Starting Network: usbus2. Starting Network: usbus3. Starting Network: usbus4. Starting Network: usbus5. Starting Network: fwe0. fwe0: flags=8802 metric 0 mtu 1500 options=8 ether 02:dc:10:62:ad:eb ch 1 dma -1 re0: link state changed to UP Starting Network: fwip0. fwip0: flags=8802 metric 0 mtu 1500 lladdr 0.dc.10.0.1.62.ad.eb.a.2.ff.fe.0.0.0.0 add net default: gateway 192.168.1.1 add net ::ffff:0.0.0.0: gateway ::1 add net ::0.0.0.0: gateway ::1 add net fe80::: gateway ::1 add net ff02::: gateway ::1 ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib /usr/local/lib/compat/pkg /usr/local/kde4/lib /usr/local/lib /usr/local/lib/compat /usr/local/lib/compat/pkg /usr/local/lib/nss /usr/local/lib/qt4 /usr/local/lib/virtualbox /usr/local/lib/wine a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout Creating and/or trimming log files. Starting syslogd. savecore: reboot May 17 17:59:3lo1 x4 savecore: rck eboot order reversal: 1st 0xe07186c0 bufwait (bufwait) @ kern/vfs_bio.c:2658 2nd 0xc797b200 dirhash (dirhash) @ ufs/ufs/ufs_dirhash.c:284 KDB: stack backtrace: db_trace_self_wrapper(c0e8a476,2e687361,38323a63,a0d34,c6d60730,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c09e11fb,c0e8dd93,c6d5e2a0,c6d61ec0,ef21c7f4,...) at kdb_backtrace+0x2a _witness_debugger(c0e8dd93,c797b200,c0ebcc8e,c6d61ec0,c0ebc920,...) at _witness_debugger+0x25 witness_checkorder(c797b200,9,c0ebc917,11c,0,...) at witness_checkorder+0x839 _sx_xlock(c797b200,0,c0ebc917,11c,2200,...) at _sx_xlock+0x85 ufsdirhash_acquire(c7972000,ef21c8b8,c0be82d3,c77febc8,2200,...) at ufsdirhash_acquire+0x48 ufsdirhash_newblk(c77febc8,2200,14,200,c6d9ee80,...) at ufsdirhash_newblk+0xe ufs_direnter(c7975828,c794a984,ef21c914,ef21cba4,0,...) at ufs_direnter+0x1f3 ufs_makeinode(ef21cba4,c0fbb600,ef21cb00,ef21ca5c,c0cf6425,...) at ufs_makeinode+0x5c5 ufs_create(ef21cb00,c0edaa7b,0,0,ef21cb78,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb100,ef21cb00,ef21cba4,ef21ca98,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef21cb78,ef21cc2c,180,0,c6d9ee80,...) at vn_open_cred+0x205 vn_open(ef21cb78,ef21cc2c,180,c74989a0,0,...) at vn_open+0x3b kern_openat(c77f7b80,ffffff9c,28450000,0,602,...) at kern_openat+0x12f kern_open(c77f7b80,28450000,0,601,180,...) at kern_open+0x35 open(c77f7b80,ef21ccec,ef21cd80,ef21cc88,0,...) at open+0x30 syscallenter(c77f7b80,ef21cce4,c0cd31c6,0,0,...) at syscallenter+0x263 syscall(ef21cd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x281896a3, esp = 0xbfbfe2ac, ebp = 0xbfbfedb8 --- savecore: writing core to vmcore.141 Writing crash summary to /var/crash/core.txt.141. Additional ABI support: linux. Starting rpcbind. NFS access cache time=60 Clearing /tmp (X related). Starting mountd. NFSv4 is disabled Starting nfsd. Recovering vi editor sessions:. Updating motd:. Starting ntpd. Starting default moused. Expensive timeout(9) function: 0xc07fb8b0(0xc11b0f80) 0.013940598 s Configuring syscons: keymap blanktime. Starting sshd. Starting cron. Local package initialization: backuplock order reversal: 1st 0xc771a058 ufs (ufs) @ kern/vfs_subr.c:2134 2nd 0xe07b4ba0 bufwait (bufwait) @ ufs/ffs/ffs_softdep.c:12679 3rd 0xc7c58880 ufs (ufs) @ kern/vfs_subr.c:2134 KDB: stack backtrace: db_trace_self_wrapper(c0e8a476,2e706564,32313a63,d393736,c09f000a,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c09e11fb,c0e8ddac,c6d5e2a0,c6d61e58,ef22288c,...) at kdb_backtrace+0x2a _witness_debugger(c0e8ddac,c7c58880,c0e7d22e,c6d61e58,c0e959bb,...) at _witness_debugger+0x25 witness_checkorder(c7c58880,9,c0e959b2,856,0,...) at witness_checkorder+0x839 __lockmgr_args(c7c58880,80100,c7c588ec,0,0,...) at __lockmgr_args+0x814 ffs_lock(ef2229b0,c09f279b,c0e94d17,80100,c7c58828,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef2229b0,109,c0fd60c0,c7c58828,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7c58828,80100,c0e959b2,856,4,...) at _vn_lock+0x78 vget(c7c58828,80100,c77f75c0,50,0,...) at vget+0xbb vfs_hash_get(c773d2d4,49ac00,80000,c77f75c0,ef222b08,...) at vfs_hash_get+0xed ffs_vgetf(c773d2d4,49ac00,80000,ef222b08,1,...) at ffs_vgetf+0x49 softdep_sync_metadata(c771a000,0,c0ebc40d,144,0,...) at softdep_sync_metadata+0xac3 ffs_syncvnode(c771a000,1,c77f75c0,566,0,...) at ffs_syncvnode+0x3e2 ffs_sync(c773d2d4,1,ef222c14,4ee,0,...) at ffs_sync+0x26f dounmount(c773d2d4,8080000,c77f75c0,473,5b85c5ea,...) at dounmount+0x447 unmount(c77f75c0,ef222cec,28176705,1,0,...) at unmount+0x310 syscallenter(c77f75c0,ef222ce4,c0cd350d,c1010d70,0,...) at syscallenter+0x263 syscall(ef222d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (22, FreeBSD ELF32, unmount), eip = 0x280dcd5b, esp = 0xbfbfe64c, ebp = 0xbfbfe718 --- lock order reversal: 1st 0xc771a46c ufs (ufs) @ kern/vfs_mount.c:1193 2nd 0xc748f724 devfs (devfs) @ ufs/ffs/ffs_vfsops.c:1418 KDB: stack backtrace: db_trace_self_wrapper(c0e8a476,3134313a,a0d38,c0e9300b,5e8,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c09e11fb,c0e8dd93,c6d61e58,c6d61d88,ef222a38,...) at kdb_backtrace+0x2a _witness_debugger(c0e8dd93,c748f724,c0e75167,c6d61d88,c0ebbe15,...) at _witness_debugger+0x25 witness_checkorder(c748f724,9,c0ebbe0c,58a,c748f790,...) at witness_checkorder+0x839 __lockmgr_args(c748f724,80400,c748f790,0,0,...) at __lockmgr_args+0x814 vop_stdlock(ef222b58,c115af38,c77f7670,80400,c748f6cc,...) at vop_stdlock+0x65 VOP_LOCK1_APV(c0f90ec0,ef222b58,ef222b78,c0fd60c0,c748f6cc,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c748f6cc,80400,c0ebbe0c,58a,0,...) at _vn_lock+0x78 ffs_sync(c773d2d4,1,ef222c14,4ee,0,...) at ffs_sync+0x3d5 dounmount(c773d2d4,8080000,c77f75c0,473,5b85c5ea,...) at dounmount+0x447 unmount(c77f75c0,ef222cec,28176705,1,0,...) at unmount+0x310 syscallenter(c77f75c0,ef222ce4,c0cd350d,c1010d70,0,...) at syscallenter+0x263 syscall(ef222d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (22, FreeBSD ELF32, unmount), eip = 0x280dcd5b, esp = 0xbfbfe64c, ebp = 0xbfbfe718 --- fsck -y /tmp watchdogd. Starting inetd. Tue May 17 18:00:02 CEST 2011 FreeBSD/i386 (x4.osted.lan) (console) login: May 17 18:02:28 x4 su: pho to root on /dev/pts/0 May 17 18:06:33 x4 su: pho to root on /dev/pts/1 lock order reversal: 1st 0xe075cfa0 bufwait (bufwait) @ kern/vfs_bio.c:2658 2nd 0xc1010fa4 proctree (proctree) @ kern/subr_prf.c:140 KDB: stack backtrace: db_trace_self_wrapper(c0e8a476,34313a63,a0d30,0,0,...) at db_trace_self_wrapper+0x26 May 17 18:36:36 x4 kernel: pid 2k665 (rw), uid 10d01 inumber 23554b on /mnt: filesy_stem full backtrace(c09e11fb,c0e8dd93,c6d5e2a0,c6d5a068,ef31c7b4,...) at kdb_backtrace+0x2a _witness_debugger(c0e8dd93,c1010fa4,c0e8569b,c6d5a068,c0e8ac31,...) at _witness_debugger+0x25 witness_checkorder(c1010fa4,1,c0e8ac28,8c,0,...) at witness_checkorder+0x839 _sx_slock(c1010fa4,0,c0e8ac28,8c,c0bb07c9,...) at _sx_slock+0x85 uprintf(c0eb82b2,c98c70d4,1,e1,1,...) at uprintf+0x42 ffs_alloc(c9b6e244,24d,0,10820,0,...) at ffs_alloc+0x469 ffs_balloc_ufs2(c9b92000,934000,0,1000,c74bf980,...) at ffs_balloc_ufs2+0x1b5a ffs_write(ef31cb94,c0eda9b1,c9b92000,0,c9b92000,...) at ffs_write+0x2ad VOP_WRITE_APV(c0fbb100,ef31cb94,c9b92000,264,0,...) at VOP_WRITE_APV+0x136 vn_write(c7744508,ef31cc28,c74bf980,0,c7fd3000,...) at vn_write+0x1ca dofilewrite(ef31cc28,ffffffff,ffffffff,0,c7744508,...) at dofilewrite+0x95 kern_writev(c7fd3000,4,ef31cc28,ef31cc48,1,...) at kern_writev+0x58 write(c7fd3000,ef31ccec,ef31cd28,c0e8c5de,0,...) at write+0x4f syscallenter(c7fd3000,ef31cce4,ef31cce4,0,c1020680,...) at syscallenter+0x263 syscall(ef31cd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (4, FreeBSD ELF32, write), eip = 0x28195623, esp = 0xbfbfd77c, ebp = 0xbfbfe838 --- May 17 18:36:43 x4 kernel: pid 2667 (rw), uid 1001 inumber 47108 on /mnt: filesystem full May 17 18:37:02 x4 kernel: pid 2665 (rw), uid 1001 inumber 23564 on /mnt: filesystem full May 17 18:37:09 x4 kernel: pid 2670 (rw), uid 1001 inumber 23559 on /mnt: filesystem full May 17 18:37:20 x4 kernel: pid 2670 (rw), uid 1001 inumber 23557 on /mnt: filesystem full May 17 18:37:27 x4 kernel: pid 2670 (rw), uid 1001 inumber 23565 on /mnt: filesystem full May 17 18:37:34 x4 kernel: pid 2669 (rw), uid 1001 inumber 23557 on /mnt: filesystem full May 17 18:37:54 x4 kernel: pid 2667 (rw), uid 1001 inumber 47113 on /mnt: filesystem full May 17 18:38:01 x4 kernel: pid 2667 (rw), uid 1001 inumber 47109 on /mnt: filesystem full May 17 18:38:11 x4 kernel: pid 2668 (rw), uid 1001 inumber 47116 on /mnt: filesystem full May 17 18:38:28 x4 kernel: pid 2669 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 17 18:52:46 x4 kernel: pid 2940 (rw), uid 1001 inumber 47111 on /mnt: filesystem full May 17 18:52:51 x4 kernel: pid 2938 (rw), uid 1001 inumber 47105 on /mnt: filesystem full May 17 18:52:58 x4 kernel: pid 2941 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 17 18:53:08 x4 kernel: pid 2937 (rw), uid 1001 inumber 23568 on /mnt: filesystem full May 17 18:53:14 x4 kernel: pid 2938 (rw), uid 1001 inumber 47108 on /mnt: filesystem full May 17 18:53:22 x4 kernel: pid 2942 (rw), uid 1001 inumber 23560 on /mnt: filesystem full May 17 18:53:27 x4 kernel: pid 2941 (rw), uid 1001 inumber 23567 on /mnt: filesystem full May 17 18:53:33 x4 kernel: pid 2940 (rw), uid 1001 inumber 47109 on /mnt: filesystem full May 17 18:53:38 x4 kernel: pid 2942 (rw), uid 1001 inumber 23569 on /mnt: filesystem full May 17 18:53:47 x4 kernel: pid 2940 (rw), uid 1001 inumber 47113 on /mnt: filesystem full May 17 18:54:14 x4 kernel: pid 2941 (rw), uid 1001 inumber 23564 on /mnt: filesystem full May 17 18:54:24 x4 kernel: pid 2939 (rw), uid 1001 inumber 47110 on /mnt: filesystem full May 17 18:54:31 x4 kernel: pid 2938 (rw), uid 1001 inumber 47105 on /mnt: filesystem full cryptosoft0: on motherboard lock order reversal: 1st 0xc100f088 GEOM topology (GEOM topology) @ /usr/src/sys/modules/geom/geom_eli/../../../geom/eli/g_eli.c:600 2nd 0xc1010fa4 proctree (proctree) @ kern/kern_fork.c:809 KDB: stack backtrace: db_trace_self_wrapper(c0e8a476,383a632e,a0d3930,646f6d00,73656c75,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c09e11fb,c0e8dd93,c6d5ed98,c6d5a068,c6b495bc,...) at kdb_backtrace+0x2a _witness_debugger(c0e8dd93,c1010fa4,c0e8569b,c6d5a068,c0e80e95,...) at _witness_debugger+0x25 witness_checkorder(c1010fa4,1,c0e80e8c,329,0,...) at witness_checkorder+0x839 _sx_slock(c1010fa4,0,c0e80e8c,329,0,...) at _sx_slock+0x85 fork1(c100f460,20034,0,c6b49664,0,...) at fork1+0x3c5 kproc_create(ca5a7330,c7fb22a0,c7fb22a4,0,0,...) at kproc_create+0x47 g_eli_create(c74f6e00,ca5b20c0,c79e9400,c6b499f1,c6b49bf0,...) at g_eli_create+0x5e5 g_eli_config(c74f6e00,ca5b20c0,c740aa20,1b6,c7b2da00,...) at g_eli_config+0x168b g_ctl_req(c74f6e00,0,c0e7ab73,d3,0,...) at g_ctl_req+0xae g_run_events(c101f300,0,c0e7b1e5,79,c6b49d14,...) at g_run_events+0x335 g_event_procbody(0,c6b49d28,c0e80e8c,390,c6dbd2bc,...) at g_event_procbody+0x90 fork_exit(c093e9c0,0,c6b49d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b49d60, ebp = 0 --- lock order reversal: 1st 0xc100f088 GEOM topology (GEOM topology) @ /usr/src/sys/modules/geom/geom_eli/../../../geom/eli/g_eli.c:600 2nd 0xc6da302c filedesc structure (filedesc structure) @ kern/kern_descrip.c:1627 KDB: stack backtrace: db_trace_self_wrapper(c0e8a476,20296572,656b2040,6b2f6e72,5f6e7265,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c09e11fb,c0e8dd93,c6d5ed98,c6d5e6b0,c6b49570,...) at kdb_backtrace+0x2a _witness_debugger(c0e8dd93,c6da302c,c0e80269,c6d5e6b0,c0e80029,...) at _witness_debugger+0x25 witness_checkorder(c6da302c,9,c0e80020,65b,0,...) at witness_checkorder+0x839 _sx_xlock(c6da302c,0,c0e80020,65b,0,...) at _sx_xlock+0x85 fdinit(c6da3000,c6b495e4,c09a9925,c7cbcaa8,c0e86672,...) at fdinit+0x6c fdcopy(c6da3000,0,c0e80e8c,184,0,...) at fdcopy+0x21 fork1(c100f460,20034,0,c6b49664,0,...) at fork1+0x9e0 kproc_create(ca5a7330,c7fb22a0,c7fb22a4,0,0,...) at kproc_create+0x47 g_eli_create(c74f6e00,ca5b20c0,c79e9400,c6b499f1,c6b49bf0,...) at g_eli_create+0x5e5 g_eli_config(c74f6e00,ca5b20c0,c740aa20,1b6,c7b2da00,...) at g_eli_config+0x168b g_ctl_req(c74f6e00,0,c0e7ab73,d3,0,...) at g_ctl_req+0xae g_run_events(c101f300,0,c0e7b1e5,79,c6b49d14,...) at g_run_events+0x335 g_event_procbody(0,c6b49d28,c0e80e8c,390,c6dbd2bc,...) at g_event_procbody+0x90 fork_exit(c093e9c0,0,c6b49d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b49d60, ebp = 0 --- GEOM_ELI: Device md5.eli created. GEOM_ELI: Encryption: AES-XTS 128 GEOM_ELI: Crypto: software May 17 18:57:58 x4 kernel: pid 3257 (rw), uid 1001 inumber 16425 on /mnt: filesystem full GEOM_ELI: md5 has been killed. GEOM_ELI: Device md5.eli destroyed. May 17 19:03:12 x4 kernel: pid 3512 (rw), uid 1001 inumber 23568 on /mnt: filesystem full May 17 19:03:18 x4 kernel: pid 3514 (rw), uid 1001 inumber 23576 on /mnt: filesystem full May 17 19:03:26 x4 kernel: pid 3509 (rw), uid 1001 inumber 23569 on /mnt: filesystem full May 17 19:03:39 x4 kernel: pid 3510 (rw), uid 1001 inumber 23571 on /mnt: filesystem full May 17 19:03:54 x4 kernel: pid 3510 (rw), uid 1001 inumber 23571 on /mnt: filesystem full May 17 19:04:07 x4 kernel: pid 3513 (rw), uid 1001 inumber 23573 on /mnt: filesystem full May 17 19:04:17 x4 kernel: pid 3506 (rw), uid 1001 inumber 23574 on /mnt: filesystem full May 17 19:04:36 x4 kernel: pid 3513 (rw), uid 1001 inumber 23577 on /mnt: filesystem full May 17 19:04:44 x4 kernel: pid 3512 (rw), uid 1001 inumber 23560 on /mnt: filesystem full May 17 19:04:50 x4 kernel: pid 3508 (rw), uid 1001 inumber 47106 on /mnt: filesystem full May 17 19:05:12 x4 kernel: pid 3545 (rw), uid 1001 inumber 47110 on /mnt: filesystem full May 17 19:05:18 x4 kernel: pid 3543 (rw), uid 1001 inumber 70659 on /mnt: filesystem full May 17 19:05:35 x4 kernel: pid 3539 (rw), uid 1001 inumber 47105 on /mnt: filesystem full May 17 19:05:47 x4 kernel: pid 3540 (rw), uid 1001 inumber 23558 on /mnt: filesystem full May 17 19:06:01 x4 kernel: pid 3546 (rw), uid 1001 inumber 70661 on /mnt: filesystem full May 17 19:06:07 x4 kernel: pid 3546 (rw), uid 1001 inumber 70664 on /mnt: filesystem full May 17 19:06:12 x4 kernel: pid 3545 (rw), uid 1001 inumber 47113 on /mnt: filesystem full May 17 19:06:19 x4 kernel: pid 3546 (rw), uid 1001 inumber 70664 on /mnt: filesystem full May 17 19:06:24 x4 kernel: pid 3547 (rw), uid 1001 inumber 47120 on /mnt: filesystem full May 17 19:06:34 x4 kernel: pid 3542 (rw), uid 1001 inumber 94211 on /mnt: filesystem full May 17 19:06:40 x4 kernel: pid 3548 (rw), uid 1001 inumber 70668 on /mnt: filesystem full May 17 19:06:49 x4 kernel: pid 3545 (rw), uid 1001 inumber 47122 on /mnt: filesystem full May 17 19:07:00 x4 kernel: pid 3541 (rw), uid 1001 inumber 23557 on /mnt: filesystem full May 17 19:07:09 x4 kernel: pid 3575 (rw), uid 1001 inumber 47126 on /mnt: filesystem full May 17 19:07:20 x4 kernel: pid 3574 (rw), uid 1001 inumber 47135 on /mnt: filesystem full May 17 19:07:33 x4 kernel: pid 3570 (rw), uid 1001 inumber 47123 on /mnt: filesystem full May 17 19:07:44 x4 kernel: pid 3577 (rw), uid 1001 inumber 47132 on /mnt: filesystem full May 17 19:07:47 x4 su: pho to root on /dev/pts/0 May 17 19:07:54 x4 kernel: pid 3570 (rw), uid 1001 inumber 47121 on /mnt: filesystem full May 17 19:07:59 x4 kernel: pid 3576 (rw), uid 1001 inumber 47129 on /mnt: filesystem full May 17 19:08:04 x4 kernel: pid 3571 (rw), uid 1001 inumber 23556 on /mnt: filesystem full May 17 19:08:13 x4 kernel: pid 3572 (rw), uid 1001 inumber 94208 on /mnt: filesystem full May 17 19:08:22 x4 kernel: pid 3575 (rw), uid 1001 inumber 47123 on /mnt: filesystem full May 17 19:08:35 x4 kernel: pid 3577 (rw), uid 1001 inumber 47132 on /mnt: filesystem full May 17 19:08:47 x4 kernel: pid 3579 (rw), uid 1001 inumber 47117 on /mnt: filesystem full May 17 19:08:54 x4 kernel: pid 3575 (rw), uid 1001 inumber 47114 on /mnt: filesystem full May 17 19:09:21 x4 kernel: pid 3630 (rw), uid 1001 inumber 23580 on /mnt: filesystem full May 17 19:09:50 x4 kernel: pid 3629 (rw), uid 1001 inumber 23583 on /mnt: filesystem full May 17 19:10:15 x4 kernel: pid 3625 (rw), uid 1001 inumber 23576 on /mnt: filesystem full May 17 19:10:25 x4 kernel: pid 3625 (rw), uid 1001 inumber 23573 on /mnt: filesystem full May 17 19:10:30 x4 kernel: pid 3630 (rw), uid 1001 inumber 23587 on /mnt: filesystem full May 17 19:10:37 x4 kernel: pid 3624 (rw), uid 1001 inumber 23570 on /mnt: filesystem full May 17 19:10:43 x4 kernel: pid 3623 (rw), uid 1001 inumber 47109 on /mnt: filesystem full May 17 19:10:49 x4 kernel: pid 3628 (rw), uid 1001 inumber 23584 on /mnt: filesystem full May 17 19:11:13 x4 kernel: pid 3675 (rw), uid 1001 inumber 23586 on /mnt: filesystem full May 17 19:11:22 x4 kernel: pid 3674 (rw), uid 1001 inumber 23557 on /mnt: filesystem full May 17 19:11:27 x4 kernel: pid 3673 (rw), uid 1001 inumber 23578 on /mnt: filesystem full May 17 19:11:47 x4 kernel: pid 3666 (rw), uid 1001 inumber 23561 on /mnt: filesystem full May 17 19:11:55 x4 kernel: pid 3667 (rw), uid 1001 inumber 70660 on /mnt: filesystem full May 17 19:12:00 x4 kernel: pid 3668 (rw), uid 1001 inumber 70659 on /mnt: filesystem full May 17 19:12:15 x4 kernel: pid 3673 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 17 19:12:28 x4 kernel: pid 3672 (rw), uid 1001 inumber 23559 on /mnt: filesystem full May 17 19:12:39 x4 kernel: pid 3668 (rw), uid 1001 inumber 70665 on /mnt: filesystem full May 17 19:12:55 x4 kernel: pid 3674 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 17 19:13:08 x4 kernel: pid 3669 (rw), uid 1001 inumber 23579 on /mnt: filesystem full May 17 19:13:15 x4 kernel: pid 3700 (rw), uid 1001 inumber 23577 on /mnt: filesystem full May 17 19:13:25 x4 kernel: pid 3702 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 17 19:13:33 x4 kernel: pid 3698 (rw), uid 1001 inumber 23579 on /mnt: filesystem full May 17 19:13:48 x4 kernel: pid 3703 (rw), uid 1001 inumber 23586 on /mnt: filesystem full May 17 19:13:58 x4 kernel: pid 3706 (rw), uid 1001 inumber 23554 on /mnt: filesystem full May 17 19:14:20 x4 kernel: pid 3701 (rw), uid 1001 inumber 23553 on /mnt: filesystem full May 17 19:14:35 x4 kernel: pid 3698 (rw), uid 1001 inumber 23569 on /mnt: filesystem full May 17 19:14:53 x4 kernel: pid 3697 (rw), uid 1001 inumber 23564 on /mnt: filesystem full May 17 19:15:02 x4 kernel: pid 3702 (rw), uid 1001 inumber 23585 on /mnt: filesystem full May 17 19:15:16 x4 kernel: pid 3738 (rw), uid 1001 inumber 47122 on /mnt: filesystem full May 17 19:15:28 x4 kernel: pid 3736 (rw), uid 1001 inumber 47112 on /mnt: filesystem full May 17 19:15:43 x4 kernel: pid 3735 (rw), uid 1001 inumber 47105 on /mnt: filesystem full May 17 19:15:53 x4 kernel: pid 3735 (rw), uid 1001 inumber 47135 on /mnt: filesystem full May 17 19:16:03 x4 kernel: pid 3733 (rw), uid 1001 inumber 47112 on /mnt: filesystem full May 17 19:16:17 x4 kernel: pid 3730 (rw), uid 1001 inumber 47125 on /mnt: filesystem full May 17 19:16:54 x4 kernel: pid 3730 (rw), uid 1001 inumber 47105 on /mnt: filesystem full May 17 19:17:00 x4 kernel: pid 3731 (rw), uid 1001 inumber 70663 on /mnt: filesystem full May 17 19:17:06 x4 kernel: pid 3736 (rw), uid 1001 inumber 47110 on /mnt: filesystem full May 17 19:17:30 x4 kernel: pid 3765 (rw), uid 1001 inumber 23564 on /mnt: filesystem full May 17 19:17:55 x4 kernel: pid 3763 (rw), uid 1001 inumber 47110 on /mnt: filesystem full May 17 19:18:03 x4 kernel: pid 3761 (rw), uid 1001 inumber 23564 on /mnt: filesystem full May 17 19:18:09 x4 kernel: pid 3768 (rw), uid 1001 inumber 23571 on /mnt: filesystem full May 17 19:18:14 x4 kernel: pid 3763 (rw), uid 1001 inumber 47108 on /mnt: filesystem full May 17 19:18:20 x4 kernel: pid 3768 (rw), uid 1001 inumber 23572 on /mnt: filesystem full May 17 19:18:38 x4 kernel: pid 3765 (rw), uid 1001 inumber 23564 on /mnt: filesystem full May 17 19:18:47 x4 kernel: pid 3765 (rw), uid 1001 inumber 23566 on /mnt: filesystem full May 17 19:19:07 x4 kernel: pid 3770 (rw), uid 1001 inumber 23578 on /mnt: filesystem full May 17 19:19:16 x4 kernel: pid 3793 (rw), uid 1001 inumber 23568 on /mnt: filesystem full May 17 19:19:36 x4 kernel: pid 3798 (rw), uid 1001 inumber 94226 on /mnt: filesystem full May 17 19:19:42 x4 kernel: pid 3796 (rw), uid 1001 inumber 94217 on /mnt: filesystem full May 17 19:19:52 x4 kernel: pid 3795 (rw), uid 1001 inumber 117764 on /mnt: filesystem full May 17 19:20:00 x4 kernel: pid 3796 (rw), uid 1001 inumber 94229 on /mnt: filesystem full May 17 19:20:09 x4 kernel: pid 3792 (rw), uid 1001 inumber 94219 on /mnt: filesystem full May 17 19:20:15 x4 kernel: pid 3798 (rw), uid 1001 inumber 94209 on /mnt: filesystem full May 17 19:20:20 x4 kernel: pid 3795 (rw), uid 1001 inumber 117768 on /mnt: filesystem full May 17 19:20:29 x4 kernel: pid 3799 (rw), uid 1001 inumber 94209 on /mnt: filesystem full May 17 19:20:38 x4 kernel: pid 3795 (rw), uid 1001 inumber 117764 on /mnt: filesystem full May 17 19:20:54 x4 kernel: pid 3796 (rw), uid 1001 inumber 94218 on /mnt: filesystem full May 17 19:21:04 x4 kernel: pid 3793 (rw), uid 1001 inumber 23559 on /mnt: filesystem full May 17 19:21:21 x4 kernel: pid 3827 (rw), uid 1001 inumber 70657 on /mnt: filesystem full May 17 19:21:31 x4 kernel: pid 3831 (rw), uid 1001 inumber 5 on /mnt: filesystem full May 17 19:21:36 x4 kernel: pid 3825 (rw), uid 1001 inumber 47115 on /mnt: filesystem full May 17 19:21:49 x4 kernel: pid 3829 (rw), uid 1001 inumber 47115 on /mnt: filesystem full May 17 19:21:53 x4 kernel: pid 3834 (rw), uid 1001 inumber 47119 on /mnt: filesystem full May 17 19:22:08 x4 kernel: pid 3826 (rw), uid 1001 inumber 23554 on /mnt: filesystem full May 17 19:22:12 x4 kernel: pid 3831 (rw), uid 1001 inumber 9 on /mnt: filesystem full May 17 19:22:38 x4 kernel: pid 3827 (rw), uid 1001 inumber 70658 on /mnt: filesystem full May 17 19:22:52 x4 kernel: pid 3832 (rw), uid 1001 inumber 23557 on /mnt: filesystem full May 17 19:23:01 x4 kernel: pid 3829 (rw), uid 1001 inumber 47112 on /mnt: filesystem full May 17 19:23:05 x4 kernel: pid 3827 (rw), uid 1001 inumber 70658 on /mnt: filesystem full May 17 19:23:12 x4 kernel: pid 3834 (rw), uid 1001 inumber 47117 on /mnt: filesystem full May 17 19:23:25 x4 kernel: pid 3877 (rw), uid 1001 inumber 23559 on /mnt: filesystem full May 17 19:23:44 x4 kernel: pid 3869 (rw), uid 1001 inumber 23584 on /mnt: filesystem full May 17 19:23:55 x4 kernel: pid 3877 (rw), uid 1001 inumber 23582 on /mnt: filesystem full May 17 19:24:11 x4 kernel: pid 3877 (rw), uid 1001 inumber 23554 on /mnt: filesystem full May 17 19:24:22 x4 kernel: pid 3877 (rw), uid 1001 inumber 23588 on /mnt: filesystem full May 17 19:24:33 x4 kernel: pid 3873 (rw), uid 1001 inumber 23568 on /mnt: filesystem full May 17 19:24:58 x4 kernel: pid 3869 (rw), uid 1001 inumber 23585 on /mnt: filesystem full May 17 19:25:30 x4 kernel: pid 3910 (rw), uid 1001 inumber 23564 on /mnt: filesystem full May 17 19:25:45 x4 kernel: pid 3904 (rw), uid 1001 inumber 47109 on /mnt: filesystem full May 17 19:26:01 x4 kernel: pid 3904 (rw), uid 1001 inumber 47114 on /mnt: filesystem full May 17 19:26:16 x4 kernel: pid 3901 (rw), uid 1001 inumber 23576 on /mnt: filesystem full May 17 19:26:22 x4 kernel: pid 3905 (rw), uid 1001 inumber 23583 on /mnt: filesystem full May 17 19:26:32 x4 kernel: pid 3906 (rw), uid 1001 inumber 47108 on /mnt: filesystem full May 17 19:26:42 x4 kernel: pid 3907 (rw), uid 1001 inumber 23556 on /mnt: filesystem full May 17 19:27:05 x4 kernel: pid 3908 (rw), uid 1001 inumber 47109 on /mnt: filesystem full May 17 19:27:12 x4 kernel: pid 3903 (rw), uid 1001 inumber 23582 on /mnt: filesystem full May 17 19:27:31 x4 kernel: pid 3941 (rw), uid 1001 inumber 23568 on /mnt: filesystem full May 17 19:27:39 x4 kernel: pid 3939 (rw), uid 1001 inumber 23579 on /mnt: filesystem full May 17 19:27:45 x4 kernel: pid 3933 (rw), uid 1001 inumber 23591 on /mnt: filesystem full May 17 19:27:55 x4 kernel: pid 3936 (rw), uid 1001 inumber 23569 on /mnt: filesystem full May 17 19:28:07 x4 kernel: pid 3939 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 17 19:28:25 x4 kernel: pid 3932 (rw), uid 1001 inumber 23569 on /mnt: filesystem full May 17 19:28:32 x4 kernel: pid 3938 (rw), uid 1001 inumber 23560 on /mnt: filesystem full May 17 19:28:39 x4 kernel: pid 3941 (rw), uid 1001 inumber 23567 on /mnt: filesystem full May 17 19:29:30 x4 kernel: pid 3963 (rw), uid 1001 inumber 23583 on /mnt: filesystem full May 17 19:29:44 x4 kernel: pid 3967 (rw), uid 1001 inumber 23574 on /mnt: filesystem full May 17 19:30:01 x4 kernel: pid 3964 (rw), uid 1001 inumber 47108 on /mnt: filesystem full May 17 19:30:13 x4 kernel: pid 3972 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 17 19:30:26 x4 kernel: pid 3963 (rw), uid 1001 inumber 23561 on /mnt: filesystem full May 17 19:30:39 x4 kernel: pid 3968 (rw), uid 1001 inumber 23581 on /mnt: filesystem full May 17 19:30:51 x4 kernel: pid 3970 (rw), uid 1001 inumber 23557 on /mnt: filesystem full May 17 19:31:07 x4 kernel: pid 3972 (rw), uid 1001 inumber 23561 on /mnt: filesystem full May 17 19:31:32 x4 kernel: pid 4001 (rw), uid 1001 inumber 23586 on /mnt: filesystem full May 17 19:31:38 x4 kernel: pid 3999 (rw), uid 1001 inumber 47113 on /mnt: filesystem full May 17 19:32:02 x4 kernel: pid 4007 (rw), uid 1001 inumber 23572 on /mnt: filesystem full May 17 19:32:25 x4 kernel: pid 4000 (rw), uid 1001 inumber 47109 on /mnt: filesystem full May 17 19:32:38 x4 kernel: pid 4007 (rw), uid 1001 inumber 23555 on /mnt: filesystem full May 17 19:32:57 x4 kernel: pid 4001 (rw), uid 1001 inumber 23587 on /mnt: filesystem full May 17 19:33:04 x4 kernel: pid 4005 (rw), uid 1001 inumber 23576 on /mnt: filesystem full May 17 19:33:18 x4 kernel: pid 4002 (rw), uid 1001 inumber 23561 on /mnt: filesystem full May 17 19:33:25 x4 kernel: pid 4002 (rw), uid 1001 inumber 23587 on /mnt: filesystem full May 17 19:33:56 x4 kernel: pid 4044 (rw), uid 1001 inumber 23585 on /mnt: filesystem full May 17 19:34:08 x4 kernel: pid 4049 (rw), uid 1001 inumber 23568 on /mnt: filesystem full May 17 19:34:41 x4 kernel: pid 4045 (rw), uid 1001 inumber 23580 on /mnt: filesystem full May 17 19:34:59 x4 kernel: pid 4047 (rw), uid 1001 inumber 23592 on /mnt: filesystem full May 17 19:35:12 x4 kernel: pid 4048 (rw), uid 1001 inumber 23582 on /mnt: filesystem full May 17 19:35:22 x4 kernel: pid 4043 (rw), uid 1001 inumber 23568 on /mnt: filesystem full May 17 19:35:49 x4 kernel: pid 4079 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 17 19:36:03 x4 kernel: pid 4083 (rw), uid 1001 inumber 47112 on /mnt: filesystem full May 17 19:36:11 x4 kernel: pid 4077 (rw), uid 1001 inumber 23576 on /mnt: filesystem full May 17 19:36:23 x4 kernel: pid 4074 (rw), uid 1001 inumber 23572 on /mnt: filesystem full May 17 19:36:31 x4 kernel: pid 4082 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 17 19:36:37 x4 kernel: pid 4082 (rw), uid 1001 inumber 23564 on /mnt: filesystem full May 17 19:36:51 x4 kernel: pid 4076 (rw), uid 1001 inumber 23561 on /mnt: filesystem full May 17 19:37:01 x4 kernel: pid 4075 (rw), uid 1001 inumber 23569 on /mnt: filesystem full May 17 19:37:19 x4 kernel: pid 4078 (rw), uid 1001 inumber 47107 on /mnt: filesystem full May 17 19:37:27 x4 kernel: pid 4074 (rw), uid 1001 inumber 23568 on /mnt: filesystem full May 17 19:37:34 x4 kernel: pid 4106 (rw), uid 1001 inumber 70658 on /mnt: filesystem full May 17 19:37:56 x4 kernel: pid 4107 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 17 19:38:08 x4 kernel: pid 4106 (rw), uid 1001 inumber 70658 on /mnt: filesystem full May 17 19:38:26 x4 kernel: pid 4111 (rw), uid 1001 inumber 47107 on /mnt: filesystem full May 17 19:38:33 x4 kernel: pid 4110 (rw), uid 1001 inumber 23568 on /mnt: filesystem full May 17 19:39:03 x4 kernel: pid 4105 (rw), uid 1001 inumber 23561 on /mnt: filesystem full May 17 19:39:15 x4 kernel: pid 4113 (rw), uid 1001 inumber 23571 on /mnt: filesystem full May 17 19:39:41 x4 kernel: pid 4140 (rw), uid 1001 inumber 47128 on /mnt: filesystem full May 17 19:40:02 x4 kernel: pid 4145 (rw), uid 1001 inumber 47116 on /mnt: filesystem full May 17 19:40:19 x4 kernel: pid 4140 (rw), uid 1001 inumber 47119 on /mnt: filesystem full May 17 19:40:39 x4 kernel: pid 4137 (rw), uid 1001 inumber 70664 on /mnt: filesystem full May 17 19:40:45 x4 kernel: pid 4140 (rw), uid 1001 inumber 47128 on /mnt: filesystem full May 17 19:40:51 x4 kernel: pid 4142 (rw), uid 1001 inumber 47123 on /mnt: filesystem full May 17 19:40:58 x4 kernel: pid 4141 (rw), uid 1001 inumber 47132 on /mnt: filesystem full May 17 19:41:06 x4 kernel: pid 4145 (rw), uid 1001 inumber 47105 on /mnt: filesystem full May 17 19:41:13 x4 kernel: pid 4142 (rw), uid 1001 inumber 47110 on /mnt: filesystem full May 17 19:41:41 x4 kernel: pid 4176 (rw), uid 1001 inumber 23566 on /mnt: filesystem full May 17 19:41:56 x4 kernel: pid 4178 (rw), uid 1001 inumber 23566 on /mnt: filesystem full May 17 19:42:03 x4 kernel: pid 4175 (rw), uid 1001 inumber 47109 on /mnt: filesystem full May 17 19:42:14 x4 kernel: pid 4177 (rw), uid 1001 inumber 23574 on /mnt: filesystem full May 17 19:42:20 x4 kernel: pid 4175 (rw), uid 1001 inumber 47112 on /mnt: filesystem full May 17 19:42:26 x4 kernel: pid 4170 (rw), uid 1001 inumber 47116 on /mnt: filesystem full May 17 19:42:52 x4 kernel: pid 4177 (rw), uid 1001 inumber 23556 on /mnt: filesystem full May 17 19:43:01 x4 kernel: pid 4175 (rw), uid 1001 inumber 47114 on /mnt: filesystem full May 17 19:43:17 x4 kernel: pid 4174 (rw), uid 1001 inumber 70658 on /mnt: filesystem full May 17 19:43:22 x4 kernel: pid 4171 (rw), uid 1001 inumber 47106 on /mnt: filesystem full May 17 19:43:33 x4 kernel: pid 4169 (rw), uid 1001 inumber 23554 on /mnt: filesystem full May 17 19:43:38 x4 kernel: pid 4200 (rw), uid 1001 inumber 23564 on /mnt: filesystem full May 17 19:43:48 x4 kernel: pid 4209 (rw), uid 1001 inumber 23558 on /mnt: filesystem full May 17 19:43:57 x4 kernel: pid 4207 (rw), uid 1001 inumber 23569 on /mnt: filesystem full May 17 19:44:01 x4 kernel: pid 4200 (rw), uid 1001 inumber 23555 on /mnt: filesystem full May 17 19:44:08 x4 kernel: pid 4206 (rw), uid 1001 inumber 70659 on /mnt: filesystem full May 17 19:44:18 x4 kernel: pid 4203 (rw), uid 1001 inumber 23582 on /mnt: filesystem full May 17 19:44:23 x4 kernel: pid 4202 (rw), uid 1001 inumber 94210 on /mnt: filesystem full May 17 19:44:32 x4 kernel: pid 4207 (rw), uid 1001 inumber 23570 on /mnt: filesystem full May 17 19:44:41 x4 kernel: pid 4204 (rw), uid 1001 inumber 23564 on /mnt: filesystem full May 17 19:44:48 x4 kernel: pid 4204 (rw), uid 1001 inumber 23569 on /mnt: filesystem full May 17 19:45:04 x4 kernel: pid 4207 (rw), uid 1001 inumber 23575 on /mnt: filesystem full May 17 19:45:09 x4 kernel: pid 4207 (rw), uid 1001 inumber 23581 on /mnt: filesystem full May 17 19:45:27 x4 kernel: pid 4205 (rw), uid 1001 inumber 23579 on /mnt: filesystem full May 17 19:45:32 x4 kernel: pid 4200 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 17 19:45:47 x4 kernel: pid 4247 (rw), uid 1001 inumber 70661 on /mnt: filesystem full May 17 19:45:54 x4 kernel: pid 4249 (rw), uid 1001 inumber 23564 on /mnt: filesystem full May 17 19:46:06 x4 kernel: pid 4247 (rw), uid 1001 inumber 70663 on /mnt: filesystem full May 17 19:46:21 x4 kernel: pid 4245 (rw), uid 1001 inumber 23573 on /mnt: filesystem full May 17 19:46:30 x4 kernel: pid 4245 (rw), uid 1001 inumber 23553 on /mnt: filesystem full May 17 19:47:00 x4 kernel: pid 4254 (rw), uid 1001 inumber 23577 on /mnt: filesystem full May 17 19:47:07 x4 kernel: pid 4249 (rw), uid 1001 inumber 23566 on /mnt: filesystem full May 17 19:47:29 x4 kernel: pid 4253 (rw), uid 1001 inumber 23573 on /mnt: filesystem full May 17 19:47:34 x4 kernel: pid 4253 (rw), uid 1001 inumber 23577 on /mnt: filesystem full May 17 19:48:05 x4 kernel: pid 4280 (rw), uid 1001 inumber 23577 on /mnt: filesystem full May 17 19:48:15 x4 kernel: pid 4280 (rw), uid 1001 inumber 23571 on /mnt: filesystem full May 17 19:48:25 x4 kernel: pid 4280 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 17 19:48:32 x4 kernel: pid 4277 (rw), uid 1001 inumber 47110 on /mnt: filesystem full May 17 19:48:49 x4 kernel: pid 4283 (rw), uid 1001 inumber 23572 on /mnt: filesystem full May 17 19:49:12 x4 kernel: pid 4282 (rw), uid 1001 inumber 23577 on /mnt: filesystem full May 17 19:49:23 x4 kernel: pid 4280 (rw), uid 1001 inumber 23562 on /mnt: filesystem full May 17 19:49:35 x4 kernel: pid 4280 (rw), uid 1001 inumber 23577 on /mnt: filesystem full May 17 19:49:50 x4 kernel: pid 4307 (rw), uid 1001 inumber 47124 on /mnt: filesystem full May 17 19:50:01 x4 kernel: pid 4310 (rw), uid 1001 inumber 47105 on /mnt: filesystem full May 17 19:50:27 x4 kernel: pid 4308 (rw), uid 1001 inumber 23555 on /mnt: filesystem full May 17 19:50:37 x4 kernel: pid 4310 (rw), uid 1001 inumber 47119 on /mnt: filesystem full May 17 19:50:45 x4 kernel: pid 4314 (rw), uid 1001 inumber 47109 on /mnt: filesystem full May 17 19:50:51 x4 kernel: pid 4310 (rw), uid 1001 inumber 47105 on /mnt: filesystem full May 17 19:51:01 x4 kernel: pid 4312 (rw), uid 1001 inumber 47120 on /mnt: filesystem full May 17 19:51:06 x4 kernel: pid 4314 (rw), uid 1001 inumber 47130 on /mnt: filesystem full May 17 19:51:19 x4 kernel: pid 4308 (rw), uid 1001 inumber 23558 on /mnt: filesystem full May 17 19:51:30 x4 kernel: pid 4316 (rw), uid 1001 inumber 47120 on /mnt: filesystem full May 17 19:51:36 x4 kernel: pid 4308 (rw), uid 1001 inumber 23553 on /mnt: filesystem full May 17 19:51:47 x4 kernel: pid 4346 (rw), uid 1001 inumber 70666 on /mnt: filesystem full May 17 19:51:52 x4 kernel: pid 4344 (rw), uid 1001 inumber 70656 on /mnt: filesystem full May 17 19:52:08 x4 kernel: pid 4343 (rw), uid 1001 inumber 70676 on /mnt: filesystem full May 17 19:52:17 x4 kernel: pid 4346 (rw), uid 1001 inumber 70662 on /mnt: filesystem full May 17 19:52:23 x4 kernel: pid 4349 (rw), uid 1001 inumber 94212 on /mnt: filesystem full May 17 19:52:29 x4 kernel: pid 4346 (rw), uid 1001 inumber 70669 on /mnt: filesystem full May 17 19:52:36 x4 kernel: pid 4343 (rw), uid 1001 inumber 70658 on /mnt: filesystem full May 17 19:52:41 x4 kernel: pid 4344 (rw), uid 1001 inumber 70664 on /mnt: filesystem full May 17 19:52:50 x4 kernel: pid 4343 (rw), uid 1001 inumber 70680 on /mnt: filesystem full May 17 19:53:00 x4 kernel: pid 4340 (rw), uid 1001 inumber 70677 on /mnt: filesystem full May 17 19:53:12 x4 kernel: pid 4347 (rw), uid 1001 inumber 94214 on /mnt: filesystem full May 17 19:53:21 x4 kernel: pid 4341 (rw), uid 1001 inumber 47107 on /mnt: filesystem full May 17 19:53:33 x4 kernel: pid 4347 (rw), uid 1001 inumber 94215 on /mnt: filesystem full May 17 19:53:47 x4 kernel: pid 4376 (rw), uid 1001 inumber 70670 on /mnt: filesystem full May 17 19:53:53 x4 kernel: pid 4373 (rw), uid 1001 inumber 94208 on /mnt: filesystem full May 17 19:54:09 x4 kernel: pid 4373 (rw), uid 1001 inumber 94208 on /mnt: filesystem full May 17 19:54:16 x4 kernel: pid 4372 (rw), uid 1001 inumber 9 on /mnt: filesystem full May 17 19:54:39 x4 kernel: pid 4377 (rw), uid 1001 inumber 70662 on /mnt: filesystem full May 17 19:55:16 x4 kernel: pid 4378 (rw), uid 1001 inumber 70660 on /mnt: filesystem full May 17 19:55:25 x4 kernel: pid 4373 (rw), uid 1001 inumber 94210 on /mnt: filesystem full May 17 19:55:34 x4 kernel: pid 4372 (rw), uid 1001 inumber 8 on /mnt: filesystem full May 17 19:55:43 x4 kernel: pid 4375 (rw), uid 1001 inumber 70659 on /mnt: filesystem full May 17 19:55:57 x4 kernel: pid 4416 (rw), uid 1001 inumber 23559 on /mnt: filesystem full May 17 19:56:15 x4 kernel: pid 4419 (rw), uid 1001 inumber 23581 on /mnt: filesystem full May 17 19:56:23 x4 kernel: pid 4424 (rw), uid 1001 inumber 23571 on /mnt: filesystem full May 17 19:56:54 x4 kernel: pid 4422 (rw), uid 1001 inumber 23588 on /mnt: filesystem full May 17 19:57:15 x4 kernel: pid 4416 (rw), uid 1001 inumber 23571 on /mnt: filesystem full May 17 19:57:39 x4 kernel: pid 4421 (rw), uid 1001 inumber 23576 on /mnt: filesystem full May 17 19:57:58 x4 kernel: pid 4448 (rw), uid 1001 inumber 23580 on /mnt: filesystem full May 17 19:58:34 x4 kernel: pid 4450 (rw), uid 1001 inumber 23566 on /mnt: filesystem full May 17 19:58:41 x4 kernel: pid 4451 (rw), uid 1001 inumber 23567 on /mnt: filesystem full May 17 19:58:55 x4 kernel: pid 4448 (rw), uid 1001 inumber 23555 on /mnt: filesystem full May 17 19:59:26 x4 kernel: pid 4451 (rw), uid 1001 inumber 23578 on /mnt: filesystem full May 17 19:59:34 x4 kernel: pid 4456 (rw), uid 1001 inumber 23580 on /mnt: filesystem full May 17 19:59:40 x4 kernel: pid 4452 (rw), uid 1001 inumber 23564 on /mnt: filesystem full May 17 19:59:59 x4 kernel: pid 4478 (rw), uid 1001 inumber 23567 on /mnt: filesystem full May 17 20:00:11 x4 kernel: pid 4486 (rw), uid 1001 inumber 23586 on /mnt: filesystem full May 17 20:00:21 x4 kernel: pid 4487 (rw), uid 1001 inumber 23558 on /mnt: filesystem full May 17 20:00:30 x4 kernel: pid 4480 (rw), uid 1001 inumber 23567 on /mnt: filesystem full May 17 20:00:58 x4 kernel: pid 4487 (rw), uid 1001 inumber 23587 on /mnt: filesystem full May 17 20:01:24 x4 kernel: pid 4483 (rw), uid 1001 inumber 23573 on /mnt: filesystem full May 17 20:02:06 x4 kernel: pid 4531 (rw), uid 1001 inumber 23581 on /mnt: filesystem full May 17 20:02:22 x4 kernel: pid 4528 (rw), uid 1001 inumber 23563 on /mnt: filesystem full May 17 20:02:33 x4 kernel: pid 4531 (rw), uid 1001 inumber 23554 on /mnt: filesystem full May 17 20:03:09 x4 kernel: pid 4535 (rw), uid 1001 inumber 23587 on /mnt: filesystem full May 17 20:03:32 x4 kernel: pid 4533 (rw), uid 1001 inumber 23576 on /mnt: filesystem full May 17 20:03:49 x4 kernel: pid 4535 (rw), uid 1001 inumber 23577 on /mnt: filesystem full May 17 20:07:16 x4 kernel: pid 6451 (suj6), uid 1001 inumber 12 on /mnt: filesystem full May 17 20:07:51 x4 kernel: pid 6602 (suj6), uid 1001 inumber 17 on /mnt: filesystem full Failed to find journal. Use tunefs to create one Failed to start journal: 2 May 17 20:08:51 x4 kernel: pid 7066 (dd), uid 0 inumber 4 on /mnt: filesystem full May 17 20:08:53 x4 kernel: pid 7085 (dd), uid 0 inumber 5 on /mnt: filesystem full May 17 20:09:05 x4 kernel: pid 7232 (rw), uid 1001 inumber 6421 on /mnt: filesystem full May 17 20:09:06 x4 kernel: pid 7241 (rw), uid 1001 inumber 6938 on /mnt: filesystem full May 17 20:09:08 x4 kernel: pid 7233 (rw), uid 1001 inumber 6949 on /mnt: filesystem full May 17 20:09:10 x4 kernel: pid 7232 (rw), uid 1001 inumber 6421 on /mnt: filesystem full May 17 20:09:13 x4 kernel: pid 7232 (rw), uid 1001 inumber 6421 on /mnt: filesystem full May 17 20:11:05 x4 kernel: pid 7242 (rw), uid 1001 inumber 5161 on /mnt: filesystem full May 17 20:15:56 x4 kernel: pid 8463 (rw), uid 1001 inumber 10851 on /mnt: filesystem full panic: softdep_setup_directory_add: 0xca7bd740 already at off 672 cpuid = 3 KDB: enter: panic [ thread pid 8508 tid 100244 ] Stopped at kdb_enter+0x3a: movl $0,kdb_why db> run pho db:0:pho> bt Tracing pid 8508 tid 100244 td 0xca6c98a0 kdb_enter(c0e86573,c0e86573,c0eba9a6,ef45d880,3,...) at kdb_enter+0x3a panic(c0eba9a6,ca7bd740,2a0,ef45d8d0,e,...) at panic+0x134 softdep_setup_directory_add(e09474c0,cac5f740,2a0,0,1e72,...) at softdep_setup_directory_add+0x590 ufs_direnter(cac55984,0,ef45d9dc,ef45db70,0,...) at ufs_direnter+0x7db ufs_rename(ef45dbec,0,c7cfc2b8,ef45db98,0,...) at ufs_rename+0xc1c VOP_RENAME_APV(c0fbb100,ef45dbec,0,1,ef45db70,...) at VOP_RENAME_APV+0xa5 kern_renameat(ca6c98a0,ffffff9c,bfbfe628,ffffff9c,bfbfe6a8,...) at kern_renameat+0x307 kern_rename(ca6c98a0,bfbfe628,bfbfe6a8,0,ef45dc7c,...) at kern_rename+0x36 rename(ca6c98a0,ef45dcec,ef45dd28,c0e8c5de,0,...) at rename+0x29 syscallenter(ca6c98a0,ef45dce4,ef45dce4,0,0,...) at syscallenter+0x263 syscall(ef45dd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee97b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- db:0:bt> show allpcpu Current CPU: 3 cpuid = 0 dynamic pcpu = 0x44e800 curthread = 0xca6232e0: pid 8485 "creat" curpcb = 0xef3d9d80 fpcurthread = none idlethread = 0xc6dbf000: tid 100006 "idle: cpu0" APIC ID = 0 currentldt = 0x50 spin locks held: cpuid = 1 dynamic pcpu = 0x5b43800 curthread = 0xca664b80: pid 8483 "creat" curpcb = 0xef436d80 fpcurthread = none idlethread = 0xc6dbf2e0: tid 100005 "idle: cpu1" APIC ID = 1 currentldt = 0x50 spin locks held: cpuid = 2 dynamic pcpu = 0x5b46800 curthread = 0xca8015c0: pid 8512 "rename" curpcb = 0xef484d80 fpcurthread = none idlethread = 0xc6dbf5c0: tid 100004 "idle: cpu2" APIC ID = 2 currentldt = 0x50 spin locks held: cpuid = 3 dynamic pcpu = 0x5b49800 curthread = 0xca6c98a0: pid 8508 "rename" curpcb = 0xef45dd80 fpcurthread = none idlethread = 0xc6dbf8a0: tid 100003 "idle: cpu3" APIC ID = 3 currentldt = 0x50 spin locks held: db:0:allpcpu> show alllocks Process 8545 (lockf) thread 0xca7ff2e0 (100263) exclusive lockmgr ufs (ufs) r = 0 (0xca2661b4) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 0 (0xca6359dc) locked @ kern/vfs_lookup.c:678 Process 8534 (lockf2) thread 0xc7480b80 (100112) exclusive sx ls_lock (ls_lock) r = 0 (0xcac62948) locked @ kern/kern_lockf.c:641 Process 8530 (lockf2) thread 0xc7eee000 (100139) exclusive sx ls_lock (ls_lock) r = 0 (0xc99a0cc8) locked @ kern/kern_lockf.c:641 Process 8528 (lockf2) thread 0xc74222e0 (100087) exclusive sx ls_lock (ls_lock) r = 0 (0xc9ffab88) locked @ kern/kern_lockf.c:641 Process 8524 (lockf2) thread 0xc77e2000 (100089) exclusive sx ls_lock (ls_lock) r = 0 (0xc9806b88) locked @ kern/kern_lockf.c:641 Process 8519 (openat) thread 0xca6672e0 (100224) exclusive lockmgr ufs (ufs) r = 0 (0xc9f98310) locked @ kern/vfs_lookup.c:501 Process 8517 (openat) thread 0xc7fd22e0 (100169) exclusive lockmgr ufs (ufs) r = 0 (0xc9848880) locked @ kern/vfs_lookup.c:501 Process 8516 (rename) thread 0xc7a965c0 (100320) exclusive lockmgr bufwait (bufwait) r = 0 (0xe07152c0) locked @ kern/vfs_bio.c:1911 exclusive lockmgr bufwait (bufwait) r = 0 (0xe0957fa0) locked @ ufs/ffs/ffs_softdep.c:12679 exclusive lockmgr ufs (ufs) r = 0 (0xca199df0) locked @ ufs/ufs/ufs_vnops.c:1175 Process 8515 (openat) thread 0xca8012e0 (100258) exclusive lockmgr ufs (ufs) r = 0 (0xc983c9dc) locked @ kern/vfs_lookup.c:501 Process 8514 (rename) thread 0xc7c922e0 (100128) exclusive lockmgr ufs (ufs) r = 0 (0xcac0bdf0) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xca3aa310) locked @ ufs/ufs/ufs_vnops.c:1175 Process 8512 (rename) thread 0xca8015c0 (100257) exclusive lockmgr bufwait (bufwait) r = 0 (0xe089c980) locked @ kern/vfs_bio.c:2658 shared sx dirhash (dirhash) r = 0 (0xc876b000) locked @ ufs/ufs/ufs_dirhash.c:234 exclusive lockmgr ufs (ufs) r = 0 (0xcac59c94) locked @ kern/vfs_lookup.c:501 Process 8511 (openat) thread 0xca623b80 (100236) exclusive lockmgr ufs (ufs) r = 0 (0xcac12724) locked @ kern/vfs_subr.c:2134 Process 8510 (rename) thread 0xcaa6a5c0 (100338) exclusive lockmgr bufwait (bufwait) r = 0 (0xe08bce40) locked @ kern/vfs_bio.c:2658 exclusive lockmgr ufs (ufs) r = 0 (0xc97d1058) locked @ kern/vfs_lookup.c:501 Process 8509 (openat) thread 0xca622b80 (100211) exclusive lockmgr ufs (ufs) r = 0 (0xca499310) locked @ kern/vfs_subr.c:2134 Process 8508 (rename) thread 0xca6c98a0 (100244) exclusive sleep mutex Softdep Lock (Softdep Lock) r = 0 (0xc118ed2c) locked @ ufs/ffs/ffs_softdep.c:7576 exclusive lockmgr bufwait (bufwait) r = 0 (0xe0947520) locked @ kern/vfs_bio.c:2658 exclusive lockmgr ufs (ufs) r = 0 (0xc7cfc310) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xcac559dc) locked @ ufs/ufs/ufs_vnops.c:1175 Process 8506 (rename) thread 0xcaa6b000 (100335) exclusive lockmgr bufwait (bufwait) r = 0 (0xe0826ae0) locked @ kern/vfs_bio.c:1911 exclusive lockmgr bufwait (bufwait) r = 0 (0xe08c6560) locked @ ufs/ffs/ffs_softdep.c:12679 exclusive lockmgr ufs (ufs) r = 0 (0xcaa9e310) locked @ ufs/ufs/ufs_vnops.c:1175 Process 8505 (openat) thread 0xc7fd2000 (100170) exclusive lockmgr ufs (ufs) r = 0 (0xca4df9dc) locked @ kern/vfs_subr.c:2134 Process 8504 (rename) thread 0xca4662e0 (100198) exclusive lockmgr bufwait (bufwait) r = 0 (0xe07ccb20) locked @ kern/vfs_bio.c:1911 exclusive lockmgr bufwait (bufwait) r = 0 (0xe08c15c0) locked @ ufs/ffs/ffs_softdep.c:12679 exclusive lockmgr ufs (ufs) r = 0 (0xcac3a724) locked @ ufs/ufs/ufs_vnops.c:1175 Process 8503 (openat) thread 0xca8dd000 (100272) exclusive lockmgr ufs (ufs) r = 0 (0xc97f11b4) locked @ kern/vfs_lookup.c:501 Process 8501 (rename) thread 0xca6c88a0 (100249) exclusive lockmgr ufs (ufs) r = 0 (0xc9c0746c) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xc97efdf0) locked @ ufs/ufs/ufs_vnops.c:1175 Process 8500 (rename) thread 0xcaa6cb80 (100328) exclusive lockmgr bufwait (bufwait) r = 0 (0xe08a8940) locked @ kern/vfs_bio.c:1911 exclusive lockmgr bufwait (bufwait) r = 0 (0xe0719a40) locked @ ufs/ffs/ffs_softdep.c:12679 exclusive lockmgr ufs (ufs) r = 0 (0xc978c46c) locked @ ufs/ufs/ufs_vnops.c:1175 Process 8499 (rename) thread 0xc7fc4000 (100302) exclusive lockmgr ufs (ufs) r = 0 (0xcad8d1b4) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xc970ac94) locked @ ufs/ufs/ufs_vnops.c:1175 Process 8498 (rename) thread 0xca6ca5c0 (100240) exclusive lockmgr ufs (ufs) r = 0 (0xc7f25c94) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xca40146c) locked @ ufs/ufs/ufs_vnops.c:1175 Process 8497 (rename) thread 0xc747f8a0 (100118) exclusive lockmgr ufs (ufs) r = 0 (0xca0fe310) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 0 (0xc9b431b4) locked @ kern/vfs_lookup.c:501 Process 8496 (rename) thread 0xc7eec2e0 (100200) exclusive lockmgr bufwait (bufwait) r = 0 (0xe08296c0) locked @ kern/vfs_bio.c:1911 exclusive lockmgr bufwait (bufwait) r = 0 (0xe093c0c0) locked @ ufs/ffs/ffs_softdep.c:12679 exclusive lockmgr ufs (ufs) r = 0 (0xca19f058) locked @ ufs/ufs/ufs_vnops.c:1175 Process 8495 (openat) thread 0xc9b9a8a0 (100218) exclusive lockmgr ufs (ufs) r = 0 (0xca797058) locked @ kern/vfs_lookup.c:501 Process 8494 (openat) thread 0xca6c92e0 (100246) exclusive lockmgr ufs (ufs) r = 0 (0xca586880) locked @ kern/vfs_lookup.c:501 Process 8493 (openat) thread 0xc7fc82e0 (100157) exclusive lockmgr ufs (ufs) r = 0 (0xc97c65c8) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 1 (0xc74e346c) locked @ ufs/ufs/ufs_vnops.c:1175 Process 8491 (openat) thread 0xc7fd25c0 (100166) exclusive lockmgr ufs (ufs) r = 0 (0xc9c1ab38) locked @ kern/vfs_subr.c:2134 Process 8490 (openat) thread 0xca4678a0 (100191) exclusive lockmgr ufs (ufs) r = 0 (0xca477c94) locked @ kern/vfs_subr.c:2134 Process 8487 (creat) thread 0xc77dcb80 (100184) exclusive lockmgr ufs (ufs) r = 0 (0xc981f9dc) locked @ ufs/ffs/ffs_vfsops.c:1521 exclusive lockmgr ufs (ufs) r = 0 (0xca57e880) locked @ kern/vfs_lookup.c:501 Process 8485 (creat) thread 0xca6232e0 (100209) exclusive lockmgr ufs (ufs) r = 0 (0xca766724) locked @ kern/vfs_subr.c:2134 exclusive lockmgr ufs (ufs) r = 0 (0xcaa9e46c) locked @ kern/vfs_lookup.c:501 Process 8483 (creat) thread 0xca664b80 (100231) exclusive lockmgr bufwait (bufwait) r = 0 (0xe08a5bc0) locked @ kern/vfs_bio.c:2658 exclusive lockmgr ufs (ufs) r = 0 (0xca1a3310) locked @ kern/vfs_lookup.c:501 Process 8480 (creat) thread 0xca623000 (100210) exclusive lockmgr ufs (ufs) r = 0 (0xcaa9e1b4) locked @ kern/vfs_lookup.c:501 Process 8469 (rw) thread 0xc77e08a0 (100107) exclusive lockmgr ufs (ufs) r = 0 (0xc9f8fdf0) locked @ kern/vfs_vnops.c:612 Process 8465 (rw) thread 0xc77f6b80 (100143) exclusive lockmgr bufwait (bufwait) r = 0 (0xe0877ee0) locked @ kern/vfs_bio.c:2658 exclusive lockmgr bufwait (bufwait) r = 0 (0xe06f79e0) locked @ kern/vfs_bio.c:2658 exclusive lockmgr bufwait (bufwait) r = 0 (0xe0829380) locked @ kern/vfs_bio.c:2658 exclusive lockmgr bufwait (bufwait) r = 0 (0xe091ee60) locked @ kern/vfs_bio.c:2658 exclusive lockmgr bufwait (bufwait) r = 0 (0xe0703ce0) locked @ kern/vfs_bio.c:2658 exclusive lockmgr bufwait (bufwait) r = 0 (0xe0893c20) locked @ kern/vfs_bio.c:2658 exclusive lockmgr ufs (ufs) r = 0 (0xca4e11b4) locked @ kern/vfs_vnops.c:612 Process 8464 (rw) thread 0xca8dc000 (100291) exclusive lockmgr ufs (ufs) r = 0 (0xc9d6adf0) locked @ kern/vfs_vnops.c:612 Process 8463 (rw) thread 0xc77f75c0 (100101) exclusive lockmgr ufs (ufs) r = 0 (0xca41fc94) locked @ kern/vfs_vnops.c:612 Process 8462 (rw) thread 0xc74225c0 (100085) exclusive lockmgr bufwait (bufwait) r = 0 (0xe07d8e20) locked @ kern/vfs_bio.c:2658 exclusive lockmgr ufs (ufs) r = 0 (0xc9f6f880) locked @ kern/vfs_vnops.c:612 Process 8461 (rw) thread 0xc74272e0 (100080) exclusive lockmgr ufs (ufs) r = 0 (0xca62b5c8) locked @ kern/vfs_lookup.c:501 Process 3582 (sshd) thread 0xc9b9ab80 (100217) exclusive sx so_rcv_sx (so_rcv_sx) r = 0 (0xc80523cc) locked @ kern/uipc_sockbuf.c:148 Process 2351 (sshd) thread 0xc77f85c0 (100137) exclusive sx so_rcv_sx (so_rcv_sx) r = 0 (0xc7f02a4c) locked @ kern/uipc_sockbuf.c:148 db:0:alllocks> show lockedvnods Locked vnodes 0xca635984: tag ufs, type VDIR usecount 86, writecount 0, refcount 94 mountedhere 0 flags () v_object 0xca630220 ref 0 pages 0 lock type ufs: EXCL by thread 0xca7ff2e0 (pid 8545) with exclusive waiters pending with shared waiters pending #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a357c4 at lookup+0x604 #5 0xc0a366a2 at namei+0x592 #6 0xc0a47de4 at kern_unlinkat+0x54 #7 0xc0a4803f at kern_unlink+0x2f #8 0xc0a48072 at unlink+0x22 #9 0xc09eb163 at syscallenter+0x263 #10 0xc0cd2caf at syscall+0x4f #11 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4096, on dev md5a 0xca62b570: tag ufs, type VDIR usecount 3, writecount 0, refcount 4 mountedhere 0 flags () v_object 0xc9bbaa18 ref 0 pages 0 lock type ufs: EXCL by thread 0xc74272e0 (pid 8461) #0 0xc09907b5 at __lockmgr_args+0x5a5 #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a352c6 at lookup+0x106 #5 0xc0a366a2 at namei+0x592 #6 0xc0a4fb30 at vn_open_cred+0x90 #7 0xc0a500bb at vn_open+0x3b #8 0xc0a4ed3f at kern_openat+0x12f #9 0xc0a4f185 at kern_open+0x35 #10 0xc0a4f1c0 at open+0x30 #11 0xc09eb163 at syscallenter+0x263 #12 0xc0cd2caf at syscall+0x4f #13 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4104, on dev md5a 0xca586828: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc9a1a110 ref 0 pages 0 lock type ufs: EXCL by thread 0xca6c92e0 (pid 8494) #0 0xc09907b5 at __lockmgr_args+0x5a5 #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a352c6 at lookup+0x106 #5 0xc0a366a2 at namei+0x592 #6 0xc0a4fb30 at vn_open_cred+0x90 #7 0xc0a500bb at vn_open+0x3b #8 0xc0a4ed3f at kern_openat+0x12f #9 0xc0a4f208 at openat+0x38 #10 0xc09eb163 at syscallenter+0x263 #11 0xc0cd2caf at syscall+0x4f #12 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4117, on dev md5a 0xcaa9e15c: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xca8d95d8 ref 0 pages 0 lock type ufs: EXCL by thread 0xca623000 (pid 8480) #0 0xc09907b5 at __lockmgr_args+0x5a5 #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a352c6 at lookup+0x106 #5 0xc0a366a2 at namei+0x592 #6 0xc0a4fb30 at vn_open_cred+0x90 #7 0xc0a500bb at vn_open+0x3b #8 0xc0a4ed3f at kern_openat+0x12f #9 0xc0a4f185 at kern_open+0x35 #10 0xc0a4f1c0 at open+0x30 #11 0xc09eb163 at syscallenter+0x263 #12 0xc0cd2caf at syscall+0x4f #13 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4118, on dev md5a 0xcac55984: tag ufs, type VDIR usecount 5, writecount 0, refcount 7 mountedhere 0 flags () v_object 0xca908c38 ref 0 pages 0 lock type ufs: EXCL by thread 0xca6c98a0 (pid 8508) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0bf0f23 at ufs_rename+0x183 #5 0xc0cf5a45 at VOP_RENAME_APV+0xa5 #6 0xc0a4bbe7 at kern_renameat+0x307 #7 0xc0a4bd96 at kern_rename+0x36 #8 0xc0a4bdc9 at rename+0x29 #9 0xc09eb163 at syscallenter+0x263 #10 0xc0cd2caf at syscall+0x4f #11 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4123, on dev md5a 0xca797000: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xca881000 ref 0 pages 0 lock type ufs: EXCL by thread 0xc9b9a8a0 (pid 8495) #0 0xc09907b5 at __lockmgr_args+0x5a5 #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a352c6 at lookup+0x106 #5 0xc0a366a2 at namei+0x592 #6 0xc0a4fb30 at vn_open_cred+0x90 #7 0xc0a500bb at vn_open+0x3b #8 0xc0a4ed3f at kern_openat+0x12f #9 0xc0a4f208 at openat+0x38 #10 0xc09eb163 at syscallenter+0x263 #11 0xc0cd2caf at syscall+0x4f #12 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4125, on dev md5a 0xc97d1000: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xca9e2880 ref 0 pages 0 lock type ufs: EXCL by thread 0xcaa6a5c0 (pid 8510) #0 0xc09907b5 at __lockmgr_args+0x5a5 #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a352c6 at lookup+0x106 #5 0xc0a366a2 at namei+0x592 #6 0xc0a4b937 at kern_renameat+0x57 #7 0xc0a4bd96 at kern_rename+0x36 #8 0xc0a4bdc9 at rename+0x29 #9 0xc09eb163 at syscallenter+0x263 #10 0xc0cd2caf at syscall+0x4f #11 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4126, on dev md5a 0xcac3a6cc: tag ufs, type VDIR usecount 4, writecount 0, refcount 6 mountedhere 0 flags () v_object 0xca4896e8 ref 0 pages 0 lock type ufs: EXCL by thread 0xca4662e0 (pid 8504) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0bf0f23 at ufs_rename+0x183 #5 0xc0cf5a45 at VOP_RENAME_APV+0xa5 #6 0xc0a4bbe7 at kern_renameat+0x307 #7 0xc0a4bd96 at kern_rename+0x36 #8 0xc0a4bdc9 at rename+0x29 #9 0xc09eb163 at syscallenter+0x263 #10 0xc0cd2caf at syscall+0x4f #11 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4130, on dev md5a 0xcaa9e2b8: tag ufs, type VDIR usecount 4, writecount 0, refcount 6 mountedhere 0 flags () v_object 0xc9661550 ref 0 pages 0 lock type ufs: EXCL by thread 0xcaa6b000 (pid 8506) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0bf0f23 at ufs_rename+0x183 #5 0xc0cf5a45 at VOP_RENAME_APV+0xa5 #6 0xc0a4bbe7 at kern_renameat+0x307 #7 0xc0a4bd96 at kern_rename+0x36 #8 0xc0a4bdc9 at rename+0x29 #9 0xc09eb163 at syscallenter+0x263 #10 0xc0cd2caf at syscall+0x4f #11 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4137, on dev md5a 0xca19f000: tag ufs, type VDIR usecount 4, writecount 0, refcount 6 mountedhere 0 flags () v_object 0xca893880 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7eec2e0 (pid 8496) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0bf0f23 at ufs_rename+0x183 #5 0xc0cf5a45 at VOP_RENAME_APV+0xa5 #6 0xc0a4bbe7 at kern_renameat+0x307 #7 0xc0a4bd96 at kern_rename+0x36 #8 0xc0a4bdc9 at rename+0x29 #9 0xc09eb163 at syscallenter+0x263 #10 0xc0cd2caf at syscall+0x4f #11 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4138, on dev md5a 0xcaa9e414: tag ufs, type VDIR usecount 2, writecount 0, refcount 6 mountedhere 0 flags () v_object 0xca404c38 ref 0 pages 1 lock type ufs: EXCL by thread 0xca6232e0 (pid 8485) #0 0xc09907b5 at __lockmgr_args+0x5a5 #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a352c6 at lookup+0x106 #5 0xc0a366a2 at namei+0x592 #6 0xc0a47de4 at kern_unlinkat+0x54 #7 0xc0a4803f at kern_unlink+0x2f #8 0xc0a48072 at unlink+0x22 #9 0xc09eb163 at syscallenter+0x263 #10 0xc0cd2caf at syscall+0x4f #11 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4139, on dev md5a 0xca199d98: tag ufs, type VDIR usecount 4, writecount 0, refcount 6 mountedhere 0 flags () v_object 0xca8936e8 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7a965c0 (pid 8516) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0bf0f23 at ufs_rename+0x183 #5 0xc0cf5a45 at VOP_RENAME_APV+0xa5 #6 0xc0a4bbe7 at kern_renameat+0x307 #7 0xc0a4bd96 at kern_rename+0x36 #8 0xc0a4bdc9 at rename+0x29 #9 0xc09eb163 at syscallenter+0x263 #10 0xc0cd2caf at syscall+0x4f #11 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4140, on dev md5a 0xc97f115c: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xca2fce58 ref 0 pages 0 lock type ufs: EXCL by thread 0xca8dd000 (pid 8503) #0 0xc09907b5 at __lockmgr_args+0x5a5 #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a352c6 at lookup+0x106 #5 0xc0a366a2 at namei+0x592 #6 0xc0a4fb30 at vn_open_cred+0x90 #7 0xc0a500bb at vn_open+0x3b #8 0xc0a4ed3f at kern_openat+0x12f #9 0xc0a4f208 at openat+0x38 #10 0xc09eb163 at syscallenter+0x263 #11 0xc0cd2caf at syscall+0x4f #12 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4141, on dev md5a 0xc9f982b8: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xca3017f8 ref 0 pages 0 lock type ufs: EXCL by thread 0xca6672e0 (pid 8519) #0 0xc09907b5 at __lockmgr_args+0x5a5 #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a352c6 at lookup+0x106 #5 0xc0a366a2 at namei+0x592 #6 0xc0a4fb30 at vn_open_cred+0x90 #7 0xc0a500bb at vn_open+0x3b #8 0xc0a4ed3f at kern_openat+0x12f #9 0xc0a4f208 at openat+0x38 #10 0xc09eb163 at syscallenter+0x263 #11 0xc0cd2caf at syscall+0x4f #12 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4144, on dev md5a 0xc983c984: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xca1d2110 ref 0 pages 0 lock type ufs: EXCL by thread 0xca8012e0 (pid 8515) #0 0xc09907b5 at __lockmgr_args+0x5a5 #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a352c6 at lookup+0x106 #5 0xc0a366a2 at namei+0x592 #6 0xc0a4fb30 at vn_open_cred+0x90 #7 0xc0a500bb at vn_open+0x3b #8 0xc0a4ed3f at kern_openat+0x12f #9 0xc0a4f208 at openat+0x38 #10 0xc09eb163 at syscallenter+0x263 #11 0xc0cd2caf at syscall+0x4f #12 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4150, on dev md5a 0xca3aa2b8: tag ufs, type VDIR usecount 5, writecount 0, refcount 7 mountedhere 0 flags () v_object 0xca895770 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7c922e0 (pid 8514) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0bf0f23 at ufs_rename+0x183 #5 0xc0cf5a45 at VOP_RENAME_APV+0xa5 #6 0xc0a4bbe7 at kern_renameat+0x307 #7 0xc0a4bd96 at kern_rename+0x36 #8 0xc0a4bdc9 at rename+0x29 #9 0xc09eb163 at syscallenter+0x263 #10 0xc0cd2caf at syscall+0x4f #11 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4151, on dev md5a 0xcac59c3c: tag ufs, type VDIR usecount 7, writecount 0, refcount 9 mountedhere 0 flags () v_object 0xcaa70908 ref 0 pages 0 lock type ufs: EXCL by thread 0xca8015c0 (pid 8512) #0 0xc09907b5 at __lockmgr_args+0x5a5 #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a352c6 at lookup+0x106 #5 0xc0a366a2 at namei+0x592 #6 0xc0a4ba93 at kern_renameat+0x1b3 #7 0xc0a4bd96 at kern_rename+0x36 #8 0xc0a4bdc9 at rename+0x29 #9 0xc09eb163 at syscallenter+0x263 #10 0xc0cd2caf at syscall+0x4f #11 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4154, on dev md5a 0xc9848828: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc9a04660 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7fd22e0 (pid 8517) #0 0xc09907b5 at __lockmgr_args+0x5a5 #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a352c6 at lookup+0x106 #5 0xc0a366a2 at namei+0x592 #6 0xc0a4fb30 at vn_open_cred+0x90 #7 0xc0a500bb at vn_open+0x3b #8 0xc0a4ed3f at kern_openat+0x12f #9 0xc0a4f208 at openat+0x38 #10 0xc09eb163 at syscallenter+0x263 #11 0xc0cd2caf at syscall+0x4f #12 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4160, on dev md5a 0xca1a32b8: tag ufs, type VDIR usecount 2, writecount 0, refcount 4 mountedhere 0 flags () v_object 0xc99be7f8 ref 0 pages 0 lock type ufs: EXCL by thread 0xca664b80 (pid 8483) #0 0xc09907b5 at __lockmgr_args+0x5a5 #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a352c6 at lookup+0x106 #5 0xc0a366a2 at namei+0x592 #6 0xc0a4fb30 at vn_open_cred+0x90 #7 0xc0a500bb at vn_open+0x3b #8 0xc0a4ed3f at kern_openat+0x12f #9 0xc0a4f185 at kern_open+0x35 #10 0xc0a4f1c0 at open+0x30 #11 0xc09eb163 at syscallenter+0x263 #12 0xc0cd2caf at syscall+0x4f #13 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4167, on dev md5a 0xca57e828: tag ufs, type VDIR usecount 8, writecount 0, refcount 9 mountedhere 0 flags () v_object 0xc80d9110 ref 0 pages 0 lock type ufs: EXCL by thread 0xc77dcb80 (pid 8487) #0 0xc09907b5 at __lockmgr_args+0x5a5 #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a352c6 at lookup+0x106 #5 0xc0a366a2 at namei+0x592 #6 0xc0a4fb30 at vn_open_cred+0x90 #7 0xc0a500bb at vn_open+0x3b #8 0xc0a4ed3f at kern_openat+0x12f #9 0xc0a4f185 at kern_open+0x35 #10 0xc0a4f1c0 at open+0x30 #11 0xc09eb163 at syscallenter+0x263 #12 0xc0cd2caf at syscall+0x4f #13 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4168, on dev md5a 0xc74e3414: tag ufs, type VDIR usecount 5, writecount 0, refcount 7 mountedhere 0 flags () v_object 0xca897550 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7fc82e0 (pid 8493) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0bf0f23 at ufs_rename+0x183 #5 0xc0cf5a45 at VOP_RENAME_APV+0xa5 #6 0xc0a4bbe7 at kern_renameat+0x307 #7 0xc0a4be07 at renameat+0x37 #8 0xc09eb163 at syscallenter+0x263 #9 0xc0cd2caf at syscall+0x4f #10 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4170, on dev md5a 0xc9b4315c: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc99bf6e8 ref 0 pages 0 lock type ufs: EXCL by thread 0xc747f8a0 (pid 8497) #0 0xc09907b5 at __lockmgr_args+0x5a5 #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a352c6 at lookup+0x106 #5 0xc0a366a2 at namei+0x592 #6 0xc0a4b937 at kern_renameat+0x57 #7 0xc0a4bd96 at kern_rename+0x36 #8 0xc0a4bdc9 at rename+0x29 #9 0xc09eb163 at syscallenter+0x263 #10 0xc0cd2caf at syscall+0x4f #11 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4171, on dev md5a 0xc978c414: tag ufs, type VDIR usecount 4, writecount 0, refcount 6 mountedhere 0 flags () v_object 0xc98075d8 ref 0 pages 0 lock type ufs: EXCL by thread 0xcaa6cb80 (pid 8500) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0bf0f23 at ufs_rename+0x183 #5 0xc0cf5a45 at VOP_RENAME_APV+0xa5 #6 0xc0a4bbe7 at kern_renameat+0x307 #7 0xc0a4bd96 at kern_rename+0x36 #8 0xc0a4bdc9 at rename+0x29 #9 0xc09eb163 at syscallenter+0x263 #10 0xc0cd2caf at syscall+0x4f #11 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4173, on dev md5a 0xc970ac3c: tag ufs, type VDIR usecount 5, writecount 0, refcount 7 mountedhere 0 flags () v_object 0xca89f2a8 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7fc4000 (pid 8499) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0bf0f23 at ufs_rename+0x183 #5 0xc0cf5a45 at VOP_RENAME_APV+0xa5 #6 0xc0a4bbe7 at kern_renameat+0x307 #7 0xc0a4bd96 at kern_rename+0x36 #8 0xc0a4bdc9 at rename+0x29 #9 0xc09eb163 at syscallenter+0x263 #10 0xc0cd2caf at syscall+0x4f #11 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4172, on dev md5a 0xca401414: tag ufs, type VDIR usecount 5, writecount 0, refcount 7 mountedhere 0 flags () v_object 0xc9e9d770 ref 0 pages 0 lock type ufs: EXCL by thread 0xca6ca5c0 (pid 8498) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0bf0f23 at ufs_rename+0x183 #5 0xc0cf5a45 at VOP_RENAME_APV+0xa5 #6 0xc0a4bbe7 at kern_renameat+0x307 #7 0xc0a4bd96 at kern_rename+0x36 #8 0xc0a4bdc9 at rename+0x29 #9 0xc09eb163 at syscallenter+0x263 #10 0xc0cd2caf at syscall+0x4f #11 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4176, on dev md5a 0xc97efd98: tag ufs, type VDIR usecount 5, writecount 0, refcount 7 mountedhere 0 flags () v_object 0xca2c8110 ref 0 pages 0 lock type ufs: EXCL by thread 0xca6c88a0 (pid 8501) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0bf0f23 at ufs_rename+0x183 #5 0xc0cf5a45 at VOP_RENAME_APV+0xa5 #6 0xc0a4bbe7 at kern_renameat+0x307 #7 0xc0a4bd96 at kern_rename+0x36 #8 0xc0a4bdc9 at rename+0x29 #9 0xc09eb163 at syscallenter+0x263 #10 0xc0cd2caf at syscall+0x4f #11 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4177, on dev md5a 0xc7f25c3c: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc9a65770 ref 0 pages 0 lock type ufs: EXCL by thread 0xca6ca5c0 (pid 8498) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a4354b at vget+0xbb #5 0xc0a344fd at vfs_hash_get+0xed #6 0xc0bdbba9 at ffs_vgetf+0x49 #7 0xc0bdc10e at ffs_vget+0x2e #8 0xc0bf10ad at ufs_rename+0x30d #9 0xc0cf5a45 at VOP_RENAME_APV+0xa5 #10 0xc0a4bbe7 at kern_renameat+0x307 #11 0xc0a4bd96 at kern_rename+0x36 #12 0xc0a4bdc9 at rename+0x29 #13 0xc09eb163 at syscallenter+0x263 #14 0xc0cd2caf at syscall+0x4f #15 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4313, on dev md5a 0xcac0bd98: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc77cc220 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7c922e0 (pid 8514) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a4354b at vget+0xbb #5 0xc0a344fd at vfs_hash_get+0xed #6 0xc0bdbba9 at ffs_vgetf+0x49 #7 0xc0bdc10e at ffs_vget+0x2e #8 0xc0bf10ad at ufs_rename+0x30d #9 0xc0cf5a45 at VOP_RENAME_APV+0xa5 #10 0xc0a4bbe7 at kern_renameat+0x307 #11 0xc0a4bd96 at kern_rename+0x36 #12 0xc0a4bdc9 at rename+0x29 #13 0xc09eb163 at syscallenter+0x263 #14 0xc0cd2caf at syscall+0x4f #15 0xc0cbc171 at Xint0x80_syscall+0x21 ino 4385, on dev md5a 0xca0fe2b8: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () v_object 0xc9f3ab28 ref 0 pages 0 lock type ufs: EXCL by thread 0xc747f8a0 (pid 8497) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a4354b at vget+0xbb #5 0xc0a344fd at vfs_hash_get+0xed #6 0xc0bdbba9 at ffs_vgetf+0x49 #7 0xc0bdc10e at ffs_vget+0x2e #8 0xc0be7b7b at ufs_lookup_ino+0x89b #9 0xc0be7f2a at ufs_lookup+0x2a #10 0xc0cf4855 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2ded6 at vfs_cache_lookup+0xd6 #12 0xc0cf65d5 at VOP_LOOKUP_APV+0xe5 #13 0xc0a3583b at lookup+0x67b #14 0xc0a366a2 at namei+0x592 #15 0xc0a4b937 at kern_renameat+0x57 #16 0xc0a4bd96 at kern_rename+0x36 #17 0xc0a4bdc9 at rename+0x29 ino 6290, on dev md5a 0xc9c07414: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xcaa69440 ref 0 pages 0 lock type ufs: EXCL by thread 0xca6c88a0 (pid 8501) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a4354b at vget+0xbb #5 0xc0a344fd at vfs_hash_get+0xed #6 0xc0bdbba9 at ffs_vgetf+0x49 #7 0xc0bdc10e at ffs_vget+0x2e #8 0xc0bf10ad at ufs_rename+0x30d #9 0xc0cf5a45 at VOP_RENAME_APV+0xa5 #10 0xc0a4bbe7 at kern_renameat+0x307 #11 0xc0a4bd96 at kern_rename+0x36 #12 0xc0a4bdc9 at rename+0x29 #13 0xc09eb163 at syscallenter+0x263 #14 0xc0cd2caf at syscall+0x4f #15 0xc0cbc171 at Xint0x80_syscall+0x21 ino 6829, on dev md5a 0xc7cfc2b8: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc9f2e550 ref 0 pages 0 lock type ufs: EXCL by thread 0xca6c98a0 (pid 8508) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a4354b at vget+0xbb #5 0xc0a344fd at vfs_hash_get+0xed #6 0xc0bdbba9 at ffs_vgetf+0x49 #7 0xc0bdc10e at ffs_vget+0x2e #8 0xc0bf10ad at ufs_rename+0x30d #9 0xc0cf5a45 at VOP_RENAME_APV+0xa5 #10 0xc0a4bbe7 at kern_renameat+0x307 #11 0xc0a4bd96 at kern_rename+0x36 #12 0xc0a4bdc9 at rename+0x29 #13 0xc09eb163 at syscallenter+0x263 #14 0xc0cd2caf at syscall+0x4f #15 0xc0cbc171 at Xint0x80_syscall+0x21 ino 7794, on dev md5a 0xcad8d15c: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xca1946e8 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7fc4000 (pid 8499) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a4354b at vget+0xbb #5 0xc0a344fd at vfs_hash_get+0xed #6 0xc0bdbba9 at ffs_vgetf+0x49 #7 0xc0bdc10e at ffs_vget+0x2e #8 0xc0bf10ad at ufs_rename+0x30d #9 0xc0cf5a45 at VOP_RENAME_APV+0xa5 #10 0xc0a4bbe7 at kern_renameat+0x307 #11 0xc0a4bd96 at kern_rename+0x36 #12 0xc0a4bdc9 at rename+0x29 #13 0xc09eb163 at syscallenter+0x263 #14 0xc0cd2caf at syscall+0x4f #15 0xc0cbc171 at Xint0x80_syscall+0x21 ino 8218, on dev md5a 0xca26615c: tag ufs, type VREG usecount 1, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xca2cbbb0 ref 0 pages 1 lock type ufs: EXCL by thread 0xca7ff2e0 (pid 8545) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a4354b at vget+0xbb #5 0xc0a344fd at vfs_hash_get+0xed #6 0xc0bdbba9 at ffs_vgetf+0x49 #7 0xc0bdc10e at ffs_vget+0x2e #8 0xc0be7b7b at ufs_lookup_ino+0x89b #9 0xc0be7f2a at ufs_lookup+0x2a #10 0xc0cf4855 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2ded6 at vfs_cache_lookup+0xd6 #12 0xc0cf65d5 at VOP_LOOKUP_APV+0xe5 #13 0xc0a3583b at lookup+0x67b #14 0xc0a366a2 at namei+0x592 #15 0xc0a47de4 at kern_unlinkat+0x54 #16 0xc0a4803f at kern_unlink+0x2f #17 0xc0a48072 at unlink+0x22 ino 5943, on dev md5a 0xca7666cc: tag ufs, type VREG usecount 1, writecount 0, refcount 1 mountedhere 0 flags () v_object 0xca260660 ref 0 pages 0 lock type ufs: EXCL by thread 0xca6232e0 (pid 8485) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a4354b at vget+0xbb #5 0xc0a344fd at vfs_hash_get+0xed #6 0xc0bdbba9 at ffs_vgetf+0x49 #7 0xc0bdc10e at ffs_vget+0x2e #8 0xc0be7b7b at ufs_lookup_ino+0x89b #9 0xc0be7f2a at ufs_lookup+0x2a #10 0xc0cf4855 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2ded6 at vfs_cache_lookup+0xd6 #12 0xc0cf65d5 at VOP_LOOKUP_APV+0xe5 #13 0xc0a3583b at lookup+0x67b #14 0xc0a366a2 at namei+0x592 #15 0xc0a47de4 at kern_unlinkat+0x54 #16 0xc0a4803f at kern_unlink+0x2f #17 0xc0a48072 at unlink+0x22 ino 8252, on dev md5a 0xc9f6f828: tag ufs, type VREG usecount 1, writecount 1, refcount 25 mountedhere 0 flags () v_object 0xca5332a8 ref 0 pages 92 lock type ufs: EXCL by thread 0xc74225c0 (pid 8462) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a51776 at vn_write+0x156 #5 0xc09f5135 at dofilewrite+0x95 #6 0xc09f68d8 at kern_writev+0x58 #7 0xc09f69ef at write+0x4f #8 0xc09eb163 at syscallenter+0x263 #9 0xc0cd2caf at syscall+0x4f #10 0xc0cbc171 at Xint0x80_syscall+0x21 ino 6991, on dev md5a 0xc9f8fd98: tag ufs, type VREG usecount 1, writecount 1, refcount 10 mountedhere 0 flags () v_object 0xc9f0d880 ref 0 pages 32 lock type ufs: EXCL by thread 0xc77e08a0 (pid 8469) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a51776 at vn_write+0x156 #5 0xc09f5135 at dofilewrite+0x95 #6 0xc09f68d8 at kern_writev+0x58 #7 0xc09f69ef at write+0x4f #8 0xc09eb163 at syscallenter+0x263 #9 0xc0cd2caf at syscall+0x4f #10 0xc0cbc171 at Xint0x80_syscall+0x21 ino 7248, on dev md5a 0xca4e115c: tag ufs, type VREG usecount 1, writecount 1, refcount 33 mountedhere 0 flags () v_object 0xc9bb9ee0 ref 0 pages 124 lock type ufs: EXCL by thread 0xc77f6b80 (pid 8465) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a51776 at vn_write+0x156 #5 0xc09f5135 at dofilewrite+0x95 #6 0xc09f68d8 at kern_writev+0x58 #7 0xc09f69ef at write+0x4f #8 0xc09eb163 at syscallenter+0x263 #9 0xc0cd2caf at syscall+0x4f #10 0xc0cbc171 at Xint0x80_syscall+0x21 ino 7849, on dev md5a 0xc9d6ad98: tag ufs, type VREG usecount 1, writecount 1, refcount 1 mountedhere 0 flags () v_object 0xca7b2c38 ref 0 pages 0 lock type ufs: EXCL by thread 0xca8dc000 (pid 8464) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a51776 at vn_write+0x156 #5 0xc09f5135 at dofilewrite+0x95 #6 0xc09f68d8 at kern_writev+0x58 #7 0xc09f69ef at write+0x4f #8 0xc09eb163 at syscallenter+0x263 #9 0xc0cd2caf at syscall+0x4f #10 0xc0cbc171 at Xint0x80_syscall+0x21 ino 9019, on dev md5a 0xca41fc3c: tag ufs, type VREG usecount 1, writecount 1, refcount 3 mountedhere 0 flags () v_object 0xc9a19550 ref 0 pages 4 lock type ufs: EXCL by thread 0xc77f75c0 (pid 8463) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a51776 at vn_write+0x156 #5 0xc09f5135 at dofilewrite+0x95 #6 0xc09f68d8 at kern_writev+0x58 #7 0xc09f69ef at write+0x4f #8 0xc09eb163 at syscallenter+0x263 #9 0xc0cd2caf at syscall+0x4f #10 0xc0cbc171 at Xint0x80_syscall+0x21 ino 9021, on dev md5a 0xca4992b8: tag ufs, type VREG usecount 0, writecount 0, refcount 1 mountedhere 0 flags (VV_NOSYNC|VI_DOINGINACT) v_object 0xca56e660 ref 0 pages 0 lock type ufs: EXCL by thread 0xca622b80 (pid 8509) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a4354b at vget+0xbb #5 0xc0a344fd at vfs_hash_get+0xed #6 0xc0bdbba9 at ffs_vgetf+0x49 #7 0xc0bdc10e at ffs_vget+0x2e #8 0xc0be7b7b at ufs_lookup_ino+0x89b #9 0xc0be7f2a at ufs_lookup+0x2a #10 0xc0cf4855 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2ded6 at vfs_cache_lookup+0xd6 #12 0xc0cf65d5 at VOP_LOOKUP_APV+0xe5 #13 0xc0a3583b at lookup+0x67b #14 0xc0a366a2 at namei+0x592 #15 0xc0a47de4 at kern_unlinkat+0x54 #16 0xc0a4803f at kern_unlink+0x2f #17 0xc0a48072 at unlink+0x22 ino 9029, on dev md5a 0xcac126cc: tag ufs, type VREG usecount 0, writecount 0, refcount 1 mountedhere 0 flags (VV_NOSYNC|VI_DOINGINACT) v_object 0xc9f67bb0 ref 0 pages 0 lock type ufs: EXCL by thread 0xca623b80 (pid 8511) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a4354b at vget+0xbb #5 0xc0a344fd at vfs_hash_get+0xed #6 0xc0bdbba9 at ffs_vgetf+0x49 #7 0xc0bdc10e at ffs_vget+0x2e #8 0xc0be7b7b at ufs_lookup_ino+0x89b #9 0xc0be7f2a at ufs_lookup+0x2a #10 0xc0cf4855 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2ded6 at vfs_cache_lookup+0xd6 #12 0xc0cf65d5 at VOP_LOOKUP_APV+0xe5 #13 0xc0a3583b at lookup+0x67b #14 0xc0a366a2 at namei+0x592 #15 0xc0a47de4 at kern_unlinkat+0x54 #16 0xc0a4803f at kern_unlink+0x2f #17 0xc0a48072 at unlink+0x22 ino 9020, on dev md5a 0xc9c1aae0: tag ufs, type VREG usecount 0, writecount 0, refcount 1 mountedhere 0 flags (VV_NOSYNC|VI_DOINGINACT) v_object 0xca804e58 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7fd25c0 (pid 8491) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a4354b at vget+0xbb #5 0xc0a344fd at vfs_hash_get+0xed #6 0xc0bdbba9 at ffs_vgetf+0x49 #7 0xc0bdc10e at ffs_vget+0x2e #8 0xc0be7b7b at ufs_lookup_ino+0x89b #9 0xc0be7f2a at ufs_lookup+0x2a #10 0xc0cf4855 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2ded6 at vfs_cache_lookup+0xd6 #12 0xc0cf65d5 at VOP_LOOKUP_APV+0xe5 #13 0xc0a3583b at lookup+0x67b #14 0xc0a366a2 at namei+0x592 #15 0xc0a47de4 at kern_unlinkat+0x54 #16 0xc0a4803f at kern_unlink+0x2f #17 0xc0a48072 at unlink+0x22 ino 8826, on dev md5a 0xc981f984: tag ufs, type VNON usecount 1, writecount 0, refcount 1 mountedhere 0 flags () lock type ufs: EXCL by thread 0xc77dcb80 (pid 8487) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0bdbce9 at ffs_vgetf+0x189 #2 0xc0bdc10e at ffs_vget+0x2e #3 0xc0bb1c20 at ffs_valloc+0x500 #4 0xc0bef523 at ufs_makeinode+0xc3 #5 0xc0befd30 at ufs_create+0x30 #6 0xc0cf6425 at VOP_CREATE_APV+0xc5 #7 0xc0a4fca5 at vn_open_cred+0x205 #8 0xc0a500bb at vn_open+0x3b #9 0xc0a4ed3f at kern_openat+0x12f #10 0xc0a4f185 at kern_open+0x35 #11 0xc0a4f1c0 at open+0x30 #12 0xc09eb163 at syscallenter+0x263 #13 0xc0cd2caf at syscall+0x4f #14 0xc0cbc171 at Xint0x80_syscall+0x21 ino 9281, on dev md5a 0xca4df984: tag ufs, type VREG usecount 0, writecount 0, refcount 1 mountedhere 0 flags (VV_NOSYNC|VI_DOINGINACT) v_object 0xca56e908 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7fd2000 (pid 8505) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a4354b at vget+0xbb #5 0xc0a344fd at vfs_hash_get+0xed #6 0xc0bdbba9 at ffs_vgetf+0x49 #7 0xc0bdc10e at ffs_vget+0x2e #8 0xc0be7b7b at ufs_lookup_ino+0x89b #9 0xc0be7f2a at ufs_lookup+0x2a #10 0xc0cf4855 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2ded6 at vfs_cache_lookup+0xd6 #12 0xc0cf65d5 at VOP_LOOKUP_APV+0xe5 #13 0xc0a3583b at lookup+0x67b #14 0xc0a366a2 at namei+0x592 #15 0xc0a47de4 at kern_unlinkat+0x54 #16 0xc0a4803f at kern_unlink+0x2f #17 0xc0a48072 at unlink+0x22 ino 6031, on dev md5a 0xca477c3c: tag ufs, type VREG usecount 0, writecount 0, refcount 1 mountedhere 0 flags (VV_NOSYNC|VI_DOINGINACT) v_object 0xc9ed1198 ref 0 pages 0 lock type ufs: EXCL by thread 0xca4678a0 (pid 8490) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a4354b at vget+0xbb #5 0xc0a344fd at vfs_hash_get+0xed #6 0xc0bdbba9 at ffs_vgetf+0x49 #7 0xc0bdc10e at ffs_vget+0x2e #8 0xc0be7b7b at ufs_lookup_ino+0x89b #9 0xc0be7f2a at ufs_lookup+0x2a #10 0xc0cf4855 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0a2ded6 at vfs_cache_lookup+0xd6 #12 0xc0cf65d5 at VOP_LOOKUP_APV+0xe5 #13 0xc0a3583b at lookup+0x67b #14 0xc0a366a2 at namei+0x592 #15 0xc0a47de4 at kern_unlinkat+0x54 #16 0xc0a480e4 at unlinkat+0x64 #17 0xc09eb163 at syscallenter+0x263 ino 6612, on dev md5a 0xc97c6570: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc9f0cee0 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7fc82e0 (pid 8493) #0 0xc0990e0e at __lockmgr_args+0xbfe #1 0xc0be1531 at ffs_lock+0xa1 #2 0xc0cf5455 at VOP_LOCK1_APV+0xb5 #3 0xc0a50408 at _vn_lock+0x78 #4 0xc0a4354b at vget+0xbb #5 0xc0a344fd at vfs_hash_get+0xed #6 0xc0bdbba9 at ffs_vgetf+0x49 #7 0xc0bdc10e at ffs_vget+0x2e #8 0xc0bf10ad at ufs_rename+0x30d #9 0xc0cf5a45 at VOP_RENAME_APV+0xa5 #10 0xc0a4bbe7 at kern_renameat+0x307 #11 0xc0a4be07 at renameat+0x37 #12 0xc09eb163 at syscallenter+0x263 #13 0xc0cd2caf at syscall+0x4f #14 0xc0cbc171 at Xint0x80_syscall+0x21 ino 9348, on dev md5a db:0:lockedvnods> show mount 0xc73f6b50 /dev/ad4s1a on / (ufs) 0xc73f7000 devfs on /dev (devfs) 0xc773d5a8 /dev/ad4s1f on /home (ufs) 0xc773d000 /dev/ad4s1d on /usr (ufs) 0xc73f7b50 /dev/ad4s1e on /var (ufs) 0xc73f787c procfs on /proc (procfs) 0xc73f75a8 linprocfs on /usr/compat/linux/proc (linprocfs) 0xc73f72d4 /dev/label/tmp on /tmp (ufs) 0xc98c487c /dev/md5a on /mnt (ufs) More info: show mount db:0:mount> ps pid ppid pgrp uid state wmesg wchan cmd 8623 8523 7207 1001 S+ lockf 0xca019e80 lockf 8550 8520 7207 1001 D+ ufs 0xca6359dc lockf 8549 8520 7207 1001 D+ ufs 0xca6359dc lockf 8548 8520 7207 1001 D+ ufs 0xca6359dc lockf 8547 8520 7207 1001 D+ ufs 0xca6359dc lockf 8546 8520 7207 1001 D+ ufs 0xca6359dc lockf 8545 8520 7207 1001 RL+ lockf 8544 8520 7207 1001 D+ ufs 0xca6359dc lockf 8543 8520 7207 1001 D+ ufs 0xca6359dc lockf 8542 8520 7207 1001 D+ ufs 0xca6359dc lockf 8541 8520 7207 1001 D+ ufs 0xca6359dc lockf 8540 8502 7207 1001 R+ lockf2 8539 8520 7207 1001 D+ ufs 0xca6359dc lockf 8538 8502 7207 1001 R+ lockf2 8537 8520 7207 1001 D+ ufs 0xca6359dc lockf 8536 8502 7207 1001 R+ lockf2 8535 8520 7207 1001 D+ ufs 0xca6359dc lockf 8534 8502 7207 1001 R+ lockf2 8533 8520 7207 1001 D+ ufs 0xca6359dc lockf 8532 8502 7207 1001 D+ ufs 0xca6359dc lockf2 8531 8520 7207 1001 D+ ufs 0xca6359dc lockf 8530 8502 7207 1001 R+ lockf2 8529 8520 7207 1001 D+ ufs 0xca6359dc lockf 8528 8502 7207 1001 R+ lockf2 8527 8520 7207 1001 D+ ufs 0xca6359dc lockf 8526 8502 7207 1001 R+ lockf2 8525 8520 7207 1001 D+ ufs 0xca6359dc lockf 8524 8502 7207 1001 R+ lockf2 8523 8520 7207 1001 R+ lockf 8522 8502 7207 1001 R+ lockf2 8521 8520 7207 1001 D+ ufs 0xca6359dc lockf 8520 8454 7207 1001 S+ wait 0xca2202bc lockf 8519 8481 7207 1001 R+ openat 8518 8502 7207 1001 D+ ufs 0xca6359dc lockf2 8517 8481 7207 1001 R+ openat 8516 8489 7207 1001 R+ rename 8515 8481 7207 1001 R+ openat 8514 8489 7207 1001 R+ rename 8513 8489 7207 1001 R+ rename 8512 8489 7207 1001 R+ CPU 2 rename 8511 8481 7207 1001 R+ openat 8510 8489 7207 1001 R+ rename 8509 8481 7207 1001 R+ openat 8508 8489 7207 1001 R+ CPU 3 rename 8507 8481 7207 1001 R+ openat 8506 8489 7207 1001 R+ rename 8505 8481 7207 1001 R+ openat 8504 8489 7207 1001 R+ rename 8503 8481 7207 1001 R+ openat 8502 8448 7207 1001 S+ wait 0xc7ee72bc lockf2 8501 8489 7207 1001 R+ rename 8500 8489 7207 1001 R+ rename 8499 8489 7207 1001 R+ rename 8498 8489 7207 1001 R+ rename 8497 8489 7207 1001 R+ rename 8496 8489 7207 1001 R+ rename 8495 8481 7207 1001 R+ openat 8494 8481 7207 1001 R+ openat 8493 8481 7207 1001 R+ openat 8492 8488 7207 1001 D+ ufs 0xca6359dc mkdir 8491 8481 7207 1001 R+ openat 8490 8481 7207 1001 R+ openat 8489 8457 7207 1001 S+ wait 0xca6c5834 rename 8488 8456 7207 1001 S+ wait 0xca8aa000 mkdir 8487 8479 7207 1001 R+ creat 8486 8472 7207 1001 R+ swap 8485 8479 7207 1001 R+ CPU 0 creat 8484 8472 7207 1001 R+ swap 8483 8479 7207 1001 R+ CPU 1 creat 8482 8472 7207 1001 R+ swap 8481 8450 7207 1001 S+ wait 0xc9b99af0 openat 8480 8479 7207 1001 R+ creat 8479 8455 7207 1001 S+ wait 0xc7b392bc creat 8478 8470 7207 1001 D+ ufs 0xca6359dc fts 8477 8470 7207 1001 D+ ufs 0xca6359dc fts 8476 8470 7207 1001 D+ ufs 0xca6359dc fts 8475 8470 7207 1001 D+ ufs 0xca6359dc fts 8474 8470 7207 1001 D+ ufs 0xca6359dc fts 8473 8470 7207 1001 D+ ufs 0xca6359dc fts 8472 8458 7207 1001 S+ wait 0xca223578 swap 8471 8470 7207 1001 D+ ufs 0xca6359dc fts 8470 8452 7207 1001 S+ wait 0xca21f578 fts 8469 8460 7207 1001 R+ rw 8468 8460 7207 1001 R+ rw 8467 8460 7207 1001 R+ rw 8466 8460 7207 1001 R+ rw 8465 8460 7207 1001 R+ rw 8464 8460 7207 1001 R+ rw 8463 8460 7207 1001 R+ rw 8462 8460 7207 1001 R+ rw 8461 8460 7207 1001 R+ rw 8460 8451 7207 1001 S+ wait 0xc7420834 rw 8458 7215 7207 1001 S+ nanslp 0xc1012684 swap 8457 7215 7207 1001 S+ nanslp 0xc1012684 rename 8456 7215 7207 1001 S+ nanslp 0xc1012684 mkdir 8455 7215 7207 1001 S+ nanslp 0xc1012684 creat 8454 7215 7207 1001 S+ nanslp 0xc1012684 lockf 8452 7215 7207 1001 S+ nanslp 0xc1012684 fts 8451 7215 7207 1001 S+ nanslp 0xc1012684 rw 8450 7215 7207 1001 S+ nanslp 0xc1012684 openat 8448 7215 7207 1001 S+ nanslp 0xc1012684 lockf2 7215 7214 7207 1001 S+ wait 0xca6c4578 run 7214 7213 7207 1001 SW+ wait 0xc77db2bc run 7213 7208 7207 1001 S+ nanslp 0xc1012684 run 7208 7207 7207 1001 SW+ wait 0xc7cd6000 sh 7207 7206 7207 1001 SW+ wait 0xca220834 bash 7206 7186 2543 0 SW+ wait 0xc7ee5000 su 7199 0 0 0 DL mdwait 0xca594800 [md5] 7186 2544 2543 0 SW+ wait 0xc7ee7af0 sh 3599 3595 3599 0 S+ select 0xc77dfe64 kgdb 3595 3591 3595 0 SW+ wait 0xc7f12000 bash 3591 3590 3591 0 SW+ pause 0xc7f14314 csh 3590 3585 3590 1001 SW+ wait 0xca6872bc su 3585 3584 3585 1001 SWs+ wait 0xc7fccaf0 bash 3584 3582 3582 1001 S select 0xca3db0a4 sshd 3582 2145 3582 0 SWs sbwait 0xc80523f8 sshd 3225 0 0 0 DL crypto_r 0xca5d7bcc [crypto returns] 3224 0 0 0 DL crypto_w 0xca5d7ba8 [crypto] 2544 2543 2543 0 SW+ wait 0xc7fce2bc sh 2543 2364 2543 0 SW+ wait 0xc73a6af0 sh 2364 2360 2364 0 SW+ wait 0xc7420af0 bash 2360 2359 2360 0 SW+ pause 0xc7ee75d0 csh 2359 2354 2359 1001 SW+ wait 0xc73a6834 su 2354 2353 2354 1001 SWs+ wait 0xc7f12af0 bash 2353 2351 2351 1001 S select 0xc7425024 sshd 2351 2145 2351 0 SWs sbwait 0xc7f02a78 sshd 2276 1 2276 0 Ss+ ttyin 0xc7182070 getty 2275 1 2275 0 Ss+ ttyin 0xc7182270 getty 2274 1 2274 0 Ss+ ttyin 0xc7182470 getty 2273 1 2273 0 Ss+ ttyin 0xc6f52070 getty 2272 1 2272 0 Ss+ ttyin 0xc6f52270 getty 2271 1 2271 0 Ss+ ttyin 0xc6f52470 getty 2270 1 2270 0 Ss+ ttyin 0xc6f52670 getty 2269 1 2269 0 Ss+ ttyin 0xc6f52870 getty 2268 1 2268 0 Ss+ ttyin 0xc6f52a70 getty 2220 1 2220 0 Ss select 0xc7425264 inetd 2194 1 2194 0 Ss nanslp 0xc1012684 watchdogd 2167 1 2167 0 Ss nanslp 0xc1012684 cron 2159 1 2159 25 SWs pause 0xc7cd6314 sendmail 2153 1 2153 0 Ss select 0xc7425724 sendmail 2145 1 2145 0 Ss select 0xc7426464 sshd 2085 1 2085 0 Ss select 0xc74264a4 moused 2025 1 2025 0 Ss select 0xc73c18a4 ntpd 1909 1908 1908 0 R (threaded) nfsd 100124 RunQ nfsd: service 100123 S rpcsvc 0xc6f7f2d0 nfsd: service 100122 S rpcsvc 0xc7c95850 nfsd: service 100094 S rpcsvc 0xc6f7f490 nfsd: master 1908 1 1908 0 Ss select 0xc74257a4 nfsd 1898 1 1898 0 Ss select 0xc74257e4 mountd 1799 1 1799 0 Ss select 0xc74268a4 rpcbind 1717 1 1717 0 Ss select 0xc74269e4 syslogd 1516 1 1516 0 Ss select 0xc7425824 devd 18 0 0 0 RL [softdepflush] 17 0 0 0 DL syncer 0xc1188814 [syncer] 16 0 0 0 DL vlruwt 0xc73a4834 [vnlru] 9 0 0 0 DL psleep 0xc11884a8 [bufdaemon] 8 0 0 0 DL pgzero 0xc1190bdc [pagezero] 7 0 0 0 DL psleep 0xc11907c8 [vmdaemon] 6 0 0 0 DL psleep 0xc1190790 [pagedaemon] 5 0 0 0 DL ccb_scan 0xc0fd7554 [xpt_thrd] 4 0 0 0 DL waiting_ 0xc118a2d8 [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 - 0xc1011484 [yarrow] 13 0 0 0 RL (threaded) [geom] 100015 D - 0xc100f0c8 [g_down] 100014 RunQ [g_up] 100013 D - 0xc100f0bc [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 RunQ [swi4: clock] 100010 I [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 CanRun [idle: cpu3] 1 0 1 0 SLs wait 0xc6dbdaf0 [init] 10 0 0 0 DL audit_wo 0xc118e500 [audit] 0 0 0 0 DLs (threaded) [kernel] 100076 D - 0xc71853c0 [mca taskq] 100066 D - 0xc1011484 [deadlkres] 100060 D - 0xc7073900 [fw0_taskq] 100026 D - 0xc6d92340 [kqueue taskq] 100025 D - 0xc6d92380 [acpi_task_2] 100024 D - 0xc6d92380 [acpi_task_1] 100023 D - 0xc6d92380 [acpi_task_0] 100022 D - 0xc6d923c0 [ffs_trim taskq] 100019 D - 0xc6d92500 [thread taskq] 100016 D - 0xc6d92a80 [firmware taskq] 100000 D sched 0xc100f1a0 [swapper] 8453 7215 7207 1001 Z+ link 8459 7215 7207 1001 Z+ mkfifo 8449 7215 7207 1001 Z+ symlink db:0:ps> allt Tracing command lockf pid 8623 tid 100294 td 0xca8dbb80 sched_switch(ca8dbb80,0,104,191,9ea84e89,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,74,...) at mi_switch+0x219 sleepq_switch(ca8dbb80,0,c0e8bca0,1a7,74,...) at sleepq_switch+0x162 sleepq_catch_signals(ef5109c8,c09e7a69,c102d454,0,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(ca019e80,74,ef510a08,100,0,...) at sleepq_wait_sig+0x17 _sleep(ca019e80,c9fea388,174,c0f9e440,0,...) at _sleep+0x35c lf_advlockasync(ef510a9c,ca4e8824,4,0,c0fa9700,...) at lf_advlockasync+0xab1 lf_advlock(ef510bd0,ca4e8824,4,0,1,...) at lf_advlock+0x55 vop_stdadvlock(ef510bd0,c0eda665,c744aaf0,c744aaf0,ca4e86cc,...) at vop_stdadvlock+0xb5 VOP_ADVLOCK_APV(c0fbb100,ef510bd0,c0e80020,26d,3,...) at VOP_ADVLOCK_APV+0xd6 kern_fcntl(ca8dbb80,3,d,ef510c10,0,...) at kern_fcntl+0x95f fcntl(ca8dbb80,ef510cec,ef510d28,c0e8c5de,0,...) at fcntl+0x101 syscallenter(ca8dbb80,ef510ce4,ef510ce4,0,0,...) at syscallenter+0x263 syscall(ef510d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (92, FreeBSD ELF32, fcntl), eip = 0x28183b8f, esp = 0xbfbfe6ac, ebp = 0xbfbfe6e8 --- Tracing command lockf pid 8550 tid 100202 td 0xc7eec000 sched_switch(c7eec000,0,104,191,c2b6ed4c,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7eec000,0,c0e8bca0,268,ca6359dc,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,1,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,200400,ca635a48,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef3bea28,0,c6d5b1e0,200400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef3bea28,ca635a48,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,200400,c0e94dfd,1f5,ef3bea9c,...) at _vn_lock+0x78 lookup(ef3bebac,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x106 namei(ef3bebac,ef3beb78,246,c6d5a0d0,c7eec0b0,...) at namei+0x592 kern_unlinkat(c7eec000,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(c7eec000,804cea0,0,ef3bec7c,c09eb163,...) at kern_unlink+0x2f unlink(c7eec000,ef3becec,ef3bed28,c0e8c5de,0,...) at unlink+0x22 syscallenter(c7eec000,ef3bece4,ef3bece4,0,c101f300,...) at syscallenter+0x263 syscall(ef3bed28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 8549 tid 100121 td 0xc747f000 sched_switch(c747f000,0,104,191,b288206a,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c747f000,0,c0e8bca0,268,ca6359dc,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,1,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,200400,ca635a48,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef286a28,0,c6d5b1e0,200400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef286a28,ca635a48,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,200400,c0e94dfd,1f5,ef286a9c,...) at _vn_lock+0x78 lookup(ef286bac,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x106 namei(ef286bac,ef286b78,246,c6d5a0d0,c747f0b0,...) at namei+0x592 kern_unlinkat(c747f000,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(c747f000,804cea0,0,ef286c7c,c09eb163,...) at kern_unlink+0x2f unlink(c747f000,ef286cec,ef286d28,c0e8c5de,0,...) at unlink+0x22 syscallenter(c747f000,ef286ce4,ef286ce4,0,c101f980,...) at syscallenter+0x263 syscall(ef286d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 8548 tid 100185 td 0xc77dc8a0 sched_switch(c77dc8a0,0,104,191,3ec8f0db,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c77dc8a0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,0,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,400400,ca635a48,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef380a28,ca635984,ef380a14,400400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef380a28,ef380a30,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,400400,c0e94dfd,2a6,ef380bc4,...) at _vn_lock+0x78 lookup(ef380bac,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x604 namei(ef380bac,ef380c10,104,c6d5a0d0,c77dc950,...) at namei+0x592 kern_unlinkat(c77dc8a0,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(c77dc8a0,804cea0,0,ef380c7c,c09eb163,...) at kern_unlink+0x2f unlink(c77dc8a0,ef380cec,ef380d28,c0e8c5de,0,...) at unlink+0x22 syscallenter(c77dc8a0,ef380ce4,ef380ce4,0,c1020680,...) at syscallenter+0x263 syscall(ef380d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 8547 tid 100167 td 0xc7fc5b80 sched_switch(c7fc5b80,0,104,191,458cfb1e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7fc5b80,0,c0e8bca0,268,ca6359dc,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,1,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,200400,ca635a48,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef328954,0,c6d5b1e0,200400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef328954,ca635a48,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,200400,c0e94dfd,1f5,ef3289c8,...) at _vn_lock+0x78 lookup(ef328b78,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x106 namei(ef328b78,ef328ac4,c0e80029,c7f12344,0,...) at namei+0x592 vn_open_cred(ef328b78,ef328c2c,180,0,c7c1e500,...) at vn_open_cred+0x90 vn_open(ef328b78,ef328c2c,180,c9b73930,c0fa1ac0,...) at vn_open+0x3b kern_openat(c7fc5b80,ffffff9c,804cea0,0,603,...) at kern_openat+0x12f kern_open(c7fc5b80,804cea0,0,602,180,...) at kern_open+0x35 open(c7fc5b80,ef328cec,ef328d28,c0e8c5de,0,...) at open+0x30 syscallenter(c7fc5b80,ef328ce4,ef328ce4,0,c1020680,...) at syscallenter+0x263 syscall(ef328d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x281866a3, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 8546 tid 100160 td 0xc7fc8000 sched_switch(c7fc8000,0,104,191,3ec8dd91,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7fc8000,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,0,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,400400,ca635a48,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef313a28,ca635984,ef313a14,400400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef313a28,ef313a30,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,400400,c0e94dfd,2a6,ef313bc4,...) at _vn_lock+0x78 lookup(ef313bac,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x604 namei(ef313bac,ef313c10,104,c6d5a0d0,c7fc80b0,...) at namei+0x592 kern_unlinkat(c7fc8000,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(c7fc8000,804cea0,0,ef313c7c,c09eb163,...) at kern_unlink+0x2f unlink(c7fc8000,ef313cec,ef313d28,c0e8c5de,0,...) at unlink+0x22 syscallenter(c7fc8000,ef313ce4,ef313ce4,0,c101f980,...) at syscallenter+0x263 syscall(ef313d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 8545 tid 100263 td 0xca7ff2e0 sched_switch(ca7ff2e0,0,104,191,9498ab40,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca7ff2e0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e09c29e0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e09c29e0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,100c0,0,1000,0,...) at getblk+0x167 breadn(ca2bd828,100c0,0,1000,0,...) at breadn+0x44 bread(ca2bd828,100c0,0,1000,0,...) at bread+0x4c ffs_blkfree_cg(4480,0,4000,16bd,ef4a1a08,...) at ffs_blkfree_cg+0x2e2 ffs_blkfree(c773ed00,c7740800,ca2bd828,4480,0,...) at ffs_blkfree+0x4a handle_workitem_freefrag(0,ef4a1a3c,2,664,200,...) at handle_workitem_freefrag+0xe9 process_worklist_item(c118ed2c,0,c0eb905c,ae2,ca3dca6c,...) at process_worklist_item+0x295 softdep_prelink(c118ed2c,0,c0eb905c,10e2,ca54b89c,...) at softdep_prelink+0x134 softdep_setup_unlink(ca3dca6c,ca54b89c,c115b0f0,ca7ff390,c0fa03b8,...) at softdep_setup_unlink+0x54 ufs_dirremove(ca635984,ca54b89c,500800c,0,ca635984,...) at ufs_dirremove+0x32 ufs_remove(ef4a1c00,c0eda96e,0,0,ca26615c,...) at ufs_remove+0x6e VOP_REMOVE_APV(c0fbb100,ef4a1c00,ca26615c,ef4a1bd8,ca7ff390,...) at VOP_REMOVE_APV+0xf6 kern_unlinkat(ca7ff2e0,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x1fb kern_unlink(ca7ff2e0,804cea0,0,ef4a1c7c,c09eb163,...) at kern_unlink+0x2f unlink(ca7ff2e0,ef4a1cec,ef4a1d28,c0e8c5de,0,...) at unlink+0x22 syscallenter(ca7ff2e0,ef4a1ce4,ef4a1ce4,0,c1020000,...) at syscallenter+0x263 syscall(ef4a1d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 8544 tid 100264 td 0xca7ff000 sched_switch(ca7ff000,0,104,191,9c55dbd9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca7ff000,0,c0e8bca0,268,ca6359dc,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,1,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,200400,ca635a48,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef4a5a28,0,c6d5b1e0,200400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef4a5a28,ca635a48,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,200400,c0e94dfd,1f5,ef4a5a9c,...) at _vn_lock+0x78 lookup(ef4a5bac,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x106 namei(ef4a5bac,ef4a5b78,246,c6d5a0d0,ca7ff0b0,...) at namei+0x592 kern_unlinkat(ca7ff000,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(ca7ff000,804cea0,0,ef4a5c7c,c09eb163,...) at kern_unlink+0x2f unlink(ca7ff000,ef4a5cec,ef4a5d28,c0e8c5de,0,...) at unlink+0x22 syscallenter(ca7ff000,ef4a5ce4,ef4a5ce4,0,c101f300,...) at syscallenter+0x263 syscall(ef4a5d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 8543 tid 100265 td 0xca7feb80 sched_switch(ca7feb80,0,104,191,3ec88184,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca7feb80,0,c0e8bca0,268,ca6359dc,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,1,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,200400,ca635a48,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef4a9954,0,c6d5b1e0,200400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef4a9954,ca635a48,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,200400,c0e94dfd,1f5,ef4a99c8,...) at _vn_lock+0x78 lookup(ef4a9b78,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x106 namei(ef4a9b78,ef4a9ac4,c0e80029,ca8ab088,0,...) at namei+0x592 vn_open_cred(ef4a9b78,ef4a9c2c,180,0,c7c1e500,...) at vn_open_cred+0x90 vn_open(ef4a9b78,ef4a9c2c,180,c7c1fa48,c0fa1ac0,...) at vn_open+0x3b kern_openat(ca7feb80,ffffff9c,804cea0,0,603,...) at kern_openat+0x12f kern_open(ca7feb80,804cea0,0,602,180,...) at kern_open+0x35 open(ca7feb80,ef4a9cec,ef4a9d28,c0e8c5de,0,...) at open+0x30 syscallenter(ca7feb80,ef4a9ce4,ef4a9ce4,0,c101f300,...) at syscallenter+0x263 syscall(ef4a9d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x281866a3, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 8542 tid 100241 td 0xca6ca2e0 sched_switch(ca6ca2e0,0,104,191,3ec8b673,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca6ca2e0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,0,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,400400,ca635a48,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef454a28,ca635984,ef454a14,400400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef454a28,ef454a30,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,400400,c0e94dfd,2a6,ef454bc4,...) at _vn_lock+0x78 lookup(ef454bac,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x604 namei(ef454bac,ef454c10,104,c6d5a0d0,ca6ca390,...) at namei+0x592 kern_unlinkat(ca6ca2e0,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(ca6ca2e0,804cea0,0,ef454c7c,c09eb163,...) at kern_unlink+0x2f unlink(ca6ca2e0,ef454cec,ef454d28,c0e8c5de,0,...) at unlink+0x22 syscallenter(ca6ca2e0,ef454ce4,ef454ce4,0,c1020680,...) at syscallenter+0x263 syscall(ef454d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 8541 tid 100267 td 0xca7fe5c0 sched_switch(ca7fe5c0,0,104,191,3ec8a4bb,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca7fe5c0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,0,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,400400,ca635a48,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef4b2a28,ca635984,ef4b2a14,400400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef4b2a28,ef4b2a30,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,400400,c0e94dfd,2a6,ef4b2bc4,...) at _vn_lock+0x78 lookup(ef4b2bac,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x604 namei(ef4b2bac,ef4b2c10,104,c6d5a0d0,ca7fe670,...) at namei+0x592 kern_unlinkat(ca7fe5c0,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(ca7fe5c0,804cea0,0,ef4b2c7c,c09eb163,...) at kern_unlink+0x2f unlink(ca7fe5c0,ef4b2cec,ef4b2d28,c0e8c5de,0,...) at unlink+0x22 syscallenter(ca7fe5c0,ef4b2ce4,ef4b2ce4,0,0,...) at syscallenter+0x263 syscall(ef4b2d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf2 pid 8540 tid 100186 td 0xc77dc5c0 sched_switch(c77dc5c0,0,207,18c,38ce958e,...) at sched_switch+0x3bc mi_switch(207,0,c0e8c59d,d4,c77dc5c0,...) at mi_switch+0x219 ast(ef388d28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command lockf pid 8539 tid 100208 td 0xc9b9cb80 sched_switch(c9b9cb80,0,104,191,3ee2c96e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c9b9cb80,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,0,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,400400,ca635a48,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef3d6a28,ca635984,ef3d6a14,400400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef3d6a28,ef3d6a30,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,400400,c0e94dfd,2a6,ef3d6bc4,...) at _vn_lock+0x78 lookup(ef3d6bac,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x604 namei(ef3d6bac,ef3d6c10,104,c6d5a0d0,c9b9cc30,...) at namei+0x592 kern_unlinkat(c9b9cb80,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(c9b9cb80,804cea0,0,ef3d6c7c,c09eb163,...) at kern_unlink+0x2f unlink(c9b9cb80,ef3d6cec,ef3d6d28,c0e8c5de,0,...) at unlink+0x22 syscallenter(c9b9cb80,ef3d6ce4,ef3d6ce4,0,c101f300,...) at syscallenter+0x263 syscall(ef3d6d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf2 pid 8538 tid 100100 td 0xc77f78a0 sched_switch(c77f78a0,0,207,18c,4066c7fb,...) at sched_switch+0x3bc mi_switch(207,0,c0e8c59d,d4,281a97f0,...) at mi_switch+0x219 ast(ef21fd28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command lockf pid 8537 tid 100105 td 0xc77e1000 sched_switch(c77e1000,0,104,191,3ec8ca77,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c77e1000,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,0,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,400400,ca635a48,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef231a28,ca635984,ef231a14,400400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef231a28,ef231a30,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,400400,c0e94dfd,2a6,ef231bc4,...) at _vn_lock+0x78 lookup(ef231bac,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x604 namei(ef231bac,ef231c10,104,c6d5a0d0,c77e10b0,...) at namei+0x592 kern_unlinkat(c77e1000,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(c77e1000,804cea0,0,ef231c7c,c09eb163,...) at kern_unlink+0x2f unlink(c77e1000,ef231cec,ef231d28,c0e8c5de,0,...) at unlink+0x22 syscallenter(c77e1000,ef231ce4,ef231ce4,0,c101f980,...) at syscallenter+0x263 syscall(ef231d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf2 pid 8536 tid 100221 td 0xc9b9a000 sched_switch(c9b9a000,0,207,18c,33dd6acd,...) at sched_switch+0x3bc mi_switch(207,0,c0e8c59d,d4,c9b9a000,...) at mi_switch+0x219 ast(ef3fdd28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command lockf pid 8535 tid 100176 td 0xc7fc8b80 sched_switch(c7fc8b80,0,104,191,db6fa37,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7fc8b80,0,c0e8bca0,268,ca6359dc,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,1,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,200400,ca635a48,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef343a28,0,c6d5b1e0,200400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef343a28,ca635a48,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,200400,c0e94dfd,1f5,ef343a9c,...) at _vn_lock+0x78 lookup(ef343bac,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x106 namei(ef343bac,ef343b78,246,c6d5a0d0,c7fc8c30,...) at namei+0x592 kern_unlinkat(c7fc8b80,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(c7fc8b80,804cea0,0,ef343c7c,c09eb163,...) at kern_unlink+0x2f unlink(c7fc8b80,ef343cec,ef343d28,c0e8c5de,0,...) at unlink+0x22 syscallenter(c7fc8b80,ef343ce4,ef343ce4,0,c1020000,...) at syscallenter+0x263 syscall(ef343d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf2 pid 8534 tid 100112 td 0xc7480b80 sched_switch(c7480b80,0,602,18c,9d4d10d2,...) at sched_switch+0x3bc mi_switch(602,0,c0e86d9f,cd,8,...) at mi_switch+0x219 critical_exit(c7480b80,0,2,c9fac400,cac40a80,...) at critical_exit+0xa8 ipi_bitmap_handler(8,28,28,0,cac40a80,...) at ipi_bitmap_handler+0x82 Xipi_intr_bitmap_handler() at Xipi_intr_bitmap_handler+0x2f --- interrupt, eip = 0xc09916e6, esp = 0xef26ba14, ebp = 0xef26ba1c --- lf_overlaps(ca254790,0,c0e83417,290,ca254724,...) at lf_overlaps+0x6 lf_advlockasync(ef26ba9c,ca254824,100000,0,c0fa9700,...) at lf_advlockasync+0xd51 lf_advlock(ef26bbd0,ca254824,100000,0,1,...) at lf_advlock+0x55 vop_stdadvlock(ef26bbd0,c0eda665,c7c1f2a0,c7c1f2a0,ca2546cc,...) at vop_stdadvlock+0xb5 VOP_ADVLOCK_APV(c0fbb100,ef26bbd0,257,1a8,3,...) at VOP_ADVLOCK_APV+0xd6 kern_fcntl(c7480b80,3,c,ef26bc10,d35d,...) at kern_fcntl+0x9a2 fcntl(c7480b80,ef26bcec,c09cdb2d,c1020238,0,...) at fcntl+0x101 syscallenter(c7480b80,ef26bce4,ef26bcc0,c09d01b8,c1020000,...) at syscallenter+0x263 syscall(ef26bd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (92, FreeBSD ELF32, fcntl), eip = 0x28183b8f, esp = 0xbfbfe6cc, ebp = 0xbfbfe708 --- Tracing command lockf pid 8533 tid 100306 td 0xca8db000 sched_switch(ca8db000,0,104,191,9b9f1762,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca8db000,0,c0e8bca0,268,ca6359dc,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,1,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,200400,ca635a48,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef53ea28,0,c6d5b1e0,200400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef53ea28,ca635a48,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,200400,c0e94dfd,1f5,ef53ea9c,...) at _vn_lock+0x78 lookup(ef53ebac,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x106 namei(ef53ebac,ef53eb78,246,c6d5a0d0,ca8db0b0,...) at namei+0x592 kern_unlinkat(ca8db000,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(ca8db000,804cea0,0,ef53ec7c,c09eb163,...) at kern_unlink+0x2f unlink(ca8db000,ef53ecec,ef53ed28,c0e8c5de,0,...) at unlink+0x22 syscallenter(ca8db000,ef53ece4,ef53ece4,0,c1020680,...) at syscallenter+0x263 syscall(ef53ed28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf2 pid 8532 tid 100207 td 0xca465000 sched_switch(ca465000,0,104,191,dd4451ae,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca465000,0,c0e8bca0,268,ca6359dc,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,1,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,200400,ca635a48,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef3d3954,0,c6d5b1e0,200400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef3d3954,ca635a48,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,200400,c0e94dfd,1f5,ef3d39c8,...) at _vn_lock+0x78 lookup(ef3d3b78,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x106 namei(ef3d3b78,ef3d3ac4,c0e80029,c9b96344,0,...) at namei+0x592 vn_open_cred(ef3d3b78,ef3d3c2c,180,0,c7c1e500,...) at vn_open_cred+0x31f vn_open(ef3d3b78,ef3d3c2c,180,c74331c0,0,...) at vn_open+0x3b kern_openat(ca465000,ffffff9c,804cc80,0,3,...) at kern_openat+0x12f kern_open(ca465000,804cc80,0,2,180,...) at kern_open+0x35 open(ca465000,ef3d3cec,ef3d3d28,c0e8c5de,0,...) at open+0x30 syscallenter(ca465000,ef3d3ce4,ef3d3ce4,0,c101f300,...) at syscallenter+0x263 syscall(ef3d3d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x281866a3, esp = 0xbfbfe70c, ebp = 0xbfbfe738 --- Tracing command lockf pid 8531 tid 100301 td 0xc7fc42e0 sched_switch(c7fc42e0,0,104,191,3eca4ead,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7fc42e0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,0,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,400400,ca635a48,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef529a28,ca635984,ef529a14,400400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef529a28,ef529a30,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,400400,c0e94dfd,2a6,ef529bc4,...) at _vn_lock+0x78 lookup(ef529bac,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x604 namei(ef529bac,ef529c10,104,c6d5a0d0,c7fc4390,...) at namei+0x592 kern_unlinkat(c7fc42e0,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(c7fc42e0,804cea0,0,ef529c7c,c09eb163,...) at kern_unlink+0x2f unlink(c7fc42e0,ef529cec,ef529d28,c0e8c5de,0,...) at unlink+0x22 syscallenter(c7fc42e0,ef529ce4,ef529ce4,0,c1020000,...) at syscallenter+0x263 syscall(ef529d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf2 pid 8530 tid 100139 td 0xc7eee000 sched_switch(c7eee000,0,602,18c,70aece1d,...) at sched_switch+0x3bc mi_switch(602,0,c0e86d9f,cd,c,...) at mi_switch+0x219 critical_exit(c7eee000,0,3,c6fdccc0,c9eee680,...) at critical_exit+0xa8 ipi_bitmap_handler(8,28,28,0,c9eee680,...) at ipi_bitmap_handler+0x82 Xipi_intr_bitmap_handler() at Xipi_intr_bitmap_handler+0x2f --- interrupt, eip = 0xc099174b, esp = 0xef2d4a1c, ebp = 0xef2d4a1c --- lf_blocks(ca41437c,0,c0e83417,290,ca414310,...) at lf_blocks+0xb lf_advlockasync(ef2d4a9c,ca414410,100000,0,c0fa9700,...) at lf_advlockasync+0xd2d lf_advlock(ef2d4bd0,ca414410,100000,0,1,...) at lf_advlock+0x55 vop_stdadvlock(ef2d4bd0,c0eda665,c7c1f3f0,c7c1f3f0,ca4142b8,...) at vop_stdadvlock+0xb5 VOP_ADVLOCK_APV(c0fbb100,ef2d4bd0,257,1a8,3,...) at VOP_ADVLOCK_APV+0xd6 kern_fcntl(c7eee000,3,c,ef2d4c10,e2f53,...) at kern_fcntl+0x9a2 fcntl(c7eee000,ef2d4cec,ef2d4d28,c0e8c5de,0,...) at fcntl+0x101 syscallenter(c7eee000,ef2d4ce4,ef2d4ce4,0,c1020680,...) at syscallenter+0x263 syscall(ef2d4d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (92, FreeBSD ELF32, fcntl), eip = 0x28183b8f, esp = 0xbfbfe6cc, ebp = 0xbfbfe708 --- Tracing command lockf pid 8529 tid 100303 td 0xcaa6b8a0 sched_switch(caa6b8a0,0,104,191,3ec892c2,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(caa6b8a0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,0,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,400400,ca635a48,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef530a28,ca635984,ef530a14,400400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef530a28,ef530a30,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,400400,c0e94dfd,2a6,ef530bc4,...) at _vn_lock+0x78 lookup(ef530bac,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x604 namei(ef530bac,ef530c10,104,c6d5a0d0,caa6b950,...) at namei+0x592 kern_unlinkat(caa6b8a0,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(caa6b8a0,804cea0,0,ef530c7c,c09eb163,...) at kern_unlink+0x2f unlink(caa6b8a0,ef530cec,ef530d28,c0e8c5de,0,...) at unlink+0x22 syscallenter(caa6b8a0,ef530ce4,ef530ce4,0,28,...) at syscallenter+0x263 syscall(ef530d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf2 pid 8528 tid 100087 td 0xc74222e0 sched_switch(c74222e0,0,602,18c,7e268124,...) at sched_switch+0x3bc mi_switch(602,0,c0e86d9f,cd,4,...) at mi_switch+0x219 critical_exit(c74222e0,0,1,ca0325c0,c9ff8a80,...) at critical_exit+0xa8 ipi_bitmap_handler(8,28,28,0,c9ff8a80,...) at ipi_bitmap_handler+0x82 Xipi_intr_bitmap_handler() at Xipi_intr_bitmap_handler+0x2f --- interrupt, eip = 0xc099174b, esp = 0xef1b1a1c, ebp = 0xef1b1a1c --- lf_blocks(ca10037c,0,c0e83417,290,ca100310,...) at lf_blocks+0xb lf_advlockasync(ef1b1a9c,ca100410,100000,0,c0fa9700,...) at lf_advlockasync+0xd2d lf_advlock(ef1b1bd0,ca100410,100000,0,1,...) at lf_advlock+0x55 vop_stdadvlock(ef1b1bd0,c0eda665,c7744b60,c7744b60,ca1002b8,...) at vop_stdadvlock+0xb5 VOP_ADVLOCK_APV(c0fbb100,ef1b1bd0,257,1a8,3,...) at VOP_ADVLOCK_APV+0xd6 kern_fcntl(c74222e0,3,c,ef1b1c10,763ab,...) at kern_fcntl+0x9a2 fcntl(c74222e0,ef1b1cec,ef1b1d28,c0e8c5de,0,...) at fcntl+0x101 syscallenter(c74222e0,ef1b1ce4,ef1b1ce4,0,c101f980,...) at syscallenter+0x263 syscall(ef1b1d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (92, FreeBSD ELF32, fcntl), eip = 0x28183b8f, esp = 0xbfbfe6cc, ebp = 0xbfbfe708 --- Tracing command lockf pid 8527 tid 100219 td 0xc9b9a5c0 sched_switch(c9b9a5c0,0,104,191,3ee2b685,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c9b9a5c0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,0,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,400400,ca635a48,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef3f7a28,ca635984,ef3f7a14,400400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef3f7a28,ef3f7a30,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,400400,c0e94dfd,2a6,ef3f7bc4,...) at _vn_lock+0x78 lookup(ef3f7bac,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x604 namei(ef3f7bac,ef3f7c10,104,c6d5a0d0,c9b9a670,...) at namei+0x592 kern_unlinkat(c9b9a5c0,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(c9b9a5c0,804cea0,0,ef3f7c7c,c09eb163,...) at kern_unlink+0x2f unlink(c9b9a5c0,ef3f7cec,ef3f7d28,c0e8c5de,0,...) at unlink+0x22 syscallenter(c9b9a5c0,ef3f7ce4,ef3f7ce4,0,c101f300,...) at syscallenter+0x263 syscall(ef3f7d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf2 pid 8526 tid 100117 td 0xc747fb80 sched_switch(c747fb80,0,207,18c,355e03f1,...) at sched_switch+0x3bc mi_switch(207,0,c0e8c59d,d4,c11e5f00,...) at mi_switch+0x219 ast(ef27ad28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command lockf pid 8525 tid 100106 td 0xc77e0b80 sched_switch(c77e0b80,0,104,191,e57a0d6d,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c77e0b80,0,c0e8bca0,268,ca6359dc,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,1,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,200400,ca635a48,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef235a28,0,c6d5b1e0,200400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef235a28,ca635a48,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,200400,c0e94dfd,1f5,ef235a9c,...) at _vn_lock+0x78 lookup(ef235bac,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x106 namei(ef235bac,ef235b78,246,c6d5a0d0,c77e0c30,...) at namei+0x592 kern_unlinkat(c77e0b80,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(c77e0b80,804cea0,0,ef235c7c,c09eb163,...) at kern_unlink+0x2f unlink(c77e0b80,ef235cec,ef235d28,c0e8c5de,0,...) at unlink+0x22 syscallenter(c77e0b80,ef235ce4,ef235ce4,0,c101f980,...) at syscallenter+0x263 syscall(ef235d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf2 pid 8524 tid 100089 td 0xc77e2000 sched_switch(c77e2000,0,602,18c,86c943e9,...) at sched_switch+0x3bc mi_switch(602,0,c0e86d9f,cd,0,...) at mi_switch+0x219 critical_exit(c77e2000,0,0,cac5a440,ca01a280,...) at critical_exit+0xa8 ipi_bitmap_handler(8,28,28,0,ca01a280,...) at ipi_bitmap_handler+0x82 Xipi_intr_bitmap_handler() at Xipi_intr_bitmap_handler+0x2f --- interrupt, eip = 0xc0994470, esp = 0xef1e7a24, ebp = 0xef1e7a84 --- lf_advlockasync(ef1e7a9c,c78a8824,100000,0,c0fa9700,...) at lf_advlockasync+0xd20 lf_advlock(ef1e7bd0,c78a8824,100000,0,1,...) at lf_advlock+0x55 vop_stdadvlock(ef1e7bd0,c0eda665,c78dcdc8,c78dcdc8,c78a86cc,...) at vop_stdadvlock+0xb5 VOP_ADVLOCK_APV(c0fbb100,ef1e7bd0,c0e80020,26d,3,...) at VOP_ADVLOCK_APV+0xd6 kern_fcntl(c77e2000,3,d,ef1e7c10,52a16,...) at kern_fcntl+0x95f fcntl(c77e2000,ef1e7cec,ef1e7d28,c0e8c5de,0,...) at fcntl+0x101 syscallenter(c77e2000,ef1e7ce4,ef1e7ce4,0,c101f300,...) at syscallenter+0x263 syscall(ef1e7d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (92, FreeBSD ELF32, fcntl), eip = 0x28183b8f, esp = 0xbfbfe6cc, ebp = 0xbfbfe708 --- Tracing command lockf pid 8523 tid 100304 td 0xc7eeeb80 sched_switch(c7eeeb80,0,104,191,9c9a726a,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,74,...) at mi_switch+0x219 sleepq_switch(c7eeeb80,0,c0e8bca0,1a7,74,...) at sleepq_switch+0x162 sleepq_catch_signals(ef5359c8,c09e7a69,c102d1b4,0,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(ca038280,74,ef535a08,100,0,...) at sleepq_wait_sig+0x17 _sleep(ca038280,c9fea388,174,c0f9e440,0,...) at _sleep+0x35c lf_advlockasync(ef535a9c,ca4e8824,4,0,c0fa9700,...) at lf_advlockasync+0xab1 lf_advlock(ef535bd0,ca4e8824,4,0,1,...) at lf_advlock+0x55 vop_stdadvlock(ef535bd0,c0eda665,c744aaf0,c744aaf0,ca4e86cc,...) at vop_stdadvlock+0xb5 VOP_ADVLOCK_APV(c0fbb100,ef535bd0,c0e80020,26d,3,...) at VOP_ADVLOCK_APV+0xd6 kern_fcntl(c7eeeb80,3,d,ef535c10,0,...) at kern_fcntl+0x95f fcntl(c7eeeb80,ef535cec,ef535d28,c0e8c5de,0,...) at fcntl+0x101 syscallenter(c7eeeb80,ef535ce4,ef535ce4,0,c101f300,...) at syscallenter+0x263 syscall(ef535d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (92, FreeBSD ELF32, fcntl), eip = 0x28183b8f, esp = 0xbfbfe6ac, ebp = 0xbfbfe6e8 --- Tracing command lockf2 pid 8522 tid 100153 td 0xc7eed000 sched_switch(c7eed000,0,207,18c,15a429b,...) at sched_switch+0x3bc mi_switch(207,0,c0e8c59d,d4,c11e5f00,...) at mi_switch+0x219 ast(ef2fed28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command lockf pid 8521 tid 100259 td 0xca801000 sched_switch(ca801000,0,104,191,26bf5da3,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca801000,0,c0e8bca0,268,ca6359dc,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,1,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,200400,ca635a48,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef48aa28,0,c6d5b1e0,200400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef48aa28,ca635a48,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,200400,c0e94dfd,1f5,ef48aa9c,...) at _vn_lock+0x78 lookup(ef48abac,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x106 namei(ef48abac,ef48ab78,246,c6d5a0d0,ca8010b0,...) at namei+0x592 kern_unlinkat(ca801000,ffffff9c,804cea0,0,0,...) at kern_unlinkat+0x54 kern_unlink(ca801000,804cea0,0,ef48ac7c,c09eb163,...) at kern_unlink+0x2f unlink(ca801000,ef48acec,ef48ad28,c0e8c5de,0,...) at unlink+0x22 syscallenter(ca801000,ef48ace4,ef48ace4,0,c1020680,...) at syscallenter+0x263 syscall(ef48ad28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 8520 tid 100189 td 0xca468000 sched_switch(ca468000,0,104,191,c4b4900f,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(ca468000,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8bca0,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(ca2202bc,6c,c0e8ea32,100,0,...) at sleepq_wait_sig+0x17 _sleep(ca2202bc,ca220344,16c,c0e8ea32,0,...) at _sleep+0x35c kern_wait(ca468000,2149,ef394c44,0,0,...) at kern_wait+0xbe6 wait4(ca468000,ef394cec,281a9d28,1,0,...) at wait4+0x3b syscallenter(ca468000,ef394ce4,c0cd350d,c1010d70,0,...) at syscallenter+0x263 syscall(ef394d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2810493b, esp = 0xbfbfe72c, ebp = 0xbfbfe748 --- Tracing command openat pid 8519 tid 100224 td 0xca6672e0 sched_switch(ca6672e0,0,104,191,a0eda3b1,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca6672e0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e08a5bc0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e08a5bc0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,200c0,0,1000,0,...) at getblk+0x167 breadn(ca2bd828,200c0,0,1000,0,...) at breadn+0x44 bread(ca2bd828,200c0,0,1000,0,...) at bread+0x4c ffs_nodealloccg(caac1e80,2,0,0,81b0,...) at ffs_nodealloccg+0x113 ffs_hashalloc(1030,0,81b0,0,c0bb1f30,...) at ffs_hashalloc+0xdc ffs_valloc(c9f982b8,81b0,c7c1e500,ef40692c,200,...) at ffs_valloc+0x4d3 ufs_makeinode(ef406bc0,c0fbb600,ef406b1c,ef406a78,c0cf6425,...) at ufs_makeinode+0xc3 ufs_create(ef406b1c,c0edaa7b,0,0,ef406b94,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb100,ef406b1c,ef406bc0,ef406ab4,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef406b94,ef406c48,1b0,0,c7c1e500,...) at vn_open_cred+0x205 vn_open(ef406b94,ef406c48,1b0,c7744578,1,...) at vn_open+0x3b kern_openat(ca6672e0,3,bfbfe6a8,0,201,...) at kern_openat+0x12f openat(ca6672e0,ef406cec,ef406d28,c0e8c5de,0,...) at openat+0x38 syscallenter(ca6672e0,ef406ce4,ef406ce4,0,c101f980,...) at syscallenter+0x263 syscall(ef406d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (499, FreeBSD ELF32, openat), eip = 0x281047db, esp = 0xbfbfe5fc, ebp = 0xbfbfe738 --- Tracing command lockf2 pid 8518 tid 100270 td 0xc7fc55c0 sched_switch(c7fc55c0,0,104,191,c3cb59de,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7fc55c0,0,c0e8bca0,268,ca6359dc,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,1,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,200400,ca635a48,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef4be954,0,c6d5b1e0,200400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef4be954,ca635a48,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,200400,c0e94dfd,1f5,ef4be9c8,...) at _vn_lock+0x78 lookup(ef4beb78,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x106 namei(ef4beb78,ef4beac4,c0e80029,ca8c68bc,0,...) at namei+0x592 vn_open_cred(ef4beb78,ef4bec2c,180,0,c7c1e500,...) at vn_open_cred+0x31f vn_open(ef4beb78,ef4bec2c,180,c7434cb0,0,...) at vn_open+0x3b kern_openat(c7fc55c0,ffffff9c,804cc80,0,3,...) at kern_openat+0x12f kern_open(c7fc55c0,804cc80,0,2,180,...) at kern_open+0x35 open(c7fc55c0,ef4becec,ef4bed28,c0e8c5de,0,...) at open+0x30 syscallenter(c7fc55c0,ef4bece4,ef4bece4,0,c1020680,...) at syscallenter+0x263 syscall(ef4bed28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x281866a3, esp = 0xbfbfe70c, ebp = 0xbfbfe738 --- Tracing command openat pid 8517 tid 100169 td 0xc7fd22e0 sched_switch(c7fd22e0,0,104,191,abef59c7,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7fd22e0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e09c29e0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e09c29e0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,100c0,0,1000,0,...) at getblk+0x167 breadn(ca2bd828,100c0,0,1000,0,...) at breadn+0x44 bread(ca2bd828,100c0,0,1000,0,...) at bread+0x4c ffs_nodealloccg(cab8d5e4,1,1040,0,81b0,...) at ffs_nodealloccg+0x113 ffs_hashalloc(1040,0,81b0,0,c0bb1f30,...) at ffs_hashalloc+0x85 ffs_valloc(c9848828,81b0,c7c1e500,ef32e92c,200,...) at ffs_valloc+0x4d3 ufs_makeinode(ef32ebc0,c0fbb600,ef32eb1c,ef32ea78,c0cf6425,...) at ufs_makeinode+0xc3 ufs_create(ef32eb1c,c0edaa7b,0,0,ef32eb94,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb100,ef32eb1c,ef32ebc0,ef32eab4,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef32eb94,ef32ec48,1b0,0,c7c1e500,...) at vn_open_cred+0x205 vn_open(ef32eb94,ef32ec48,1b0,c7c1f188,c0e80029,...) at vn_open+0x3b kern_openat(c7fd22e0,3,bfbfe628,0,201,...) at kern_openat+0x12f openat(c7fd22e0,ef32ecec,ef32ed28,c0e8c5de,0,...) at openat+0x38 syscallenter(c7fd22e0,ef32ece4,ef32ece4,0,c101f300,...) at syscallenter+0x263 syscall(ef32ed28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (499, FreeBSD ELF32, openat), eip = 0x281047db, esp = 0xbfbfe5fc, ebp = 0xbfbfe738 --- Tracing command rename pid 8516 tid 100320 td 0xc7a965c0 sched_switch(c7a965c0,0,104,191,ac3c4b7b,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c7a965c0,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(e0715260,5c,c0e933bb,0,0,...) at sleepq_wait+0x63 _sleep(e0715260,c6d75718,5c,c0e933bb,0,...) at _sleep+0x372 bwait(e0715260,5c,c0e933bb,e0715260,ef575530,...) at bwait+0x6f bufwait(e0715260,e0715260,df,e0715260,e128da60,...) at bufwait+0x48 bufwrite(e0715260,0,c0ebbe0c,767,0) at bufwrite+0x165 ffs_bufwrite(e0715260,0,c0eb905c,c42,c09f3626,...) at ffs_bufwrite+0x290 softdep_process_journal(c0eb905c,190c,0,0,e0957f40,...) at softdep_process_journal+0x7a8 jwait(c118ed2c,0,c0eb905c,190c,800,...) at jwait+0x2a trunc_dependencies(0,0,1800,800,c7c1e500,...) at trunc_dependencies+0x453 softdep_journal_freeblocks(c9f8a828,c7c1e500,1800,0,800,...) at softdep_journal_freeblocks+0xd2b ffs_truncate(ca199d98,1800,0,880,c7c1e500,...) at ffs_truncate+0x94e ufs_rename(ef575bec,0,cac0a2b8,ef575b98,0,...) at ufs_rename+0x1262 VOP_RENAME_APV(c0fbb100,ef575bec,0,1,ef575b70,...) at VOP_RENAME_APV+0xa5 kern_renameat(c7a965c0,ffffff9c,bfbfe628,ffffff9c,bfbfe6a8,...) at kern_renameat+0x307 kern_rename(c7a965c0,bfbfe628,bfbfe6a8,0,ef575c7c,...) at kern_rename+0x36 rename(c7a965c0,ef575cec,ef575d28,c0e8c5de,0,...) at rename+0x29 syscallenter(c7a965c0,ef575ce4,ef575ce4,0,0,...) at syscallenter+0x263 syscall(ef575d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee97b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command openat pid 8515 tid 100258 td 0xca8012e0 sched_switch(ca8012e0,0,104,191,ab636642,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca8012e0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e09c29e0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e09c29e0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,100c0,0,1000,0,...) at getblk+0x167 breadn(ca2bd828,100c0,0,1000,0,...) at breadn+0x44 bread(ca2bd828,100c0,0,1000,0,...) at bread+0x4c ffs_nodealloccg(c9853000,1,1036,0,81b0,...) at ffs_nodealloccg+0x113 ffs_hashalloc(1036,0,81b0,0,c0bb1f30,...) at ffs_hashalloc+0x85 ffs_valloc(c983c984,81b0,c7c1e500,ef48792c,200,...) at ffs_valloc+0x4d3 ufs_makeinode(ef487bc0,c0fbb600,ef487b1c,ef487a78,c0cf6425,...) at ufs_makeinode+0xc3 ufs_create(ef487b1c,c0edaa7b,0,0,ef487b94,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb100,ef487b1c,ef487bc0,ef487ab4,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef487b94,ef487c48,1b0,0,c7c1e500,...) at vn_open_cred+0x205 vn_open(ef487b94,ef487c48,1b0,c744a2d8,c0e80029,...) at vn_open+0x3b kern_openat(ca8012e0,3,bfbfe628,0,201,...) at kern_openat+0x12f openat(ca8012e0,ef487cec,ef487d28,c0e8c5de,0,...) at openat+0x38 syscallenter(ca8012e0,ef487ce4,ef487ce4,0,0,...) at syscallenter+0x263 syscall(ef487d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (499, FreeBSD ELF32, openat), eip = 0x281047db, esp = 0xbfbfe5fc, ebp = 0xbfbfe738 --- Tracing command rename pid 8514 tid 100128 td 0xc7c922e0 sched_switch(c7c922e0,0,104,191,a3f4c820,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7c922e0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e09a19c0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e09a19c0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,10160,0,4000,0,...) at getblk+0x167 breadn(ca2bd828,10160,0,4000,0,...) at breadn+0x44 bread(ca2bd828,10160,0,4000,0,...) at bread+0x4c ffs_update(cac0bd98,0,ef2b3b70,ef2b39d4,0,...) at ffs_update+0x172 ufs_rename(ef2b3bec,0,cac0bd98,ef2b3b98,0,...) at ufs_rename+0xb7b VOP_RENAME_APV(c0fbb100,ef2b3bec,0,1,ef2b3b70,...) at VOP_RENAME_APV+0xa5 kern_renameat(c7c922e0,ffffff9c,bfbfe6a8,ffffff9c,bfbfe628,...) at kern_renameat+0x307 kern_rename(c7c922e0,bfbfe6a8,bfbfe628,0,ef2b3c7c,...) at kern_rename+0x36 rename(c7c922e0,ef2b3cec,ef2b3d28,c0e8c5de,0,...) at rename+0x29 syscallenter(c7c922e0,ef2b3ce4,ef2b3ce4,0,c101f300,...) at syscallenter+0x263 syscall(ef2b3d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee97b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command rename pid 8513 tid 100327 td 0xc7a80000 sched_switch(c7a80000,0,207,18c,ad5ce3e0,...) at sched_switch+0x3bc mi_switch(207,0,c0e8c59d,d4,c11e5f00,...) at mi_switch+0x219 ast(ef58ad28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command rename pid 8512 tid 100257 td 0xca8015c0 cpustop_handler(4,ef484858,c0cd2dc6,f4,0,...) at cpustop_handler+0x34 ipi_nmi_handler(f4,0,1ef6340,c0998e87,ca7f9000,...) at ipi_nmi_handler+0x2f trap(ef484864) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0998e97, esp = 0xef4848a4, ebp = 0xef4848c0 --- _mtx_lock_sleep(c118ed2c,ca8015c0,0,c0eb905c,492,...) at _mtx_lock_sleep+0xa7 _mtx_lock_flags(c118ed2c,0,c0eb905c,492,cad7b700,...) at _mtx_lock_flags+0xf7 workitem_alloc(3c,c0fb8868,2,81b0,1,...) at workitem_alloc+0x3d newjaddref(0,0,1,81b0,caa40b54,...) at newjaddref+0x4e softdep_setup_link(c9f9f984,caa40b54,ef484b70,ef4849d4,c7c1e500,...) at softdep_setup_link+0x52 ufs_rename(ef484bec,0,c9bf215c,ef484b98,0,...) at ufs_rename+0xb41 VOP_RENAME_APV(c0fbb100,ef484bec,0,1,ef484b70,...) at VOP_RENAME_APV+0xa5 kern_renameat(ca8015c0,ffffff9c,bfbfe628,ffffff9c,bfbfe6a8,...) at kern_renameat+0x307 kern_rename(ca8015c0,bfbfe628,bfbfe6a8,0,ef484c7c,...) at kern_rename+0x36 rename(ca8015c0,ef484cec,ef484d28,c0e8c5de,0,...) at rename+0x29 syscallenter(ca8015c0,ef484ce4,ef484ce4,0,c101f980,...) at syscallenter+0x263 syscall(ef484d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee97b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command openat pid 8511 tid 100236 td 0xca623b80 sched_switch(ca623b80,0,104,191,a943cd07,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca623b80,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e08a5bc0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e08a5bc0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,200c0,0,1000,0,...) at getblk+0x167 breadn(ca2bd828,200c0,0,1000,0,...) at breadn+0x44 bread(ca2bd828,200c0,0,1000,0,...) at bread+0x4c ffs_freefile(c773ed00,c7740800,ca2bd828,233c,81b0,...) at ffs_freefile+0x1c0 handle_workitem_freefile(c118ed2c,0,c0eb905c,1a59,ef445a10,...) at handle_workitem_freefile+0x120 softdep_freefile(cac126cc,233c,81b0,c0eb905c,2128,...) at softdep_freefile+0x8ee ffs_vfree(cac126cc,233c,81b0,ef445a84,c0cf1b65,...) at ffs_vfree+0x2e ufs_inactive(ef445ad4,c0ed9f8b,cac12790,cac12790,cac126cc,...) at ufs_inactive+0x2d5 VOP_INACTIVE_APV(c0fbb100,ef445ad4,c0e959b2,94e,c0fd6080,...) at VOP_INACTIVE_APV+0xc5 vinactive(c0fbb100,ef445b08,c0e959b2,8a5,0,...) at vinactive+0xb1 vputx(ef445c20,c0a47fcd,cac126cc,ffffffdf,cac126cc,...) at vputx+0x36c vput(cac126cc,ffffffdf,cac126cc,ef445bd8,0,...) at vput+0x10 kern_unlinkat(ca623b80,ffffff9c,bfbfe628,0,0,...) at kern_unlinkat+0x23d kern_unlink(ca623b80,bfbfe628,0,ef445c7c,c09eb163,...) at kern_unlink+0x2f unlink(ca623b80,ef445cec,ef445d28,c0e8c5de,0,...) at unlink+0x22 syscallenter(ca623b80,ef445ce4,ef445ce4,0,c101f300,...) at syscallenter+0x263 syscall(ef445d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe5fc, ebp = 0xbfbfe738 --- Tracing command rename pid 8510 tid 100338 td 0xcaa6a5c0 sched_switch(caa6a5c0,0,103,18c,9e386df9,...) at sched_switch+0x3bc mi_switch(103,0,c0e8c6b0,2e1,60,...) at mi_switch+0x219 turnstile_wait(c7fc7a00,c7eec2e0,0,1ac,c11884f4,...) at turnstile_wait+0x4a4 _mtx_lock_sleep(c11884f4,caa6a5c0,0,c0e9300b,58b,...) at _mtx_lock_sleep+0x14d _mtx_lock_flags(c11884f4,0,c0e9300b,58b,ffffc000,...) at _mtx_lock_flags+0xf7 brelse(e08bcde0,ca9b1400,11,ef5ab984,ef5ab988,...) at brelse+0x50f ufs_lookup_ino(c97d1000,ef5abbb0,ef5abbc4,0,ef5ab9cc,...) at ufs_lookup_ino+0x80f ufs_lookup(ef5ab9ec,c0eda577,c97d1000,c97d1000,ef5abbc4,...) at ufs_lookup+0x2a VOP_CACHEDLOOKUP_APV(c0fbb100,ef5ab9ec,ef5abbc4,ef5abbb0,c7c1e500,...) at VOP_CACHEDLOOKUP_APV+0xc5 vfs_cache_lookup(ef5aba80,c0e96723,ef5abb98,80000,ef5abb98,...) at vfs_cache_lookup+0xd6 VOP_LOOKUP_APV(c0fbb100,ef5aba80,c0e94dfd,2a6,ef5abbb0,...) at VOP_LOOKUP_APV+0xe5 lookup(ef5abb98,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x67b namei(ef5abb98,ffffffdf,0,1,ef5abb70,...) at namei+0x592 kern_renameat(caa6a5c0,ffffff9c,bfbfe628,ffffff9c,bfbfe6a8,...) at kern_renameat+0x57 kern_rename(caa6a5c0,bfbfe628,bfbfe6a8,0,ef5abc7c,...) at kern_rename+0x36 rename(caa6a5c0,ef5abcec,ef5abd28,c0e8c5de,0,...) at rename+0x29 syscallenter(caa6a5c0,ef5abce4,ef5abce4,0,0,...) at syscallenter+0x263 syscall(ef5abd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee97b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command openat pid 8509 tid 100211 td 0xca622b80 sched_switch(ca622b80,0,104,191,a0860d81,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca622b80,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e08a5bc0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e08a5bc0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,200c0,0,1000,0,...) at getblk+0x167 breadn(ca2bd828,200c0,0,1000,0,...) at breadn+0x44 bread(ca2bd828,200c0,0,1000,0,...) at bread+0x4c ffs_freefile(c773ed00,c7740800,ca2bd828,2345,81b0,...) at ffs_freefile+0x1c0 handle_workitem_freefile(c118ed2c,0,c0eb905c,1a59,ef3dfa10,...) at handle_workitem_freefile+0x120 softdep_freefile(ca4992b8,2345,81b0,c0eb905c,2128,...) at softdep_freefile+0x8ee ffs_vfree(ca4992b8,2345,81b0,ef3dfa84,c0cf1b65,...) at ffs_vfree+0x2e ufs_inactive(ef3dfad4,c0ed9f8b,ca49937c,ca49937c,ca4992b8,...) at ufs_inactive+0x2d5 VOP_INACTIVE_APV(c0fbb100,ef3dfad4,c0e959b2,94e,c0fd6080,...) at VOP_INACTIVE_APV+0xc5 vinactive(c0fbb100,ef3dfb08,c0e959b2,8a5,0,...) at vinactive+0xb1 vputx(ef3dfc20,c0a47fcd,ca4992b8,ffffffdf,ca4992b8,...) at vputx+0x36c vput(ca4992b8,ffffffdf,ca4992b8,ef3dfbd8,0,...) at vput+0x10 kern_unlinkat(ca622b80,ffffff9c,bfbfe628,0,0,...) at kern_unlinkat+0x23d kern_unlink(ca622b80,bfbfe628,0,ef3dfc7c,c09eb163,...) at kern_unlink+0x2f unlink(ca622b80,ef3dfcec,ef3dfd28,c0e8c5de,0,...) at unlink+0x22 syscallenter(ca622b80,ef3dfce4,ef3dfce4,0,c101f300,...) at syscallenter+0x263 syscall(ef3dfd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe5fc, ebp = 0xbfbfe738 --- Tracing command rename pid 8508 tid 100244 td 0xca6c98a0 kdb_enter(c0e86573,c0e86573,c0eba9a6,ef45d880,3,...) at kdb_enter+0x3a panic(c0eba9a6,ca7bd740,2a0,ef45d8d0,e,...) at panic+0x134 softdep_setup_directory_add(e09474c0,cac5f740,2a0,0,1e72,...) at softdep_setup_directory_add+0x590 ufs_direnter(cac55984,0,ef45d9dc,ef45db70,0,...) at ufs_direnter+0x7db ufs_rename(ef45dbec,0,c7cfc2b8,ef45db98,0,...) at ufs_rename+0xc1c VOP_RENAME_APV(c0fbb100,ef45dbec,0,1,ef45db70,...) at VOP_RENAME_APV+0xa5 kern_renameat(ca6c98a0,ffffff9c,bfbfe628,ffffff9c,bfbfe6a8,...) at kern_renameat+0x307 kern_rename(ca6c98a0,bfbfe628,bfbfe6a8,0,ef45dc7c,...) at kern_rename+0x36 rename(ca6c98a0,ef45dcec,ef45dd28,c0e8c5de,0,...) at rename+0x29 syscallenter(ca6c98a0,ef45dce4,ef45dce4,0,0,...) at syscallenter+0x263 syscall(ef45dd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee97b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command openat pid 8507 tid 100163 td 0xc7fd3000 sched_switch(c7fd3000,0,207,18c,ad11c150,...) at sched_switch+0x3bc mi_switch(207,0,c0e8c59d,d4,c11e5f00,...) at mi_switch+0x219 ast(ef31cd28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command rename pid 8506 tid 100335 td 0xcaa6b000 sched_switch(caa6b000,0,104,191,abe22f2a,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,5c,...) at mi_switch+0x219 sleepq_switch(caa6b000,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(e0826a80,5c,c0e933bb,0,0,...) at sleepq_wait+0x63 _sleep(e0826a80,c6d757b8,5c,c0e933bb,0,...) at _sleep+0x372 bwait(e0826a80,5c,c0e933bb,e0826a80,ef5a2530,...) at bwait+0x6f bufwait(e0826a80,e0826a80,df,e0826a80,e3ca3c60,...) at bufwait+0x48 bufwrite(e0826a80,0,c0ebbe0c,767,0) at bufwrite+0x165 ffs_bufwrite(e0826a80,0,c0eb905c,c42,c09f3626,...) at ffs_bufwrite+0x290 softdep_process_journal(c0eb905c,190c,190c,0,e08c6500,...) at softdep_process_journal+0x7a8 jwait(c118ed2c,0,c0eb905c,190c,800,...) at jwait+0x2a trunc_dependencies(0,0,1800,800,c7c1e500,...) at trunc_dependencies+0x453 softdep_journal_freeblocks(c972d488,c7c1e500,1800,0,800,...) at softdep_journal_freeblocks+0xd2b ffs_truncate(caa9e2b8,1800,0,880,c7c1e500,...) at ffs_truncate+0x94e ufs_rename(ef5a2bec,0,ca18e828,ef5a2b98,0,...) at ufs_rename+0x1262 VOP_RENAME_APV(c0fbb100,ef5a2bec,0,1,ef5a2b70,...) at VOP_RENAME_APV+0xa5 kern_renameat(caa6b000,ffffff9c,bfbfe628,ffffff9c,bfbfe6a8,...) at kern_renameat+0x307 kern_rename(caa6b000,bfbfe628,bfbfe6a8,0,ef5a2c7c,...) at kern_rename+0x36 rename(caa6b000,ef5a2cec,ef5a2d28,c0e8c5de,0,...) at rename+0x29 syscallenter(caa6b000,ef5a2ce4,ef5a2ce4,0,c1020000,...) at syscallenter+0x263 syscall(ef5a2d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee97b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command openat pid 8505 tid 100170 td 0xc7fd2000 sched_switch(c7fd2000,0,104,191,aa1f0db7,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7fd2000,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e09c29e0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e09c29e0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,100c0,0,1000,0,...) at getblk+0x167 breadn(ca2bd828,100c0,0,1000,0,...) at breadn+0x44 bread(ca2bd828,100c0,0,1000,0,...) at bread+0x4c ffs_freefile(c773ed00,c7740800,ca2bd828,178f,81b0,...) at ffs_freefile+0x1c0 handle_workitem_freefile(c118ed2c,0,c0eb905c,1a59,ef331a10,...) at handle_workitem_freefile+0x120 softdep_freefile(ca4df984,178f,81b0,c0eb905c,2128,...) at softdep_freefile+0x8ee ffs_vfree(ca4df984,178f,81b0,ef331a84,c0cf1b65,...) at ffs_vfree+0x2e ufs_inactive(ef331ad4,c0ed9f8b,ca4dfa48,ca4dfa48,ca4df984,...) at ufs_inactive+0x2d5 VOP_INACTIVE_APV(c0fbb100,ef331ad4,c0e959b2,94e,c0fd6080,...) at VOP_INACTIVE_APV+0xc5 vinactive(c0fbb100,ef331b08,c0e959b2,8a5,0,...) at vinactive+0xb1 vputx(ef331c20,c0a47fcd,ca4df984,ffffffdf,ca4df984,...) at vputx+0x36c vput(ca4df984,ffffffdf,ca4df984,ef331bd8,0,...) at vput+0x10 kern_unlinkat(c7fd2000,ffffff9c,bfbfe628,0,0,...) at kern_unlinkat+0x23d kern_unlink(c7fd2000,bfbfe628,0,ef331c7c,c09eb163,...) at kern_unlink+0x2f unlink(c7fd2000,ef331cec,ef331d28,c0e8c5de,0,...) at unlink+0x22 syscallenter(c7fd2000,ef331ce4,ef331ce4,0,c101f980,...) at syscallenter+0x263 syscall(ef331d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe5fc, ebp = 0xbfbfe738 --- Tracing command rename pid 8504 tid 100198 td 0xca4662e0 sched_switch(ca4662e0,0,104,191,a3a1cbcf,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,5c,...) at mi_switch+0x219 sleepq_switch(ca4662e0,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(e07ccac0,5c,c0e933bb,0,0,...) at sleepq_wait+0x63 _sleep(e07ccac0,c6d752b8,5c,c0e933bb,0,...) at _sleep+0x372 bwait(e07ccac0,5c,c0e933bb,e07ccac0,ef3b2530,...) at bwait+0x6f bufwait(e07ccac0,e07ccac0,df,e07ccac0,e2ecbfe0,...) at bufwait+0x48 bufwrite(e07ccac0,0,c0ebbe0c,767,c7f2ea80) at bufwrite+0x165 ffs_bufwrite(e07ccac0,0,c0eb905c,c42,c09f3626,...) at ffs_bufwrite+0x290 softdep_process_journal(c0eb905c,190c,190c,0,e08c1560,...) at softdep_process_journal+0x7a8 jwait(c118ed2c,0,c0eb905c,190c,800,...) at jwait+0x2a trunc_dependencies(0,0,1800,800,c7c1e500,...) at trunc_dependencies+0x453 softdep_journal_freeblocks(ca931074,c7c1e500,1800,0,800,...) at softdep_journal_freeblocks+0xd2b ffs_truncate(cac3a6cc,1800,0,880,c7c1e500,...) at ffs_truncate+0x94e ufs_rename(ef3b2bec,0,c9c04570,ef3b2b98,0,...) at ufs_rename+0x1262 VOP_RENAME_APV(c0fbb100,ef3b2bec,0,1,ef3b2b70,...) at VOP_RENAME_APV+0xa5 kern_renameat(ca4662e0,ffffff9c,bfbfe628,ffffff9c,bfbfe6a8,...) at kern_renameat+0x307 kern_rename(ca4662e0,bfbfe628,bfbfe6a8,0,ef3b2c7c,...) at kern_rename+0x36 rename(ca4662e0,ef3b2cec,ef3b2d28,c0e8c5de,0,...) at rename+0x29 syscallenter(ca4662e0,ef3b2ce4,ef3b2ce4,0,c1020680,...) at syscallenter+0x263 syscall(ef3b2d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee97b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command openat pid 8503 tid 100272 td 0xca8dd000 sched_switch(ca8dd000,0,104,191,a93b4def,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca8dd000,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e08a5bc0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e08a5bc0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,200c0,0,1000,0,...) at getblk+0x167 breadn(ca2bd828,200c0,0,1000,0,...) at breadn+0x44 bread(ca2bd828,200c0,0,1000,0,...) at bread+0x4c ffs_nodealloccg(caa02740,2,0,0,81b0,...) at ffs_nodealloccg+0x113 ffs_hashalloc(102d,0,81b0,0,c0bb1f30,...) at ffs_hashalloc+0xdc ffs_valloc(c97f115c,81b0,c7c1e500,ef4c592c,200,...) at ffs_valloc+0x4d3 ufs_makeinode(ef4c5bc0,c0fbb600,ef4c5b1c,ef4c5a78,c0cf6425,...) at ufs_makeinode+0xc3 ufs_create(ef4c5b1c,c0edaa7b,0,0,ef4c5b94,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb100,ef4c5b1c,ef4c5bc0,ef4c5ab4,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef4c5b94,ef4c5c48,1b0,0,c7c1e500,...) at vn_open_cred+0x205 vn_open(ef4c5b94,ef4c5c48,1b0,c9b73150,c0e80029,...) at vn_open+0x3b kern_openat(ca8dd000,3,bfbfe628,0,201,...) at kern_openat+0x12f openat(ca8dd000,ef4c5cec,ef4c5d28,c0e8c5de,0,...) at openat+0x38 syscallenter(ca8dd000,ef4c5ce4,ef4c5ce4,0,c1020000,...) at syscallenter+0x263 syscall(ef4c5d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (499, FreeBSD ELF32, openat), eip = 0x281047db, esp = 0xbfbfe5fc, ebp = 0xbfbfe738 --- Tracing command lockf2 pid 8502 tid 100141 td 0xc7eed8a0 sched_switch(c7eed8a0,0,104,191,c47f3e0b,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7eed8a0,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8bca0,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7ee72bc,6c,c0e8ea32,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7ee72bc,c7ee7344,16c,c0e8ea32,0,...) at _sleep+0x35c kern_wait(c7eed8a0,2146,ef2dac44,0,0,...) at kern_wait+0xbe6 wait4(c7eed8a0,ef2dacec,281a9d28,1,0,...) at wait4+0x3b syscallenter(c7eed8a0,ef2dace4,c0cd350d,c1010d70,0,...) at syscallenter+0x263 syscall(ef2dad28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2810493b, esp = 0xbfbfe71c, ebp = 0xbfbfe738 --- Tracing command rename pid 8501 tid 100249 td 0xca6c88a0 sched_switch(ca6c88a0,0,104,191,a220faf8,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca6c88a0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e08b52c0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e08b52c0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,10620,0,4000,0,...) at getblk+0x167 breadn(ca2bd828,10620,0,4000,0,...) at breadn+0x44 bread(ca2bd828,10620,0,4000,0,...) at bread+0x4c ffs_update(c9c07414,0,ef46cb70,ef46c9d4,0,...) at ffs_update+0x172 ufs_rename(ef46cbec,0,c9c07414,ef46cb98,0,...) at ufs_rename+0xb7b VOP_RENAME_APV(c0fbb100,ef46cbec,0,1,ef46cb70,...) at VOP_RENAME_APV+0xa5 kern_renameat(ca6c88a0,ffffff9c,bfbfe6a8,ffffff9c,bfbfe628,...) at kern_renameat+0x307 kern_rename(ca6c88a0,bfbfe6a8,bfbfe628,0,ef46cc7c,...) at kern_rename+0x36 rename(ca6c88a0,ef46ccec,ef46cd28,c0e8c5de,0,...) at rename+0x29 syscallenter(ca6c88a0,ef46cce4,ef46cce4,0,c1020680,...) at syscallenter+0x263 syscall(ef46cd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee97b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command rename pid 8500 tid 100328 td 0xcaa6cb80 sched_switch(caa6cb80,0,104,191,a4ccb423,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,5c,...) at mi_switch+0x219 sleepq_switch(caa6cb80,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(e08a88e0,5c,c0e933bb,0,0,...) at sleepq_wait+0x63 _sleep(e08a88e0,c6d7540c,5c,c0e933bb,0,...) at _sleep+0x372 bwait(e08a88e0,5c,c0e933bb,e08a88e0,ef58d530,...) at bwait+0x6f bufwait(e08a88e0,e08a88e0,df,e08a88e0,e509ffe0,...) at bufwait+0x48 bufwrite(e08a88e0,0,c0ebbe0c,767,c97d7380) at bufwrite+0x165 ffs_bufwrite(e08a88e0,0,c0eb905c,c42,c09f3626,...) at ffs_bufwrite+0x290 softdep_process_journal(c0eb905c,190c,0,0,e07199e0,...) at softdep_process_journal+0x7a8 jwait(c118ed2c,0,c0eb905c,190c,800,...) at jwait+0x2a trunc_dependencies(0,0,1800,800,c7c1e500,...) at trunc_dependencies+0x453 softdep_journal_freeblocks(ca3583a0,c7c1e500,1800,0,800,...) at softdep_journal_freeblocks+0xd2b ffs_truncate(c978c414,1800,0,880,c7c1e500,...) at ffs_truncate+0x94e ufs_rename(ef58dbec,0,c7f7d828,ef58db98,0,...) at ufs_rename+0x1262 VOP_RENAME_APV(c0fbb100,ef58dbec,0,1,ef58db70,...) at VOP_RENAME_APV+0xa5 kern_renameat(caa6cb80,ffffff9c,bfbfe628,ffffff9c,bfbfe6a8,...) at kern_renameat+0x307 kern_rename(caa6cb80,bfbfe628,bfbfe6a8,0,ef58dc7c,...) at kern_rename+0x36 rename(caa6cb80,ef58dcec,ef58dd28,c0e8c5de,0,...) at rename+0x29 syscallenter(caa6cb80,ef58dce4,ef58dce4,0,c101f980,...) at syscallenter+0x263 syscall(ef58dd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee97b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command rename pid 8499 tid 100302 td 0xc7fc4000 sched_switch(c7fc4000,0,602,18c,a4c35590,...) at sched_switch+0x3bc mi_switch(602,0,c0e86d9f,cd,c7fc4000,...) at mi_switch+0x219 critical_exit(c11e5f00,0,0,c970ad34,0,...) at critical_exit+0xa8 lapic_handle_timer(ef52c7d0) at lapic_handle_timer+0x95 Xtimerint() at Xtimerint+0x20 --- interrupt, eip = 0xc0998fdb, esp = 0xef52c810, ebp = 0xef52c830 --- _mtx_lock_flags(c970ad34,0,c0e9300b,a54,c11884e0,...) at _mtx_lock_flags+0x7b getblk(c970ac3c,0,0,2000,0,...) at getblk+0xe3 breadn(c970ac3c,0,0,2000,0,...) at breadn+0x44 bread(c970ac3c,0,0,2000,0,...) at bread+0x4c ffs_blkatoff(c970ac3c,db8,0,ef52c944,ef52c940,...) at ffs_blkatoff+0xd1 ufs_dirremove(c970ac3c,c9d91244,500940c,0,0,...) at ufs_dirremove+0xf9 ufs_rename(ef52cbec,0,cad8d15c,ef52cb98,0,...) at ufs_rename+0x115d VOP_RENAME_APV(c0fbb100,ef52cbec,0,1,ef52cb70,...) at VOP_RENAME_APV+0xa5 kern_renameat(c7fc4000,ffffff9c,bfbfe6a8,ffffff9c,bfbfe628,...) at kern_renameat+0x307 kern_rename(c7fc4000,bfbfe6a8,bfbfe628,0,ef52cc7c,...) at kern_rename+0x36 rename(c7fc4000,ef52ccec,ef52cd28,c0e8c5de,0,...) at rename+0x29 syscallenter(c7fc4000,ef52cce4,ef52cce4,0,c1020680,...) at syscallenter+0x263 syscall(ef52cd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee97b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command rename pid 8498 tid 100240 td 0xca6ca5c0 sched_switch(ca6ca5c0,0,104,191,95b99dc0,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca6ca5c0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e08d8840,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e08d8840,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,10140,0,4000,0,...) at getblk+0x167 breadn(ca2bd828,10140,0,4000,0,...) at breadn+0x44 bread(ca2bd828,10140,0,4000,0,...) at bread+0x4c ffs_update(c7f25c3c,0,ef451b70,ef4519d4,0,...) at ffs_update+0x172 ufs_rename(ef451bec,0,c7f25c3c,ef451b98,0,...) at ufs_rename+0xb7b VOP_RENAME_APV(c0fbb100,ef451bec,0,1,ef451b70,...) at VOP_RENAME_APV+0xa5 kern_renameat(ca6ca5c0,ffffff9c,bfbfe628,ffffff9c,bfbfe6a8,...) at kern_renameat+0x307 kern_rename(ca6ca5c0,bfbfe628,bfbfe6a8,0,ef451c7c,...) at kern_rename+0x36 rename(ca6ca5c0,ef451cec,ef451d28,c0e8c5de,0,...) at rename+0x29 syscallenter(ca6ca5c0,ef451ce4,ef451ce4,0,0,...) at syscallenter+0x263 syscall(ef451d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee97b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command rename pid 8497 tid 100118 td 0xc747f8a0 sched_switch(c747f8a0,0,103,18c,9d4cbdbf,...) at sched_switch+0x3bc mi_switch(103,0,c0e8c6b0,2e1,a38,...) at mi_switch+0x219 turnstile_wait(c7424480,ca6232e0,0,1ac,c773ed48,...) at turnstile_wait+0x4a4 _mtx_lock_sleep(c773ed48,c747f8a0,0,c0ebd024,4d7,...) at _mtx_lock_sleep+0x14d _mtx_lock_flags(c773ed48,0,c0ebd024,4d7,100,...) at _mtx_lock_flags+0xf7 dqget(0,c9852a90,1e,ca0fe2b8,ef27d8e4,...) at dqget+0x9d getinoquota(c9852a6c,ef27d88c,0,ef27d88c,ef27d880,...) at getinoquota+0x4b ufs_accessx(ef27d8e4,c0eda468,ef27d8d0,0,c9b4315c,...) at ufs_accessx+0xfc VOP_ACCESSX_APV(c0fbb100,ef27d8e4,ca0fe2b8,c0fd5e20,ca0fe2b8,...) at VOP_ACCESSX_APV+0xc5 ufs_delete_denied(c747f8a0,1892,80000,ef27d978,ef27d988,...) at ufs_delete_denied+0x7e ufs_lookup_ino(c9b4315c,ef27dbb0,ef27dbc4,0,ef27d9cc,...) at ufs_lookup_ino+0x8bc ufs_lookup(ef27d9ec,c0eda577,c9b4315c,c9b4315c,ef27dbc4,...) at ufs_lookup+0x2a VOP_CACHEDLOOKUP_APV(c0fbb100,ef27d9ec,ef27dbc4,ef27dbb0,c7c1e500,...) at VOP_CACHEDLOOKUP_APV+0xc5 vfs_cache_lookup(ef27da80,c0e96723,ef27db98,80000,ef27db98,...) at vfs_cache_lookup+0xd6 VOP_LOOKUP_APV(c0fbb100,ef27da80,c0e94dfd,2a6,ef27dbb0,...) at VOP_LOOKUP_APV+0xe5 lookup(ef27db98,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x67b namei(ef27db98,ffffffdf,0,1,ef27db70,...) at namei+0x592 kern_renameat(c747f8a0,ffffff9c,bfbfe628,ffffff9c,bfbfe6a8,...) at kern_renameat+0x57 kern_rename(c747f8a0,bfbfe628,bfbfe6a8,0,ef27dc7c,...) at kern_rename+0x36 rename(c747f8a0,ef27dcec,c09cdb3c,c1020030,0,...) at rename+0x29 syscallenter(c747f8a0,ef27dce4,ef27dcc0,c09d01b8,c1020000,...) at syscallenter+0x263 syscall(ef27dd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee97b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command rename pid 8496 tid 100200 td 0xc7eec2e0 sched_switch(c7eec2e0,0,104,191,a917228b,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c7eec2e0,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(e0829660,5c,c0e933bb,0,0,...) at sleepq_wait+0x63 _sleep(e0829660,c6d7554c,5c,c0e933bb,0,...) at _sleep+0x372 bwait(e0829660,5c,c0e933bb,e0829660,ef3b8530,...) at bwait+0x6f bufwait(e0829660,e0829660,df,e0829660,e3d0ffe0,...) at bufwait+0x48 bufwrite(e0829660,0,c0ebbe0c,767,caa5ce40) at bufwrite+0x165 ffs_bufwrite(e0829660,0,c0eb905c,c42,c09f3626,...) at ffs_bufwrite+0x290 softdep_process_journal(c0eb905c,190c,0,0,e093c060,...) at softdep_process_journal+0x7a8 jwait(c118ed2c,0,c0eb905c,190c,800,...) at jwait+0x2a trunc_dependencies(0,0,1800,800,c7c1e500,...) at trunc_dependencies+0x453 softdep_journal_freeblocks(cac5f2b8,c7c1e500,1800,0,800,...) at softdep_journal_freeblocks+0xd2b ffs_truncate(ca19f000,1800,0,880,c7c1e500,...) at ffs_truncate+0x94e ufs_rename(ef3b8bec,0,c9b4115c,ef3b8b98,0,...) at ufs_rename+0x1262 VOP_RENAME_APV(c0fbb100,ef3b8bec,0,1,ef3b8b70,...) at VOP_RENAME_APV+0xa5 kern_renameat(c7eec2e0,ffffff9c,bfbfe628,ffffff9c,bfbfe6a8,...) at kern_renameat+0x307 kern_rename(c7eec2e0,bfbfe628,bfbfe6a8,0,ef3b8c7c,...) at kern_rename+0x36 rename(c7eec2e0,ef3b8cec,ef3b8d28,c0e8c5de,0,...) at rename+0x29 syscallenter(c7eec2e0,ef3b8ce4,ef3b8ce4,0,0,...) at syscallenter+0x263 syscall(ef3b8d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (128, FreeBSD ELF32, rename), eip = 0x280ee97b, esp = 0xbfbfe5ec, ebp = 0xbfbfe738 --- Tracing command openat pid 8495 tid 100218 td 0xc9b9a8a0 sched_switch(c9b9a8a0,0,104,191,a912bd95,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c9b9a8a0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e09c29e0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e09c29e0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,100c0,0,1000,0,...) at getblk+0x167 breadn(ca2bd828,100c0,0,1000,0,...) at breadn+0x44 bread(ca2bd828,100c0,0,1000,0,...) at bread+0x4c ffs_nodealloccg(c9c6b2b8,1,101d,0,81b0,...) at ffs_nodealloccg+0x113 ffs_hashalloc(101d,0,81b0,0,c0bb1f30,...) at ffs_hashalloc+0x85 ffs_valloc(ca797000,81b0,c7c1e500,ef3f492c,200,...) at ffs_valloc+0x4d3 ufs_makeinode(ef3f4bc0,c0fbb600,ef3f4b1c,ef3f4a78,c0cf6425,...) at ufs_makeinode+0xc3 ufs_create(ef3f4b1c,c0edaa7b,0,0,ef3f4b94,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb100,ef3f4b1c,ef3f4bc0,ef3f4ab4,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef3f4b94,ef3f4c48,1b0,0,c7c1e500,...) at vn_open_cred+0x205 vn_open(ef3f4b94,ef3f4c48,1b0,c7c1f888,1,...) at vn_open+0x3b kern_openat(c9b9a8a0,3,bfbfe6a8,0,201,...) at kern_openat+0x12f openat(c9b9a8a0,ef3f4cec,ef3f4d28,c0e8c5de,0,...) at openat+0x38 syscallenter(c9b9a8a0,ef3f4ce4,ef3f4ce4,0,c101f300,...) at syscallenter+0x263 syscall(ef3f4d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (499, FreeBSD ELF32, openat), eip = 0x281047db, esp = 0xbfbfe5fc, ebp = 0xbfbfe738 --- Tracing command openat pid 8494 tid 100246 td 0xca6c92e0 sched_switch(ca6c92e0,0,104,191,ad0c20bb,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca6c92e0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e09c29e0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e09c29e0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,100c0,0,1000,0,...) at getblk+0x167 breadn(ca2bd828,100c0,0,1000,0,...) at breadn+0x44 bread(ca2bd828,100c0,0,1000,0,...) at bread+0x4c ffs_nodealloccg(ca975658,1,1015,0,81b0,...) at ffs_nodealloccg+0x113 ffs_hashalloc(1015,0,81b0,0,c0bb1f30,...) at ffs_hashalloc+0x85 ffs_valloc(ca586828,81b0,c7c1e500,ef46392c,200,...) at ffs_valloc+0x4d3 ufs_makeinode(ef463bc0,c0fbb600,ef463b1c,ef463a78,c0cf6425,...) at ufs_makeinode+0xc3 ufs_create(ef463b1c,c0edaa7b,0,0,ef463b94,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb100,ef463b1c,ef463bc0,ef463ab4,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef463b94,ef463c48,1b0,0,c7c1e500,...) at vn_open_cred+0x205 vn_open(ef463b94,ef463c48,1b0,c78dcb28,c0e80029,...) at vn_open+0x3b kern_openat(ca6c92e0,3,bfbfe628,0,201,...) at kern_openat+0x12f openat(ca6c92e0,ef463cec,ef463d28,c0e8c5de,0,...) at openat+0x38 syscallenter(ca6c92e0,ef463ce4,ef463ce4,0,0,...) at syscallenter+0x263 syscall(ef463d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (499, FreeBSD ELF32, openat), eip = 0x281047db, esp = 0xbfbfe5fc, ebp = 0xbfbfe738 --- Tracing command openat pid 8493 tid 100157 td 0xc7fc82e0 sched_switch(c7fc82e0,0,104,191,ad4d2e80,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7fc82e0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e09582e0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e09582e0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,20320,0,4000,0,...) at getblk+0x167 breadn(ca2bd828,20320,0,4000,0,...) at breadn+0x44 bread(ca2bd828,20320,0,4000,0,...) at bread+0x4c ffs_update(c97c6570,0,ef30ab88,ef30a9ec,0,...) at ffs_update+0x172 ufs_rename(ef30ac04,0,c97c6570,ef30abb0,0,...) at ufs_rename+0xb7b VOP_RENAME_APV(c0fbb100,ef30ac04,0,1,ef30ab88,...) at VOP_RENAME_APV+0xa5 kern_renameat(c7fc82e0,3,bfbfe6a8,3,bfbfe628,...) at kern_renameat+0x307 renameat(c7fc82e0,ef30acec,ef30ad28,c0e8c5de,0,...) at renameat+0x37 syscallenter(c7fc82e0,ef30ace4,ef30ace4,0,c1020000,...) at syscallenter+0x263 syscall(ef30ad28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (501, FreeBSD ELF32, renameat), eip = 0x280ece5b, esp = 0xbfbfe5fc, ebp = 0xbfbfe738 --- Tracing command mkdir pid 8492 tid 100342 td 0xca8dd8a0 sched_switch(ca8dd8a0,0,104,191,f051eb44,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca8dd8a0,0,c0e8bca0,268,ca6359dc,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,1,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,200400,ca635a48,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef5b7a18,0,c6d5b1e0,200400,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef5b7a18,ca635a48,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,200400,c0e94dfd,1f5,ef5b7a8c,...) at _vn_lock+0x78 lookup(ef5b7ba4,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x106 namei(ef5b7ba4,ca635984,2,ca635a48,ef5b7b54,...) at namei+0x592 kern_mkdirat(ca8dd8a0,ffffff9c,bfbfe33f,0,1f8,...) at kern_mkdirat+0x71 kern_mkdir(ca8dd8a0,bfbfe33f,0,1f8,ef5b7c7c,...) at kern_mkdir+0x2e mkdir(ca8dd8a0,ef5b7cec,ef5b7d28,c0e8c5de,0,...) at mkdir+0x29 syscallenter(ca8dd8a0,ef5b7ce4,ef5b7ce4,0,c1020000,...) at syscallenter+0x263 syscall(ef5b7d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (136, FreeBSD ELF32, mkdir), eip = 0x28186663, esp = 0xbfbfdeec, ebp = 0xbfbfe318 --- Tracing command openat pid 8491 tid 100166 td 0xc7fd25c0 sched_switch(c7fd25c0,0,104,191,a93b30e9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7fd25c0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e08a5bc0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e08a5bc0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,200c0,0,1000,0,...) at getblk+0x167 breadn(ca2bd828,200c0,0,1000,0,...) at breadn+0x44 bread(ca2bd828,200c0,0,1000,0,...) at bread+0x4c ffs_freefile(c773ed00,c7740800,ca2bd828,227a,81b0,...) at ffs_freefile+0x1c0 handle_workitem_freefile(c118ed2c,0,c0eb905c,1a59,ef325a10,...) at handle_workitem_freefile+0x120 softdep_freefile(c9c1aae0,227a,81b0,c0eb905c,2128,...) at softdep_freefile+0x8ee ffs_vfree(c9c1aae0,227a,81b0,ef325a84,c0cf1b65,...) at ffs_vfree+0x2e ufs_inactive(ef325ad4,c0ed9f8b,c9c1aba4,c9c1aba4,c9c1aae0,...) at ufs_inactive+0x2d5 VOP_INACTIVE_APV(c0fbb100,ef325ad4,c0e959b2,94e,c0fd6080,...) at VOP_INACTIVE_APV+0xc5 vinactive(c0fbb100,ef325b08,c0e959b2,8a5,0,...) at vinactive+0xb1 vputx(ef325c20,c0a47fcd,c9c1aae0,ffffffdf,c9c1aae0,...) at vputx+0x36c vput(c9c1aae0,ffffffdf,c9c1aae0,ef325bd8,c15a9000,...) at vput+0x10 kern_unlinkat(c7fd25c0,ffffff9c,bfbfe6a8,0,0,...) at kern_unlinkat+0x23d kern_unlink(c7fd25c0,bfbfe6a8,0,ef325c7c,c09eb163,...) at kern_unlink+0x2f unlink(c7fd25c0,ef325cec,ef325d28,c0e8c5de,0,...) at unlink+0x22 syscallenter(c7fd25c0,ef325ce4,ef325ce4,0,c101f300,...) at syscallenter+0x263 syscall(ef325d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe5fc, ebp = 0xbfbfe738 --- Tracing command openat pid 8490 tid 100191 td 0xca4678a0 sched_switch(ca4678a0,0,104,191,ad101ab4,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca4678a0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e09c29e0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e09c29e0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,100c0,0,1000,0,...) at getblk+0x167 breadn(ca2bd828,100c0,0,1000,0,...) at breadn+0x44 bread(ca2bd828,100c0,0,1000,0,...) at bread+0x4c ffs_freefile(c773ed00,c7740800,ca2bd828,19d4,81b0,...) at ffs_freefile+0x1c0 handle_workitem_freefile(c118ed2c,0,c0eb905c,1a59,ef39ca20,...) at handle_workitem_freefile+0x120 softdep_freefile(ca477c3c,19d4,81b0,c0eb905c,2128,...) at softdep_freefile+0x8ee ffs_vfree(ca477c3c,19d4,81b0,ef39ca94,c0cf1b65,...) at ffs_vfree+0x2e ufs_inactive(ef39cae4,c0ed9f8b,ca477d00,ca477d00,ca477c3c,...) at ufs_inactive+0x2d5 VOP_INACTIVE_APV(c0fbb100,ef39cae4,c0e959b2,94e,c0fd6080,...) at VOP_INACTIVE_APV+0xc5 vinactive(c0fbb100,ef39cb18,c0e959b2,8a5,0,...) at vinactive+0xb1 vputx(ef39cc30,c0a47fcd,ca477c3c,ffffffdf,ca477c3c,...) at vputx+0x36c vput(ca477c3c,ffffffdf,ca477c3c,ef39cbe8,c0bfc95f,...) at vput+0x10 kern_unlinkat(ca4678a0,3,bfbfe628,0,0) at kern_unlinkat+0x23d unlinkat(ca4678a0,ef39ccec,ef39cd28,c0e8c5de,0,...) at unlinkat+0x64 syscallenter(ca4678a0,ef39cce4,ef39cce4,0,c101f300,...) at syscallenter+0x263 syscall(ef39cd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (503, FreeBSD ELF32, unlinkat), eip = 0x280ece1b, esp = 0xbfbfe5fc, ebp = 0xbfbfe738 --- Tracing command rename pid 8489 tid 100237 td 0xca6238a0 sched_switch(ca6238a0,0,104,191,c3eae26b,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(ca6238a0,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8bca0,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(ca6c5834,6c,c0e8ea32,100,0,...) at sleepq_wait_sig+0x17 _sleep(ca6c5834,ca6c58bc,16c,c0e8ea32,0,...) at _sleep+0x35c kern_wait(ca6238a0,2130,ef448c44,0,0,...) at kern_wait+0xbe6 wait4(ca6238a0,ef448cec,281a9d28,1,0,...) at wait4+0x3b syscallenter(ca6238a0,ef448ce4,c0cd350d,c1010d70,0,...) at syscallenter+0x263 syscall(ef448d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2810493b, esp = 0xbfbfe71c, ebp = 0xbfbfe738 --- Tracing command mkdir pid 8488 tid 100271 td 0xca6cab80 sched_switch(ca6cab80,0,104,191,c33dcc17,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(ca6cab80,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8bca0,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(ca8aa000,6c,c0e8ea32,100,0,...) at sleepq_wait_sig+0x17 _sleep(ca8aa000,ca8aa088,16c,c0e8ea32,0,...) at _sleep+0x35c kern_wait(ca6cab80,212c,ef4c1c44,0,0,...) at kern_wait+0xbe6 wait4(ca6cab80,ef4c1cec,281a9d28,1,0,...) at wait4+0x3b syscallenter(ca6cab80,ef4c1ce4,c0cd350d,c1010d70,0,...) at syscallenter+0x263 syscall(ef4c1d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2810493b, esp = 0xbfbfe72c, ebp = 0xbfbfe748 --- Tracing command creat pid 8487 tid 100184 td 0xc77dcb80 sched_switch(c77dcb80,0,104,191,a8ab8223,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c77dcb80,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e0825420,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e0825420,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,20300,0,4000,0,...) at getblk+0x167 breadn(ca2bd828,20300,0,4000,0,...) at breadn+0x44 bread(ca2bd828,20300,0,4000,0,...) at bread+0x4c ffs_vgetf(c98c487c,2441,80000,ef37c910,0,...) at ffs_vgetf+0x3ab ffs_vget(c98c487c,2441,80000,ef37c910,c0bb1f30,...) at ffs_vget+0x2e ffs_valloc(ca57e828,81b0,c7c1e500,ef37c910,400,...) at ffs_valloc+0x500 ufs_makeinode(ef37cba4,c0fbb600,ef37cb00,ef37ca5c,c0cf6425,...) at ufs_makeinode+0xc3 ufs_create(ef37cb00,c0edaa7b,0,0,ef37cb78,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb100,ef37cb00,ef37cba4,ef37ca98,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef37cb78,ef37cc2c,1b0,0,c7c1e500,...) at vn_open_cred+0x205 vn_open(ef37cb78,ef37cc2c,1b0,c7c1f968,0,...) at vn_open+0x3b kern_openat(c77dcb80,ffffff9c,bfbfe6b8,0,602,...) at kern_openat+0x12f kern_open(c77dcb80,bfbfe6b8,0,601,1b0,...) at kern_open+0x35 open(c77dcb80,ef37ccec,ef37cd28,c0e8c5de,0,...) at open+0x30 syscallenter(c77dcb80,ef37cce4,ef37cce4,0,c101f300,...) at syscallenter+0x263 syscall(ef37cd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x281866a3, esp = 0xbfbfe66c, ebp = 0xbfbfe688 --- Tracing command swap pid 8486 tid 100251 td 0xca6c82e0 sched_switch(ca6c82e0,0,207,18c,2bfa6caa,...) at sched_switch+0x3bc mi_switch(207,0,c0e8c59d,d4,c11e5f00,...) at mi_switch+0x219 ast(ef472d28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command creat pid 8485 tid 100209 td 0xca6232e0 cpustop_handler(1,ef3d998c,c0cd2dc6,f4,0,...) at cpustop_handler+0x34 ipi_nmi_handler(f4,0,1262d08,c0998e87,c7fd0af0,...) at ipi_nmi_handler+0x2f trap(ef3d9998) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0998e87, esp = 0xef3d99d8, ebp = 0xef3d99f4 --- _mtx_lock_sleep(c118ed2c,ca6232e0,0,c0eb905c,492,...) at _mtx_lock_sleep+0x97 _mtx_lock_flags(c118ed2c,0,c0eb905c,492,ca77cb00,...) at _mtx_lock_flags+0xf7 workitem_alloc(8c,c0fb8938,2,7ea,203c,...) at workitem_alloc+0x3d inodedep_lookup(ef3d9a74,0,cad913a0,c9ca43a0,ef3d9aa4,...) at inodedep_lookup+0xf5 inodedep_lookup_ip(c118ed2c,0,c0eb905c,10e2,c9ca43a0,...) at inodedep_lookup_ip+0x3b softdep_setup_unlink(cad913a0,c9ca43a0,c11583e8,ca623390,c0fa03b8,...) at softdep_setup_unlink+0x43 ufs_dirremove(caa9e414,c9ca43a0,500800c,0,caa9e414,...) at ufs_dirremove+0x32 ufs_remove(ef3d9c00,c0eda96e,0,0,ca7666cc,...) at ufs_remove+0x6e VOP_REMOVE_APV(c0fbb100,ef3d9c00,ca7666cc,ef3d9bd8,1,...) at VOP_REMOVE_APV+0xf6 kern_unlinkat(ca6232e0,ffffff9c,bfbfe6b8,0,0,...) at kern_unlinkat+0x1fb kern_unlink(ca6232e0,bfbfe6b8,0,ef3d9c7c,c09eb163,...) at kern_unlink+0x2f unlink(ca6232e0,ef3d9cec,ef3d9d28,c0e8c5de,0,...) at unlink+0x22 syscallenter(ca6232e0,ef3d9ce4,ef3d9ce4,0,c101f300,...) at syscallenter+0x263 syscall(ef3d9d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28183bcf, esp = 0xbfbfe68c, ebp = 0xbfbfe748 --- Tracing command swap pid 8484 tid 100235 td 0xca664000 sched_switch(ca664000,0,207,18c,f41344a,...) at sched_switch+0x3bc mi_switch(207,0,c0e8c59d,d4,c11e5f00,...) at mi_switch+0x219 ast(ef442d28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command creat pid 8483 tid 100231 td 0xca664b80 cpustop_handler(2,ef436680,c0cd2dc6,f4,0,...) at cpustop_handler+0x34 ipi_nmi_handler(f4,0,12c2800,c0998e89,ca6c6af0,...) at ipi_nmi_handler+0x2f trap(ef43668c) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0998e89, esp = 0xef4366cc, ebp = 0xef4366e8 --- _mtx_lock_sleep(c118ed2c,ca664b80,0,c0eb905c,492,...) at _mtx_lock_sleep+0x99 _mtx_lock_flags(c118ed2c,0,c0eb905c,492,c7bb6c00,...) at _mtx_lock_flags+0xf7 workitem_alloc(3c,c0fb8868,2,0,0,...) at workitem_alloc+0x3d newjaddref(0,0,0,0,c7740800,...) at newjaddref+0x4e softdep_setup_inomapdep(e08a5b60,ca428488,25e3,727,0,...) at softdep_setup_inomapdep+0x4d ffs_nodealloccg(ca428488,2,0,0,81b0,...) at ffs_nodealloccg+0x5a3 ffs_hashalloc(1047,0,81b0,0,c0bb1f30,...) at ffs_hashalloc+0xdc ffs_valloc(ca1a32b8,81b0,c7c1e500,ef436910,3600,...) at ffs_valloc+0x4d3 ufs_makeinode(ef436ba4,c0fbb600,ef436b00,ef436a5c,c0cf6425,...) at ufs_makeinode+0xc3 ufs_create(ef436b00,c0edaa7b,0,0,ef436b78,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb100,ef436b00,ef436ba4,ef436a98,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef436b78,ef436c2c,1b0,0,c7c1e500,...) at vn_open_cred+0x205 vn_open(ef436b78,ef436c2c,1b0,ca45d268,0,...) at vn_open+0x3b kern_openat(ca664b80,ffffff9c,bfbfe6b8,0,602,...) at kern_openat+0x12f kern_open(ca664b80,bfbfe6b8,0,601,1b0,...) at kern_open+0x35 open(ca664b80,ef436cec,ef436d28,c0e8c5de,0,...) at open+0x30 syscallenter(ca664b80,ef436ce4,ef436ce4,0,c101f980,...) at syscallenter+0x263 syscall(ef436d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x281866a3, esp = 0xbfbfe66c, ebp = 0xbfbfe688 --- Tracing command swap pid 8482 tid 100220 td 0xc9b9a2e0 sched_switch(c9b9a2e0,0,207,18c,4907f76c,...) at sched_switch+0x3bc mi_switch(207,0,c0e8c59d,d4,c11e5f00,...) at mi_switch+0x219 ast(ef3fad28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command openat pid 8481 tid 100196 td 0xca4668a0 sched_switch(ca4668a0,0,104,191,c40ad11a,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(ca4668a0,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8bca0,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c9b99af0,6c,c0e8ea32,100,0,...) at sleepq_wait_sig+0x17 _sleep(c9b99af0,c9b99b78,16c,c0e8ea32,0,...) at _sleep+0x35c kern_wait(ca4668a0,212a,ef3acc44,0,0,...) at kern_wait+0xbe6 wait4(ca4668a0,ef3accec,281a9d28,1,0,...) at wait4+0x3b syscallenter(ca4668a0,ef3acce4,c0cd350d,c1010d70,0,...) at syscallenter+0x263 syscall(ef3acd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2810493b, esp = 0xbfbfe71c, ebp = 0xbfbfe738 --- Tracing command creat pid 8480 tid 100210 td 0xca623000 sched_switch(ca623000,0,104,191,ad40195f,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca623000,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e08a5bc0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e08a5bc0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,200c0,0,1000,0,...) at getblk+0x167 breadn(ca2bd828,200c0,0,1000,0,...) at breadn+0x44 bread(ca2bd828,200c0,0,1000,0,...) at bread+0x4c ffs_nodealloccg(c978732c,2,0,0,81b0,...) at ffs_nodealloccg+0x113 ffs_hashalloc(1016,0,81b0,0,c0bb1f30,...) at ffs_hashalloc+0xdc ffs_valloc(caa9e15c,81b0,c7c1e500,ef3dc910,2800,...) at ffs_valloc+0x4d3 ufs_makeinode(ef3dcba4,c0fbb600,ef3dcb00,ef3dca5c,c0cf6425,...) at ufs_makeinode+0xc3 ufs_create(ef3dcb00,c0edaa7b,0,0,ef3dcb78,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb100,ef3dcb00,ef3dcba4,ef3dca98,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef3dcb78,ef3dcc2c,1b0,0,c7c1e500,...) at vn_open_cred+0x205 vn_open(ef3dcb78,ef3dcc2c,1b0,c78dc460,0,...) at vn_open+0x3b kern_openat(ca623000,ffffff9c,bfbfe6b8,0,602,...) at kern_openat+0x12f kern_open(ca623000,bfbfe6b8,0,601,1b0,...) at kern_open+0x35 open(ca623000,ef3dccec,ef3dcd28,c0e8c5de,0,...) at open+0x30 syscallenter(ca623000,ef3dcce4,ef3dcce4,0,0,...) at syscallenter+0x263 syscall(ef3dcd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x281866a3, esp = 0xbfbfe66c, ebp = 0xbfbfe688 --- Tracing command creat pid 8479 tid 100341 td 0xca8ddb80 sched_switch(ca8ddb80,0,104,191,c30d0a5e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(ca8ddb80,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8bca0,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7b392bc,6c,c0e8ea32,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7b392bc,c7b39344,16c,c0e8ea32,0,...) at _sleep+0x35c kern_wait(ca8ddb80,2120,ef5b4c44,0,0,...) at kern_wait+0xbe6 wait4(ca8ddb80,ef5b4cec,281a9d28,1,0,...) at wait4+0x3b syscallenter(ca8ddb80,ef5b4ce4,c0cd350d,c1010d70,0,...) at syscallenter+0x263 syscall(ef5b4d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2810493b, esp = 0xbfbfe72c, ebp = 0xbfbfe748 --- Tracing command fts pid 8478 tid 100097 td 0xc77f82e0 sched_switch(c77f82e0,0,104,191,cb85145a,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c77f82e0,0,c0e8bca0,268,ca6359dc,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,1,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,200100,ca635a48,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef214890,c09f279b,c0e942c9,200100,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef214890,c77f8390,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,200100,c0e959b2,856,0,...) at _vn_lock+0x78 vget(ca635984,200100,c77f82e0,244,200000,...) at vget+0xbb cache_lookup(ca57e828,ef214b90,ef214ba4,ef214b90,c7c1e500,...) at cache_lookup+0x67b vfs_cache_lookup(ef2149cc,c0e96723,c0fd5d00,200000,ef214b78,...) at vfs_cache_lookup+0xad VOP_LOOKUP_APV(c0fbb100,ef2149cc,ef214ba4,1f5,ef214b90,...) at VOP_LOOKUP_APV+0xe5 lookup(ef214b78,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x67b namei(ef214b78,ef214ac4,c0e80029,c77f0088,0,...) at namei+0x592 vn_open_cred(ef214b78,ef214c2c,0,0,c7c1e500,...) at vn_open_cred+0x31f vn_open(ef214b78,ef214c2c,0,c7498bd0,ef214b9c,...) at vn_open+0x3b kern_openat(c77f82e0,ffffff9c,281a07d3,0,1,...) at kern_openat+0x12f kern_open(c77f82e0,281a07d3,0,0,0,...) at kern_open+0x35 open(c77f82e0,ef214cec,ef214d28,c0e8c5de,0,...) at open+0x30 syscallenter(c77f82e0,ef214ce4,ef214ce4,0,0,...) at syscallenter+0x263 syscall(ef214d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x281856a3, esp = 0xbfbfe65c, ebp = 0xbfbfe6e8 --- Tracing command fts pid 8477 tid 100248 td 0xca6c8b80 sched_switch(ca6c8b80,0,104,191,de1f9347,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca6c8b80,0,c0e8bca0,268,ca6359dc,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,1,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,200100,ca635a48,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef469890,c09f279b,c0e942c9,200100,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef469890,ca6c8c30,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,200100,c0e959b2,856,0,...) at _vn_lock+0x78 vget(ca635984,200100,ca6c8b80,244,200000,...) at vget+0xbb cache_lookup(ca57e828,ef469b90,ef469ba4,ef469b90,c7c1e500,...) at cache_lookup+0x67b vfs_cache_lookup(ef4699cc,c0e96723,c0fd5d00,200000,ef469b78,...) at vfs_cache_lookup+0xad VOP_LOOKUP_APV(c0fbb100,ef4699cc,ef469ba4,1f5,ef469b90,...) at VOP_LOOKUP_APV+0xe5 lookup(ef469b78,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x67b namei(ef469b78,ef469ac4,c0e80029,ca7fab78,0,...) at namei+0x592 vn_open_cred(ef469b78,ef469c2c,0,0,c7c1e500,...) at vn_open_cred+0x31f vn_open(ef469b78,ef469c2c,0,c74335e8,ef469b9c,...) at vn_open+0x3b kern_openat(ca6c8b80,ffffff9c,281a07d3,0,1,...) at kern_openat+0x12f kern_open(ca6c8b80,281a07d3,0,0,0,...) at kern_open+0x35 open(ca6c8b80,ef469cec,ef469d28,c0e8c5de,0,...) at open+0x30 syscallenter(ca6c8b80,ef469ce4,ef469ce4,0,0,...) at syscallenter+0x263 syscall(ef469d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x281856a3, esp = 0xbfbfe65c, ebp = 0xbfbfe6e8 --- Tracing command fts pid 8476 tid 100317 td 0xc7ee88a0 sched_switch(c7ee88a0,0,104,191,fa89c544,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7ee88a0,0,c0e8bca0,268,ca6359dc,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,1,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,200100,ca635a48,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef56771c,c09f279b,c0e94d17,200100,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef56771c,c7ee8950,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,200100,c0e959b2,856,4,...) at _vn_lock+0x78 vget(ca635984,200100,c7ee88a0,50,0,...) at vget+0xbb vfs_hash_get(c98c487c,1000,200000,c7ee88a0,ef5678c4,...) at vfs_hash_get+0xed ffs_vgetf(c98c487c,1000,200000,ef5678c4,0,...) at ffs_vgetf+0x49 ffs_vget(c98c487c,1000,200000,ef5678c4,200000,...) at ffs_vget+0x2e vn_vget_ino(ca1cb984,1000,200000,ef5678c4,ef5678d4,...) at vn_vget_ino+0x134 ufs_lookup_ino(ca1cb984,ef567b90,ef567ba4,0,ef567918,...) at ufs_lookup_ino+0xa67 ufs_lookup(ef567938,c0eda577,ca1cb984,ca1cb984,ef567ba4,...) at ufs_lookup+0x2a VOP_CACHEDLOOKUP_APV(c0fbb100,ef567938,ef567ba4,ef567b90,c7c1e500,...) at VOP_CACHEDLOOKUP_APV+0xc5 vfs_cache_lookup(ef5679cc,c0e96723,c0fd5d00,200000,ef567b78,...) at vfs_cache_lookup+0xd6 VOP_LOOKUP_APV(c0fbb100,ef5679cc,ef567ba4,1f5,ef567b90,...) at VOP_LOOKUP_APV+0xe5 lookup(ef567b78,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x67b namei(ef567b78,ef567ac4,c0e80029,c7a9eb78,0,...) at namei+0x592 vn_open_cred(ef567b78,ef567c2c,0,0,c7c1e500,...) at vn_open_cred+0x31f vn_open(ef567b78,ef567c2c,0,c7498dc8,0,...) at vn_open+0x3b kern_openat(c7ee88a0,ffffff9c,281a07d3,0,1,...) at kern_openat+0x12f kern_open(c7ee88a0,281a07d3,0,0,0,...) at kern_open+0x35 open(c7ee88a0,ef567cec,ef567d28,c0e8c5de,0,...) at open+0x30 syscallenter(c7ee88a0,ef567ce4,ef567ce4,0,0,...) at syscallenter+0x263 syscall(ef567d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x281856a3, esp = 0xbfbfe65c, ebp = 0xbfbfe6e8 --- Tracing command fts pid 8475 tid 100316 td 0xc7a96b80 sched_switch(c7a96b80,0,104,191,742dab1e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7a96b80,0,c0e8bca0,268,ca6359dc,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,1,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,200100,ca635a48,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef56371c,c09f279b,c0e94d17,200100,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef56371c,c7a96c30,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,200100,c0e959b2,856,4,...) at _vn_lock+0x78 vget(ca635984,200100,c7a96b80,50,0,...) at vget+0xbb vfs_hash_get(c98c487c,1000,200000,c7a96b80,ef5638c4,...) at vfs_hash_get+0xed ffs_vgetf(c98c487c,1000,200000,ef5638c4,0,...) at ffs_vgetf+0x49 ffs_vget(c98c487c,1000,200000,ef5638c4,200000,...) at ffs_vget+0x2e vn_vget_ino(cac59c3c,1000,200000,ef5638c4,ef5638d4,...) at vn_vget_ino+0x134 ufs_lookup_ino(cac59c3c,ef563b90,ef563ba4,0,ef563918,...) at ufs_lookup_ino+0xa67 ufs_lookup(ef563938,c0eda577,cac59c3c,cac59c3c,ef563ba4,...) at ufs_lookup+0x2a VOP_CACHEDLOOKUP_APV(c0fbb100,ef563938,ef563ba4,ef563b90,c7c1e500,...) at VOP_CACHEDLOOKUP_APV+0xc5 vfs_cache_lookup(ef5639cc,c0e96723,c0fd5d00,200000,ef563b78,...) at vfs_cache_lookup+0xd6 VOP_LOOKUP_APV(c0fbb100,ef5639cc,ef563ba4,1f5,ef563b90,...) at VOP_LOOKUP_APV+0xe5 lookup(ef563b78,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x67b namei(ef563b78,ef563ac4,c0e80029,ca8abb78,0,...) at namei+0x592 vn_open_cred(ef563b78,ef563c2c,0,0,c7c1e500,...) at vn_open_cred+0x31f vn_open(ef563b78,ef563c2c,0,c9b73738,ef563b9c,...) at vn_open+0x3b kern_openat(c7a96b80,ffffff9c,281a07d3,0,1,...) at kern_openat+0x12f kern_open(c7a96b80,281a07d3,0,0,0,...) at kern_open+0x35 open(c7a96b80,ef563cec,ef563d28,c0e8c5de,0,...) at open+0x30 syscallenter(c7a96b80,ef563ce4,ef563ce4,0,c101f300,...) at syscallenter+0x263 syscall(ef563d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x281856a3, esp = 0xbfbfe65c, ebp = 0xbfbfe6e8 --- Tracing command fts pid 8474 tid 100337 td 0xcaa6a8a0 sched_switch(caa6a8a0,0,104,191,fa8dcd53,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(caa6a8a0,0,c0e8bca0,268,ca6359dc,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,1,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,200100,ca635a48,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef5a871c,c09f279b,c0e94d17,200100,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef5a871c,caa6a950,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,200100,c0e959b2,856,4,...) at _vn_lock+0x78 vget(ca635984,200100,caa6a8a0,50,0,...) at vget+0xbb vfs_hash_get(c98c487c,1000,200000,caa6a8a0,ef5a88c4,...) at vfs_hash_get+0xed ffs_vgetf(c98c487c,1000,200000,ef5a88c4,0,...) at ffs_vgetf+0x49 ffs_vget(c98c487c,1000,200000,ef5a88c4,200000,...) at ffs_vget+0x2e vn_vget_ino(ca1cb984,1000,200000,ef5a88c4,ef5a88d4,...) at vn_vget_ino+0x134 ufs_lookup_ino(ca1cb984,ef5a8b90,ef5a8ba4,0,ef5a8918,...) at ufs_lookup_ino+0xa67 ufs_lookup(ef5a8938,c0eda577,ca1cb984,ca1cb984,ef5a8ba4,...) at ufs_lookup+0x2a VOP_CACHEDLOOKUP_APV(c0fbb100,ef5a8938,ef5a8ba4,ef5a8b90,c7c1e500,...) at VOP_CACHEDLOOKUP_APV+0xc5 vfs_cache_lookup(ef5a89cc,c0e96723,c0fd5d00,200000,ef5a8b78,...) at vfs_cache_lookup+0xd6 VOP_LOOKUP_APV(c0fbb100,ef5a89cc,ef5a8ba4,1f5,ef5a8b90,...) at VOP_LOOKUP_APV+0xe5 lookup(ef5a8b78,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x67b namei(ef5a8b78,ef5a8ac4,c0e80029,c7b3a088,0,...) at namei+0x592 vn_open_cred(ef5a8b78,ef5a8c2c,0,0,c7c1e500,...) at vn_open_cred+0x31f vn_open(ef5a8b78,ef5a8c2c,0,c7c1fa80,0,...) at vn_open+0x3b kern_openat(caa6a8a0,ffffff9c,281a07d3,0,1,...) at kern_openat+0x12f kern_open(caa6a8a0,281a07d3,0,0,0,...) at kern_open+0x35 open(caa6a8a0,ef5a8cec,ef5a8d28,c0e8c5de,0,...) at open+0x30 syscallenter(caa6a8a0,ef5a8ce4,ef5a8ce4,0,0,...) at syscallenter+0x263 syscall(ef5a8d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x281856a3, esp = 0xbfbfe65c, ebp = 0xbfbfe6e8 --- Tracing command fts pid 8473 tid 100309 td 0xca8da8a0 sched_switch(ca8da8a0,0,104,191,cb85e847,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca8da8a0,0,c0e8bca0,268,ca6359dc,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,1,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,200100,ca635a48,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef549890,c09f279b,c0e942c9,200100,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef549890,ca8da950,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,200100,c0e959b2,856,0,...) at _vn_lock+0x78 vget(ca635984,200100,ca8da8a0,244,200000,...) at vget+0xbb cache_lookup(ca57e828,ef549b90,ef549ba4,ef549b90,c7c1e500,...) at cache_lookup+0x67b vfs_cache_lookup(ef5499cc,c0e96723,c0fd5d00,200000,ef549b78,...) at vfs_cache_lookup+0xad VOP_LOOKUP_APV(c0fbb100,ef5499cc,ef549ba4,1f5,ef549b90,...) at VOP_LOOKUP_APV+0xe5 lookup(ef549b78,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x67b namei(ef549b78,ef549ac4,c0e80029,ca7fd600,0,...) at namei+0x592 vn_open_cred(ef549b78,ef549c2c,0,0,c7c1e500,...) at vn_open_cred+0x31f vn_open(ef549b78,ef549c2c,0,c7433658,ef549b9c,...) at vn_open+0x3b kern_openat(ca8da8a0,ffffff9c,281a07d3,0,1,...) at kern_openat+0x12f kern_open(ca8da8a0,281a07d3,0,0,0,...) at kern_open+0x35 open(ca8da8a0,ef549cec,ef549d28,c0e8c5de,0,...) at open+0x30 syscallenter(ca8da8a0,ef549ce4,ef549ce4,0,0,...) at syscallenter+0x263 syscall(ef549d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x281856a3, esp = 0xbfbfe65c, ebp = 0xbfbfe6e8 --- Tracing command swap pid 8472 tid 100183 td 0xc77e0000 sched_switch(c77e0000,0,104,191,c30884ce,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c77e0000,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8bca0,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(ca223578,6c,c0e8ea32,100,0,...) at sleepq_wait_sig+0x17 _sleep(ca223578,ca223600,16c,c0e8ea32,0,...) at _sleep+0x35c kern_wait(c77e0000,2122,ef379c44,0,0,...) at kern_wait+0xbe6 wait4(c77e0000,ef379cec,281a9d28,1,0,...) at wait4+0x3b syscallenter(c77e0000,ef379ce4,c0cd350d,c1010d70,0,...) at syscallenter+0x263 syscall(ef379d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2810493b, esp = 0xbfbfe72c, ebp = 0xbfbfe748 --- Tracing command fts pid 8471 tid 100226 td 0xca666b80 sched_switch(ca666b80,0,104,191,6ea80352,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca666b80,0,c0e8bca0,268,ca6359dc,...) at sleepq_switch+0x162 sleepq_wait(ca6359dc,60,c0e7d22e,4,1,...) at sleepq_wait+0x63 __lockmgr_args(ca6359dc,200100,ca635a48,0,0,...) at __lockmgr_args+0x4cf ffs_lock(ef40c71c,c09f279b,c0e94d17,200100,ca635984,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef40c71c,ca666c30,c0fd60c0,ca635984,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca635984,200100,c0e959b2,856,4,...) at _vn_lock+0x78 vget(ca635984,200100,ca666b80,50,0,...) at vget+0xbb vfs_hash_get(c98c487c,1000,200000,ca666b80,ef40c8c4,...) at vfs_hash_get+0xed ffs_vgetf(c98c487c,1000,200000,ef40c8c4,0,...) at ffs_vgetf+0x49 ffs_vget(c98c487c,1000,200000,ef40c8c4,200000,...) at ffs_vget+0x2e vn_vget_ino(c9d3d2b8,1000,200000,ef40c8c4,ef40c8d4,...) at vn_vget_ino+0x134 ufs_lookup_ino(c9d3d2b8,ef40cb90,ef40cba4,0,ef40c918,...) at ufs_lookup_ino+0xa67 ufs_lookup(ef40c938,c0eda577,c9d3d2b8,c9d3d2b8,ef40cba4,...) at ufs_lookup+0x2a VOP_CACHEDLOOKUP_APV(c0fbb100,ef40c938,ef40cba4,ef40cb90,c7c1e500,...) at VOP_CACHEDLOOKUP_APV+0xc5 vfs_cache_lookup(ef40c9cc,c0e96723,c0fd5d00,200000,ef40cb78,...) at vfs_cache_lookup+0xd6 VOP_LOOKUP_APV(c0fbb100,ef40c9cc,ef40cba4,1f5,ef40cb90,...) at VOP_LOOKUP_APV+0xe5 lookup(ef40cb78,c0e94dfd,ee,c9,ffffff9c,...) at lookup+0x67b namei(ef40cb78,ef40cac4,c0e80029,ca624088,0,...) at namei+0x592 vn_open_cred(ef40cb78,ef40cc2c,0,0,c7c1e500,...) at vn_open_cred+0x31f vn_open(ef40cb78,ef40cc2c,0,ca695000,ef40cb9c,...) at vn_open+0x3b kern_openat(ca666b80,ffffff9c,281a07d3,0,1,...) at kern_openat+0x12f kern_open(ca666b80,281a07d3,0,0,0,...) at kern_open+0x35 open(ca666b80,ef40ccec,ef40cd28,c0e8c5de,0,...) at open+0x30 syscallenter(ca666b80,ef40cce4,ef40cce4,0,0,...) at syscallenter+0x263 syscall(ef40cd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x281856a3, esp = 0xbfbfe65c, ebp = 0xbfbfe6e8 --- Tracing command fts pid 8470 tid 100193 td 0xca4672e0 sched_switch(ca4672e0,0,104,191,c3150f41,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(ca4672e0,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8bca0,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(ca21f578,6c,c0e8ea32,100,0,...) at sleepq_wait_sig+0x17 _sleep(ca21f578,ca21f600,16c,c0e8ea32,0,...) at _sleep+0x35c kern_wait(ca4672e0,2117,ef3a3c44,0,0,...) at kern_wait+0xbe6 wait4(ca4672e0,ef3a3cec,281a8d28,1,0,...) at wait4+0x3b syscallenter(ca4672e0,ef3a3ce4,c0cd350d,c1010d70,0,...) at syscallenter+0x263 syscall(ef3a3d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2810393b, esp = 0xbfbfe72c, ebp = 0xbfbfe748 --- Tracing command rw pid 8469 tid 100107 td 0xc77e08a0 sched_switch(c77e08a0,0,104,191,ab5b94d0,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c77e08a0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e09c29e0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e09c29e0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,100c0,0,1000,0,...) at getblk+0x167 breadn(ca2bd828,100c0,0,1000,0,...) at breadn+0x44 bread(ca2bd828,100c0,0,1000,0,...) at bread+0x4c ffs_alloccg(ca2ba570,1,5470,0,1000,...) at ffs_alloccg+0x123 ffs_hashalloc(5470,0,1000,1000,c0bb3010,...) at ffs_hashalloc+0x85 ffs_alloc(ca2ba570,8,0,5470,0,...) at ffs_alloc+0x2ef ffs_balloc_ufs2(c9f8fd98,20000,0,1000,c7c1e500,...) at ffs_balloc_ufs2+0x110c ffs_write(ef239b94,c0eda9b1,c9f8fd98,0,c9f8fd98,...) at ffs_write+0x2ad VOP_WRITE_APV(c0fbb100,ef239b94,c9f8fd98,264,0,...) at VOP_WRITE_APV+0x136 vn_write(c7744bd0,ef239c28,c7c1e500,0,c77e08a0,...) at vn_write+0x1ca dofilewrite(ef239c28,ffffffff,ffffffff,0,c7744bd0,...) at dofilewrite+0x95 kern_writev(c77e08a0,4,ef239c28,ef239c48,1,...) at kern_writev+0x58 write(c77e08a0,ef239cec,c09cdb3c,c1020030,0,...) at write+0x4f syscallenter(c77e08a0,ef239ce4,ef239cc0,c09d01b8,c1020000,...) at syscallenter+0x263 syscall(ef239d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (4, FreeBSD ELF32, write), eip = 0x28195623, esp = 0xbfbfd68c, ebp = 0xbfbfe748 --- Tracing command rw pid 8468 tid 100333 td 0xcaa6b5c0 sched_switch(caa6b5c0,0,207,18c,a93acf0f,...) at sched_switch+0x3bc mi_switch(207,0,c0e8c59d,d4,c11e5f00,...) at mi_switch+0x219 ast(ef59cd28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command rw pid 8467 tid 100232 td 0xca6648a0 sched_switch(ca6648a0,0,207,18c,ad4bdbdc,...) at sched_switch+0x3bc mi_switch(207,0,c0e8c59d,d4,c11e5f00,...) at mi_switch+0x219 ast(ef439d28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command rw pid 8466 tid 100203 td 0xca465b80 sched_switch(ca465b80,0,207,18c,a9615dbe,...) at sched_switch+0x3bc mi_switch(207,0,c0e8c59d,d4,c11e5f00,...) at mi_switch+0x219 ast(ef3c1d28) at ast+0x2b6 doreti_ast() at doreti_ast+0x17 Tracing command rw pid 8465 tid 100143 td 0xc77f6b80 sched_switch(c77f6b80,0,104,191,a12e6b89,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c77f6b80,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e09c29e0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e09c29e0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,100c0,0,1000,0,...) at getblk+0x167 breadn(ca2bd828,100c0,0,1000,0,...) at breadn+0x44 bread(ca2bd828,100c0,0,1000,0,...) at bread+0x4c ffs_checkblk(4000,2,c102ec9c,4,c0e84b27,...) at ffs_checkblk+0x1d6 ffs_reallocblks(ef2e0a08,c0ed9e9e,0,ca4e115c,ca233228,...) at ffs_reallocblks+0xc59 VOP_REALLOCBLKS_APV(c0fbb100,ef2e0a08,0,4000,0,...) at VOP_REALLOCBLKS_APV+0xd6 cluster_write(ca4e115c,e0893bc0,78000,0,79,...) at cluster_write+0x3c2 ffs_write(ef2e0b94,c0eda9b1,ca4e115c,0,ca4e115c,...) at ffs_write+0x51b VOP_WRITE_APV(c0fbb100,ef2e0b94,ca4e115c,264,0,...) at VOP_WRITE_APV+0x136 vn_write(c7498d90,ef2e0c28,c7c1e500,0,c77f6b80,...) at vn_write+0x1ca dofilewrite(ef2e0c28,ffffffff,ffffffff,0,c7498d90,...) at dofilewrite+0x95 kern_writev(c77f6b80,4,ef2e0c28,ef2e0c48,1,...) at kern_writev+0x58 write(c77f6b80,ef2e0cec,ef2e0d28,c0e8c5de,0,...) at write+0x4f syscallenter(c77f6b80,ef2e0ce4,ef2e0ce4,0,c101f300,...) at syscallenter+0x263 syscall(ef2e0d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (4, FreeBSD ELF32, write), eip = 0x28195623, esp = 0xbfbfd68c, ebp = 0xbfbfe748 --- Tracing command rw pid 8464 tid 100291 td 0xca8dc000 sched_switch(ca8dc000,0,104,191,ad4034a6,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(ca8dc000,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e08a5bc0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e08a5bc0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,200c0,0,1000,0,...) at getblk+0x167 breadn(ca2bd828,200c0,0,1000,0,...) at breadn+0x44 bread(ca2bd828,200c0,0,1000,0,...) at bread+0x4c ffs_alloccg(cad349f8,2,8008,0,1000,...) at ffs_alloccg+0x123 ffs_hashalloc(8008,0,1000,1000,c0bb3010,...) at ffs_hashalloc+0x85 ffs_alloc(cad349f8,0,0,8008,0,...) at ffs_alloc+0x2ef ffs_balloc_ufs2(c9d6ad98,0,0,1000,c7c1e500,...) at ffs_balloc_ufs2+0x110c ffs_write(ef506b94,c0eda9b1,c9d6ad98,0,c9d6ad98,...) at ffs_write+0x2ad VOP_WRITE_APV(c0fbb100,ef506b94,c9d6ad98,264,0,...) at VOP_WRITE_APV+0x136 vn_write(c7c1f0a8,ef506c28,c7c1e500,0,ca8dc000,...) at vn_write+0x1ca dofilewrite(ef506c28,ffffffff,ffffffff,0,c7c1f0a8,...) at dofilewrite+0x95 kern_writev(ca8dc000,4,ef506c28,ef506c48,1,...) at kern_writev+0x58 write(ca8dc000,ef506cec,ef506d28,c0e8c5de,0,...) at write+0x4f syscallenter(ca8dc000,ef506ce4,ef506ce4,0,c101f980,...) at syscallenter+0x263 syscall(ef506d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (4, FreeBSD ELF32, write), eip = 0x28195623, esp = 0xbfbfd68c, ebp = 0xbfbfe748 --- Tracing command rw pid 8463 tid 100101 td 0xc77f75c0 sched_switch(c77f75c0,0,104,191,a94094ff,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c77f75c0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e08a5bc0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e08a5bc0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,200c0,0,1000,0,...) at getblk+0x167 breadn(ca2bd828,200c0,0,1000,0,...) at breadn+0x44 bread(ca2bd828,200c0,0,1000,0,...) at bread+0x4c ffs_alloccg(c98a6244,2,83d8,0,1000,...) at ffs_alloccg+0x123 ffs_hashalloc(83d8,0,1000,1000,c0bb3010,...) at ffs_hashalloc+0x85 ffs_alloc(c98a6244,1,0,83d8,0,...) at ffs_alloc+0x2ef ffs_balloc_ufs2(ca41fc3c,4000,0,1000,c7c1e500,...) at ffs_balloc_ufs2+0x110c ffs_write(ef222b94,c0eda9b1,ca41fc3c,0,ca41fc3c,...) at ffs_write+0x2ad VOP_WRITE_APV(c0fbb100,ef222b94,ca41fc3c,264,0,...) at VOP_WRITE_APV+0x136 vn_write(ca6953b8,ef222c28,c7c1e500,0,c77f75c0,...) at vn_write+0x1ca dofilewrite(ef222c28,ffffffff,ffffffff,0,ca6953b8,...) at dofilewrite+0x95 kern_writev(c77f75c0,4,ef222c28,ef222c48,1,...) at kern_writev+0x58 write(c77f75c0,ef222cec,ef222d28,c0e8c5de,0,...) at write+0x4f syscallenter(c77f75c0,ef222ce4,ef222ce4,0,c101f300,...) at syscallenter+0x263 syscall(ef222d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (4, FreeBSD ELF32, write), eip = 0x28195623, esp = 0xbfbfd68c, ebp = 0xbfbfe748 --- Tracing command rw pid 8462 tid 100085 td 0xc74225c0 sched_switch(c74225c0,0,104,191,a0806b28,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c74225c0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e09c29e0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e09c29e0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,100c0,0,1000,0,...) at getblk+0x167 breadn(ca2bd828,100c0,0,1000,0,...) at breadn+0x44 bread(ca2bd828,100c0,0,1000,0,...) at bread+0x4c ffs_alloccg(ca303570,1,5bc0,0,4000,...) at ffs_alloccg+0x123 ffs_hashalloc(5bc0,0,4000,4000,c0bb3010,...) at ffs_hashalloc+0x85 ffs_alloc(ca303570,16,0,5bc0,0,...) at ffs_alloc+0x2ef ffs_balloc_ufs2(c9f6f828,58000,0,1000,c7c1e500,...) at ffs_balloc_ufs2+0x1b5a ffs_write(ef1a9b94,c0eda9b1,c9f6f828,0,c9f6f828,...) at ffs_write+0x2ad VOP_WRITE_APV(c0fbb100,ef1a9b94,c9f6f828,264,0,...) at VOP_WRITE_APV+0x136 vn_write(c7498ab8,ef1a9c28,c7c1e500,0,c74225c0,...) at vn_write+0x1ca dofilewrite(ef1a9c28,ffffffff,ffffffff,0,c7498ab8,...) at dofilewrite+0x95 kern_writev(c74225c0,4,ef1a9c28,ef1a9c48,1,...) at kern_writev+0x58 write(c74225c0,ef1a9cec,ef1a9d28,c0e8c5de,0,...) at write+0x4f syscallenter(c74225c0,ef1a9ce4,ef1a9ce4,0,c1020000,...) at syscallenter+0x263 syscall(ef1a9d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (4, FreeBSD ELF32, write), eip = 0x28195623, esp = 0xbfbfd68c, ebp = 0xbfbfe748 --- Tracing command rw pid 8461 tid 100080 td 0xc74272e0 sched_switch(c74272e0,0,104,191,a0eca58d,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c74272e0,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(cac6946c,60,c0e7d22e,4,0,...) at sleepq_wait+0x63 __lockmgr_args(cac6946c,80100,cac694d8,0,0,...) at __lockmgr_args+0xb1f ffs_lock(ef195738,c09f279b,c0e94d17,80100,cac69414,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0fbb100,ef195738,c7427390,c0fd60c0,cac69414,...) at VOP_LOCK1_APV+0xb5 _vn_lock(cac69414,80100,c0e959b2,856,4,...) at _vn_lock+0x78 vget(cac69414,80100,c74272e0,50,0,...) at vget+0xbb vfs_hash_get(c98c487c,1c52,80000,c74272e0,ef195910,...) at vfs_hash_get+0xed ffs_vgetf(c98c487c,1c52,80000,ef195910,0,...) at ffs_vgetf+0x49 ffs_vget(c98c487c,1c52,80000,ef195910,c0bb1f30,...) at ffs_vget+0x2e ffs_valloc(ca62b570,81b0,c7c1e500,ef195910,200,...) at ffs_valloc+0x500 ufs_makeinode(ef195ba4,c0fbb600,ef195b00,ef195a5c,c0cf6425,...) at ufs_makeinode+0xc3 ufs_create(ef195b00,c0edaa7b,0,0,ef195b78,...) at ufs_create+0x30 VOP_CREATE_APV(c0fbb100,ef195b00,ef195ba4,ef195a98,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(ef195b78,ef195c2c,1b0,0,c7c1e500,...) at vn_open_cred+0x205 vn_open(ef195b78,ef195c2c,1b0,ca6951c0,0,...) at vn_open+0x3b kern_openat(c74272e0,ffffff9c,bfbfe6b8,0,602,...) at kern_openat+0x12f kern_open(c74272e0,bfbfe6b8,0,601,1b0,...) at kern_open+0x35 open(c74272e0,ef195cec,ef195d28,c0e8c5de,0,...) at open+0x30 syscallenter(c74272e0,ef195ce4,ef195ce4,0,c101f980,...) at syscallenter+0x263 syscall(ef195d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x281866a3, esp = 0xbfbfd66c, ebp = 0xbfbfd688 --- Tracing command rw pid 8460 tid 100078 td 0xc74278a0 sched_switch(c74278a0,0,104,191,c20a61a3,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c74278a0,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8bca0,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7420834,6c,c0e8ea32,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7420834,c74208bc,16c,c0e8ea32,0,...) at _sleep+0x35c kern_wait(c74278a0,210d,ef18dc44,0,0,...) at kern_wait+0xbe6 wait4(c74278a0,ef18dcec,281a9d28,1,0,...) at wait4+0x3b syscallenter(c74278a0,ef18dce4,c0cd350d,c1010d70,0,...) at syscallenter+0x263 syscall(ef18dd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2810493b, esp = 0xbfbfe72c, ebp = 0xbfbfe748 --- Tracing command swap pid 8458 tid 100269 td 0xca7fe000 sched_switch(ca7fe000,0,104,191,7f45d049,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(ca7fe000,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7830,ca7fe000,2,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012684,6c,c0e87a97,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012684,0,16c,c0e87a97,3e9,...) at _sleep+0x328 kern_nanosleep(ca7fe000,ef4bac34,ef4bac3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(ca7fe000,ef4bacec,ef4bad28,c0e8c5de,0,...) at nanosleep+0x6f syscallenter(ca7fe000,ef4bace4,ef4bace4,0,0,...) at syscallenter+0x263 syscall(ef4bad28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b77, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command rename pid 8457 tid 100194 td 0xca467000 sched_switch(ca467000,0,104,191,86c8dae8,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(ca467000,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7830,ca467000,2,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012684,6c,c0e87a97,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012684,0,16c,c0e87a97,3e9,...) at _sleep+0x328 kern_nanosleep(ca467000,ef3a6c34,ef3a6c3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(ca467000,ef3a6cec,ef3a6d28,c0e8c5de,0,...) at nanosleep+0x6f syscallenter(ca467000,ef3a6ce4,ef3a6ce4,0,0,...) at syscallenter+0x263 syscall(ef3a6d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b77, esp = 0xbfbfe70c, ebp = 0xbfbfe738 --- Tracing command mkdir pid 8456 tid 100242 td 0xca6ca000 sched_switch(ca6ca000,0,104,191,947992c5,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(ca6ca000,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7830,ca6ca000,3,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012684,6c,c0e87a97,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012684,0,16c,c0e87a97,3e9,...) at _sleep+0x328 kern_nanosleep(ca6ca000,ef457c34,ef457c3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(ca6ca000,ef457cec,ef457d28,c0e8c5de,0,...) at nanosleep+0x6f syscallenter(ca6ca000,ef457ce4,ef457ce4,0,0,...) at syscallenter+0x263 syscall(ef457d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b77, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command creat pid 8455 tid 100318 td 0xc7a968a0 sched_switch(c7a968a0,0,104,191,97e435e1,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7a968a0,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7830,c7a968a0,1,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012684,6c,c0e87a97,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012684,0,16c,c0e87a97,3e9,...) at _sleep+0x328 kern_nanosleep(c7a968a0,ef56bc34,ef56bc3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c7a968a0,ef56bcec,ef56bd28,c0e8c5de,0,...) at nanosleep+0x6f syscallenter(c7a968a0,ef56bce4,ef56bce4,0,0,...) at syscallenter+0x263 syscall(ef56bd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b77, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command lockf pid 8454 tid 100150 td 0xc77e25c0 sched_switch(c77e25c0,0,104,191,94ea3c0b,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c77e25c0,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7830,c77e25c0,2,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012684,6c,c0e87a97,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012684,0,16c,c0e87a97,3e9,...) at _sleep+0x328 kern_nanosleep(c77e25c0,ef2f5c34,ef2f5c3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c77e25c0,ef2f5cec,ef2f5d28,c0e8c5de,0,...) at nanosleep+0x6f syscallenter(c77e25c0,ef2f5ce4,ef2f5ce4,0,0,...) at syscallenter+0x263 syscall(ef2f5d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b77, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command fts pid 8452 tid 100253 td 0xca667b80 sched_switch(ca667b80,0,104,191,730a9038,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(ca667b80,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7830,ca667b80,2,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012684,6c,c0e87a97,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012684,0,16c,c0e87a97,3e9,...) at _sleep+0x328 kern_nanosleep(ca667b80,ef478c34,ef478c3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(ca667b80,ef478cec,ef478d28,c0e8c5de,0,...) at nanosleep+0x6f syscallenter(ca667b80,ef478ce4,ef478ce4,0,0,...) at syscallenter+0x263 syscall(ef478d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28178b77, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command rw pid 8451 tid 100081 td 0xc7427000 sched_switch(c7427000,0,104,191,7f671322,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7427000,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7830,c7427000,0,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012684,6c,c0e87a97,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012684,0,16c,c0e87a97,3e9,...) at _sleep+0x328 kern_nanosleep(c7427000,ef199c34,ef199c3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c7427000,ef199cec,ef199d28,c0e8c5de,0,...) at nanosleep+0x6f syscallenter(c7427000,ef199ce4,ef199ce4,0,0,...) at syscallenter+0x263 syscall(ef199d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b77, esp = 0xbfbfe71c, ebp = 0xbfbfe748 --- Tracing command openat pid 8450 tid 100343 td 0xc7b362e0 sched_switch(c7b362e0,0,104,191,7b40d43c,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7b362e0,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7830,c7b362e0,0,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012684,6c,c0e87a97,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012684,0,16c,c0e87a97,3e9,...) at _sleep+0x328 kern_nanosleep(c7b362e0,ef5bac34,ef5bac3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c7b362e0,ef5bacec,ef5bad28,c0e8c5de,0,...) at nanosleep+0x6f syscallenter(c7b362e0,ef5bace4,ef5bace4,0,0,...) at syscallenter+0x263 syscall(ef5bad28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b77, esp = 0xbfbfe70c, ebp = 0xbfbfe738 --- Tracing command lockf2 pid 8448 tid 100165 td 0xc7fd28a0 sched_switch(c7fd28a0,0,104,191,85ffd192,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7fd28a0,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7830,c7fd28a0,1,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012684,6c,c0e87a97,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012684,0,16c,c0e87a97,3e9,...) at _sleep+0x328 kern_nanosleep(c7fd28a0,ef322c34,ef322c3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c7fd28a0,ef322cec,ef322d28,c0e8c5de,0,...) at nanosleep+0x6f syscallenter(c7fd28a0,ef322ce4,ef322ce4,0,0,...) at syscallenter+0x263 syscall(ef322d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28179b77, esp = 0xbfbfe70c, ebp = 0xbfbfe738 --- Tracing command run pid 7215 tid 100243 td 0xca6c9b80 sched_switch(ca6c9b80,0,104,191,c312683d,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(ca6c9b80,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8bca0,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(ca6c4578,6c,c0e8ea32,100,0,...) at sleepq_wait_sig+0x17 _sleep(ca6c4578,ca6c4600,16c,c0e8ea32,0,...) at _sleep+0x35c kern_wait(ca6c9b80,2100,ef45ac44,0,0,...) at kern_wait+0xbe6 wait4(ca6c9b80,ef45acec,bfbfe0f8,1,0,...) at wait4+0x3b syscallenter(ca6c9b80,ef45ace4,c0cd350d,c1010d70,0,...) at syscallenter+0x263 syscall(ef45ad28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x2810393b, esp = 0xbfbfe0cc, ebp = 0xbfbfe0e8 --- Tracing command run pid 7214 tid 100103 td 0xc77e15c0 Tracing command run pid 7213 tid 100228 td 0xca6665c0 sched_switch(ca6665c0,0,104,191,68af66e9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(ca6665c0,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(3e9,c09e7830,ca6665c0,3,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012684,6c,c0e87a97,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012684,0,16c,c0e87a97,3e9,...) at _sleep+0x328 kern_nanosleep(ca6665c0,ef412c34,ef412c3c,1,0,...) at kern_nanosleep+0xc1 nanosleep(ca6665c0,ef412cec,ef412d28,c0e8c5de,0,...) at nanosleep+0x6f syscallenter(ca6665c0,ef412ce4,ef412ce4,0,0,...) at syscallenter+0x263 syscall(ef412d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28178b77, esp = 0xbfbfe5dc, ebp = 0xbfbfe608 --- Tracing command sh pid 7208 tid 100135 td 0xc77f8b80 Tracing command bash pid 7207 tid 100187 td 0xc77dc2e0 Tracing command su pid 7206 tid 100199 td 0xc7eec5c0 Tracing command md5 pid 7199 tid 100234 td 0xca6642e0 sched_switch(ca6642e0,0,104,191,ad52063b,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,5c,...) at mi_switch+0x219 sleepq_switch(ca6642e0,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(ca594800,5c,c0e325b1,0,0,...) at sleepq_wait+0x63 _sleep(ca594800,ca594820,25c,c0e325b1,0,...) at _sleep+0x372 md_kthread(ca594800,ef43fd28,c0e80e8c,390,ca6c62bc,...) at md_kthread+0x11a fork_exit(c0727800,ca594800,ef43fd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xef43fd60, ebp = 0 --- Tracing command sh pid 7186 tid 100138 td 0xc7eee2e0 Tracing command kgdb pid 3599 tid 100206 td 0xca4652e0 sched_switch(ca4652e0,0,104,191,9a710c92,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(ca4652e0,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0998cca,c77dfe50,0,c0e84b27,ca4652e0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c77dfe64,0,ef3d0aa4,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c77dfe64,c77dfe50,c0e8e2a5,627,ef3d0b34,...) at _cv_wait_sig+0x243 seltdwait(c78b532c,c0e8e2a5,535,ca4652e0,ef3d0b2c,...) at seltdwait+0xa2 poll(ca4652e0,ef3d0cec,ef3d0d28,c0e8c5de,0,...) at poll+0x300 syscallenter(ca4652e0,ef3d0ce4,ef3d0ce4,0,0,...) at syscallenter+0x263 syscall(ef3d0d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (209, FreeBSD ELF32, poll), eip = 0x283d67ab, esp = 0xbfbfdd3c, ebp = 0xbfbfdd78 --- Tracing command bash pid 3595 tid 100168 td 0xc7fc58a0 Tracing command csh pid 3591 tid 100145 td 0xc77f65c0 Tracing command su pid 3590 tid 100215 td 0xc9b9c2e0 Tracing command bash pid 3585 tid 100173 td 0xc7fd15c0 Tracing command sshd pid 3584 tid 100091 td 0xc77e18a0 sched_switch(c77e18a0,0,104,191,9a722590,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c77e18a0,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0998cca,ca3db090,0,c0e84b27,c77e18a0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(ca3db0a4,0,ef1efa4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(ca3db0a4,ca3db090,c0e8e2a5,627,c7498428,...) at _cv_wait_sig+0x243 seltdwait(c7498428,58,c98c0600,c77e18a0,246,...) at seltdwait+0xa2 kern_select(c77e18a0,c,288060b4,288060bc,0,0,20,c77db578,c77db578) at kern_select+0x504 select(c77e18a0,ef1efcec,ef1efd28,c0e8c5de,0,...) at select+0x66 syscallenter(c77e18a0,ef1efce4,ef1efce4,0,c101f980,...) at syscallenter+0x263 syscall(ef1efd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x284c45c3, esp = 0xbfbfe19c, ebp = 0xbfbfe1e8 --- Tracing command sshd pid 3582 tid 100217 td 0xc9b9ab80 Tracing command crypto returns pid 3225 tid 100159 td 0xc7eec8a0 sched_switch(c7eec8a0,0,104,191,e4488827,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7eec8a0,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(ca5d7bcc,6c,ca5d5c74,0,0,...) at sleepq_wait+0x63 _sleep(ca5d7bcc,ca5d7bdc,6c,ca5d5c74,0,...) at _sleep+0x372 crypto_ret_proc(0,ef310d28,c0e80e8c,390,c7ee52bc,...) at crypto_ret_proc+0x18e fork_exit(ca5b9300,0,ef310d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xef310d60, ebp = 0 --- Tracing command crypto pid 3224 tid 100111 td 0xc7482000 sched_switch(c7482000,0,104,191,e447d88e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7482000,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(ca5d7ba8,6c,ca5d5ec3,0,0,...) at sleepq_wait+0x63 _sleep(ca5d7ba8,ca5d7bb8,6c,ca5d5ec3,0,...) at _sleep+0x372 crypto_proc(0,ef268d28,c0e80e8c,390,c7c112bc,...) at crypto_proc+0x1b0 fork_exit(ca5ba6c0,0,ef268d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xef268d60, ebp = 0 --- Tracing command sh pid 2544 tid 100164 td 0xc7fd2b80 Tracing command sh pid 2543 tid 100082 td 0xc7422b80 Tracing command bash pid 2364 tid 100077 td 0xc7427b80 Tracing command csh pid 2360 tid 100140 td 0xc7eedb80 Tracing command su pid 2359 tid 100084 td 0xc74228a0 Tracing command bash pid 2354 tid 100156 td 0xc7fc85c0 Tracing command sshd pid 2353 tid 100158 td 0xc7fd38a0 sched_switch(c7fd38a0,0,104,191,e85a868,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7fd38a0,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0998cca,c7425010,0,c0e84b27,c7fd38a0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7425024,0,ef30da4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7425024,c7425010,c0e8e2a5,627,c77443f0,...) at _cv_wait_sig+0x243 seltdwait(c77443f0,58,c7495400,c7fd38a0,246,...) at seltdwait+0xa2 kern_select(c7fd38a0,c,288060b4,288060bc,0,0,20,c7fd0000,c7fd0000) at kern_select+0x504 select(c7fd38a0,ef30dcec,ef30dd28,c0e8c5de,0,...) at select+0x66 syscallenter(c7fd38a0,ef30dce4,ef30dce4,0,0,...) at syscallenter+0x263 syscall(ef30dd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x284c45c3, esp = 0xbfbfe19c, ebp = 0xbfbfe1e8 --- Tracing command sshd pid 2351 tid 100137 td 0xc77f85c0 Tracing command getty pid 2276 tid 100144 td 0xc77f68a0 sched_switch(c77f68a0,0,104,191,9d14b016,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c77f68a0,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8bca0,160,0,c77f68a0,c77f68a0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7182070,0,c0e90972,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7182070,c1010d70,c0e90310,514,0,...) at _cv_wait_sig+0x243 tty_wait(c7182000,c7182070,ef2e3c28,1,0,...) at tty_wait+0x71 ttydisc_read(c7182000,ef2e3c28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717b800,ef2e3c28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c74336c8,ef2e3c28,c6d9ee80,0,c77f68a0,...) at devfs_read_f+0x7e dofileread(ef2e3c28,ffffffff,ffffffff,0,c74336c8,...) at dofileread+0x9e kern_readv(c77f68a0,0,ef2e3c28,ef2e3c48,1,...) at kern_readv+0x58 read(c77f68a0,ef2e3cec,ef2e3d28,c0e8c5de,0,...) at read+0x4f syscallenter(c77f68a0,ef2e3ce4,ef2e3ce4,0,0,...) at syscallenter+0x263 syscall(ef2e3d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196643, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2275 tid 100132 td 0xc7c915c0 sched_switch(c7c915c0,0,104,191,9d3e2787,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7c915c0,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8bca0,160,0,c7c915c0,c7c915c0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7182270,0,c0e90972,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7182270,c1010d70,c0e90310,514,0,...) at _cv_wait_sig+0x243 tty_wait(c7182200,c7182270,ef2bfc28,1,0,...) at tty_wait+0x71 ttydisc_read(c7182200,ef2bfc28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717b900,ef2bfc28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c7c1fab8,ef2bfc28,c6d9ee80,0,c7c915c0,...) at devfs_read_f+0x7e dofileread(ef2bfc28,ffffffff,ffffffff,0,c7c1fab8,...) at dofileread+0x9e kern_readv(c7c915c0,0,ef2bfc28,ef2bfc48,1,...) at kern_readv+0x58 read(c7c915c0,ef2bfcec,ef2bfd28,c0e8c5de,0,...) at read+0x4f syscallenter(c7c915c0,ef2bfce4,ef2bfce4,0,0,...) at syscallenter+0x263 syscall(ef2bfd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196643, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2274 tid 100146 td 0xc77f62e0 sched_switch(c77f62e0,0,104,191,9d1e0823,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c77f62e0,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8bca0,160,0,c77f62e0,c77f62e0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7182470,0,c0e90972,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7182470,c1010d70,c0e90310,514,0,...) at _cv_wait_sig+0x243 tty_wait(c7182400,c7182470,ef2e9c28,1,0,...) at tty_wait+0x71 ttydisc_read(c7182400,ef2e9c28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717ba00,ef2e9c28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c7498070,ef2e9c28,c6d9ee80,0,c77f62e0,...) at devfs_read_f+0x7e dofileread(ef2e9c28,ffffffff,ffffffff,0,c7498070,...) at dofileread+0x9e kern_readv(c77f62e0,0,ef2e9c28,ef2e9c48,1,...) at kern_readv+0x58 read(c77f62e0,ef2e9cec,ef2e9d28,c0e8c5de,0,...) at read+0x4f syscallenter(c77f62e0,ef2e9ce4,ef2e9ce4,0,0,...) at syscallenter+0x263 syscall(ef2e9d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196643, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2273 tid 100147 td 0xc77f6000 sched_switch(c77f6000,0,104,191,9d296f4e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c77f6000,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8bca0,160,0,c77f6000,c77f6000,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6f52070,0,c0e90972,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c6f52070,c1010d70,c0e90310,514,0,...) at _cv_wait_sig+0x243 tty_wait(c6f52000,c6f52070,ef2ecc28,1,0,...) at tty_wait+0x71 ttydisc_read(c6f52000,ef2ecc28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717bb00,ef2ecc28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c78dc2d8,ef2ecc28,c6d9ee80,0,c77f6000,...) at devfs_read_f+0x7e dofileread(ef2ecc28,ffffffff,ffffffff,0,c78dc2d8,...) at dofileread+0x9e kern_readv(c77f6000,0,ef2ecc28,ef2ecc48,1,...) at kern_readv+0x58 read(c77f6000,ef2eccec,ef2ecd28,c0e8c5de,0,...) at read+0x4f syscallenter(c77f6000,ef2ecce4,ef2ecce4,0,0,...) at syscallenter+0x263 syscall(ef2ecd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196643, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2272 tid 100148 td 0xc77e2b80 sched_switch(c77e2b80,0,104,191,9d475a03,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c77e2b80,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8bca0,160,0,c77e2b80,c77e2b80,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6f52270,0,c0e90972,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c6f52270,c1010d70,c0e90310,514,0,...) at _cv_wait_sig+0x243 tty_wait(c6f52200,c6f52270,ef2efc28,1,0,...) at tty_wait+0x71 ttydisc_read(c6f52200,ef2efc28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717bc00,ef2efc28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c74348f8,ef2efc28,c6d9ee80,0,c77e2b80,...) at devfs_read_f+0x7e dofileread(ef2efc28,ffffffff,ffffffff,0,c74348f8,...) at dofileread+0x9e kern_readv(c77e2b80,0,ef2efc28,ef2efc48,1,...) at kern_readv+0x58 read(c77e2b80,ef2efcec,ef2efd28,c0e8c5de,0,...) at read+0x4f syscallenter(c77e2b80,ef2efce4,ef2efce4,0,0,...) at syscallenter+0x263 syscall(ef2efd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196643, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2271 tid 100149 td 0xc77e28a0 sched_switch(c77e28a0,0,104,191,9d309e2e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c77e28a0,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8bca0,160,0,c77e28a0,c77e28a0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6f52470,0,c0e90972,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c6f52470,c1010d70,c0e90310,514,0,...) at _cv_wait_sig+0x243 tty_wait(c6f52400,c6f52470,ef2f2c28,1,0,...) at tty_wait+0x71 ttydisc_read(c6f52400,ef2f2c28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717bd00,ef2f2c28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c78dc150,ef2f2c28,c6d9ee80,0,c77e28a0,...) at devfs_read_f+0x7e dofileread(ef2f2c28,ffffffff,ffffffff,0,c78dc150,...) at dofileread+0x9e kern_readv(c77e28a0,0,ef2f2c28,ef2f2c48,1,...) at kern_readv+0x58 read(c77e28a0,ef2f2cec,ef2f2d28,c0e8c5de,0,...) at read+0x4f syscallenter(c77e28a0,ef2f2ce4,ef2f2ce4,0,0,...) at syscallenter+0x263 syscall(ef2f2d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196643, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2270 tid 100116 td 0xc7480000 sched_switch(c7480000,0,104,191,9d377abd,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7480000,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8bca0,160,0,c7480000,c7480000,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6f52670,0,c0e90972,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c6f52670,c1010d70,c0e90310,514,0,...) at _cv_wait_sig+0x243 tty_wait(c6f52600,c6f52670,ef277c28,1,0,...) at tty_wait+0x71 ttydisc_read(c6f52600,ef277c28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717be00,ef277c28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c74981c0,ef277c28,c6d9ee80,0,c7480000,...) at devfs_read_f+0x7e dofileread(ef277c28,ffffffff,ffffffff,0,c74981c0,...) at dofileread+0x9e kern_readv(c7480000,0,ef277c28,ef277c48,1,...) at kern_readv+0x58 read(c7480000,ef277cec,ef277d28,c0e8c5de,0,...) at read+0x4f syscallenter(c7480000,ef277ce4,ef277ce4,0,0,...) at syscallenter+0x263 syscall(ef277d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196643, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2269 tid 100155 td 0xc77e22e0 sched_switch(c77e22e0,0,104,191,9d594072,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c77e22e0,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8bca0,160,0,c77e22e0,c77e22e0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6f52870,0,c0e90972,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c6f52870,c1010d70,c0e90310,514,0,...) at _cv_wait_sig+0x243 tty_wait(c6f52800,c6f52870,ef304c28,1,0,...) at tty_wait+0x71 ttydisc_read(c6f52800,ef304c28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c717c000,ef304c28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c7498230,ef304c28,c6d9ee80,0,c77e22e0,...) at devfs_read_f+0x7e dofileread(ef304c28,ffffffff,ffffffff,0,c7498230,...) at dofileread+0x9e kern_readv(c77e22e0,0,ef304c28,ef304c48,1,...) at kern_readv+0x58 read(c77e22e0,ef304cec,ef304d28,c0e8c5de,0,...) at read+0x4f syscallenter(c77e22e0,ef304ce4,ef304ce4,0,0,...) at syscallenter+0x263 syscall(ef304d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196643, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command getty pid 2268 tid 100127 td 0xc7c925c0 sched_switch(c7c925c0,0,104,191,1d91e579,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7c925c0,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0998cca,c6f52a04,0,c0e84b27,c7c925c0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6f52a70,0,ef2b0ad8,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c6f52a70,c6f52a04,c0e90310,514,0,...) at _cv_wait_sig+0x243 tty_wait(c6f52a00,c6f52a70,ef2b0c28,1,0,...) at tty_wait+0x71 ttydisc_read(c6f52a00,ef2b0c28,0,9f,0,...) at ttydisc_read+0x22c ttydev_read(c6da2800,ef2b0c28,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c78dc770,ef2b0c28,c6d9ee80,0,c7c925c0,...) at devfs_read_f+0x7e dofileread(ef2b0c28,ffffffff,ffffffff,0,c78dc770,...) at dofileread+0x9e kern_readv(c7c925c0,0,ef2b0c28,ef2b0c48,1,...) at kern_readv+0x58 read(c7c925c0,ef2b0cec,ef2b0d28,c0e8c5de,0,...) at read+0x4f syscallenter(c7c925c0,ef2b0ce4,ef2b0ce4,0,0,...) at syscallenter+0x263 syscall(ef2b0d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, read), eip = 0x28196643, esp = 0xbfbfed8c, ebp = 0xbfbfedb8 --- Tracing command inetd pid 2220 tid 100113 td 0xc74808a0 sched_switch(c74808a0,0,104,191,6e87b1d1,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c74808a0,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0998cca,c7425250,0,c0e84b27,c74808a0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7425264,0,ef26ea4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7425264,c7425250,c0e8e2a5,627,c7434888,...) at _cv_wait_sig+0x243 seltdwait(c7434888,58,c6d9ee80,c74808a0,c7480950,...) at seltdwait+0xa2 kern_select(c74808a0,6,bfbfdfa0,0,0,0,20,c7c10af0,c7c10af0) at kern_select+0x504 select(c74808a0,ef26ecec,ef26ed28,c0e8c5de,0,...) at select+0x66 syscallenter(c74808a0,ef26ece4,ef26ece4,0,0,...) at syscallenter+0x263 syscall(ef26ed28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x281a85c3, esp = 0xbfbfdf5c, ebp = 0xbfbfede8 --- Tracing command watchdogd pid 2194 tid 100131 td 0xc7c918a0 sched_switch(c7c918a0,0,104,191,5241e29e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7c918a0,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(ea61,c09e7830,c7c918a0,1,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012684,6c,c0e87a97,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012684,0,16c,c0e87a97,ea61,...) at _sleep+0x328 kern_nanosleep(c7c918a0,ef2bcc34,ef2bcc3c,3c,0,...) at kern_nanosleep+0xc1 nanosleep(c7c918a0,ef2bccec,ef2bcd28,c0e8c5de,0,...) at nanosleep+0x6f syscallenter(c7c918a0,ef2bcce4,ef2bcce4,0,0,...) at syscallenter+0x263 syscall(ef2bcd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28191b77, esp = 0xbfbfecbc, ebp = 0xbfbfece8 --- Tracing command cron pid 2167 tid 100129 td 0xc7c92000 sched_switch(c7c92000,0,104,191,da32cb0b,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c7c92000,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(ea61,c09e7830,c7c92000,1,100,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c1012684,6c,c0e87a97,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c1012684,0,16c,c0e87a97,ea61,...) at _sleep+0x328 kern_nanosleep(c7c92000,ef2b6c34,ef2b6c3c,3c,0,...) at kern_nanosleep+0xc1 nanosleep(c7c92000,ef2b6cec,ef2b6d28,c0e8c5de,0,...) at nanosleep+0x6f syscallenter(c7c92000,ef2b6ce4,ef2b6ce4,0,0,...) at syscallenter+0x263 syscall(ef2b6d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x28184b77, esp = 0xbfbfec4c, ebp = 0xbfbfec78 --- Tracing command sendmail pid 2159 tid 100134 td 0xc7c91000 Tracing command sendmail pid 2153 tid 100114 td 0xc74805c0 sched_switch(c74805c0,0,104,191,aa5ca149,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c74805c0,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(ef271a14,c0998cca,c7425710,0,c74805c0,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c7425724,0,ef271a4c,101,0,...) at sleepq_timedwait_sig+0x1a _cv_timedwait_sig(c7425724,c7425710,1389,627,c74338c0,...) at _cv_timedwait_sig+0x252 seltdwait(ef271bf8,ef271c00,c715b580,c74805c0,ef271af8,...) at seltdwait+0x8a kern_select(c74805c0,5,bfbfc510,0,0,ef271c40,20,5,0) at kern_select+0x504 select(c74805c0,ef271cec,ef271d28,c0e8c5de,0,...) at select+0x66 syscallenter(c74805c0,ef271ce4,ef271ce4,0,0,...) at syscallenter+0x263 syscall(ef271d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x283e05c3, esp = 0xbfbfc47c, ebp = 0xbfbfcfa8 --- Tracing command sshd pid 2145 tid 100126 td 0xc7c928a0 sched_switch(c7c928a0,0,104,191,d25aaeaa,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7c928a0,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0998cca,c7426450,0,c0e84b27,c7c928a0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7426464,0,ef2ada4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7426464,c7426450,c0e8e2a5,627,c7498268,...) at _cv_wait_sig+0x243 seltdwait(c7498268,58,c7c1e180,c7c928a0,f33,...) at seltdwait+0xa2 kern_select(c7c928a0,5,288cc0b4,0,0,0,20,c7cd7af0,c7cd7af0) at kern_select+0x504 select(c7c928a0,ef2adcec,ef2adc7c,c09988a4,0,...) at select+0x66 syscallenter(c7c928a0,ef2adce4,c0ed5ca8,f4,0,...) at syscallenter+0x263 syscall(ef2add28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x284c45c3, esp = 0xbfbfe25c, ebp = 0xbfbfedf8 --- Tracing command moused pid 2085 tid 100136 td 0xc77f88a0 sched_switch(c77f88a0,0,104,191,8ab270ce,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c77f88a0,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0998cca,c7426490,0,c0e84b27,c77f88a0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c74264a4,0,ef2cba4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c74264a4,c7426490,c0e8e2a5,627,c74980a8,...) at _cv_wait_sig+0x243 seltdwait(c74980a8,58,c6d9ee80,c77f88a0,14,...) at seltdwait+0xa2 kern_select(c77f88a0,6,bfbfea04,0,0,0,20,c7c11af0,c7c11af0) at kern_select+0x504 select(c77f88a0,ef2cbcec,ef2cbd28,c0e8c5de,0,...) at select+0x66 syscallenter(c77f88a0,ef2cbce4,ef2cbce4,0,0,...) at syscallenter+0x263 syscall(ef2cbd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x281b35c3, esp = 0xbfbfe99c, ebp = 0xbfbfeb28 --- Tracing command ntpd pid 2025 tid 100120 td 0xc747f2e0 sched_switch(c747f2e0,0,104,191,5a240d5f,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c747f2e0,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0998cca,c73c1890,0,c0e84b27,c747f2e0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c73c18a4,0,ef283a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c73c18a4,c73c1890,c0e8e2a5,627,c7434428,...) at _cv_wait_sig+0x243 seltdwait(c7434428,58,c6d9ee80,c747f2e0,0,...) at seltdwait+0xa2 kern_select(c747f2e0,1c,bfbfece8,0,0,0,20,c77f1578,c77f1578) at kern_select+0x504 select(c747f2e0,ef283cec,ef283d80,ef283c88,0,...) at select+0x66 syscallenter(c747f2e0,ef283ce4,c0cd31c6,fffffffe,246,...) at syscallenter+0x263 syscall(ef283d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x283625c3, esp = 0xbfbfecbc, ebp = 0xbfbfed88 --- Tracing command nfsd pid 1909 tid 100124 td 0xc7c93000 sched_switch(c7c93000,0,104,191,36b36d66,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7c93000,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(ef2a7be0,c0998cca,c7196e80,0,c7c93000,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c6f7f310,0,ef2a7c18,101,0,...) at sleepq_timedwait_sig+0x1a _cv_timedwait_sig(c6f7f310,c7196e80,1388,3b1,0,...) at _cv_timedwait_sig+0x252 svc_run_internal(ef2a7d14,c097bf88,c7196e80,ef2a7d28,c0e80e8c,...) at svc_run_internal+0x356 svc_thread_start(c7196e80,ef2a7d28,c0e80e8c,390,c77f0834,...) at svc_thread_start+0x10 fork_exit(c0b8b360,c7196e80,ef2a7d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0x804c12e, eip = 0xc, esp = 0x33, ebp = 0x1 --- Tracing command nfsd pid 1909 tid 100123 td 0xc7c932e0 sched_switch(c7c932e0,0,104,191,b11b8c81,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7c932e0,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(ef2a4be0,c0998cca,c7196e80,0,c7c932e0,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c6f7f2d0,0,ef2a4c18,101,0,...) at sleepq_timedwait_sig+0x1a _cv_timedwait_sig(c6f7f2d0,c7196e80,1388,3b1,947d3d24,...) at _cv_timedwait_sig+0x252 svc_run_internal(ef2a4d14,c097bf88,c7196e80,ef2a4d28,c0e80e8c,...) at svc_run_internal+0x356 svc_thread_start(c7196e80,ef2a4d28,c0e80e8c,390,c77f0834,...) at svc_thread_start+0x10 fork_exit(c0b8b360,c7196e80,ef2a4d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0x804c12e, eip = 0xc, esp = 0x33, ebp = 0x1 --- Tracing command nfsd pid 1909 tid 100122 td 0xc7c935c0 sched_switch(c7c935c0,0,104,191,bcedaf34,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7c935c0,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(ef2a1be0,c0998cca,c7196e80,0,c7c935c0,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c7c95850,0,ef2a1c18,101,0,...) at sleepq_timedwait_sig+0x1a _cv_timedwait_sig(c7c95850,c7196e80,1388,3b1,0,...) at _cv_timedwait_sig+0x252 svc_run_internal(ef2a1d14,c097bf88,c7196e80,ef2a1d28,c0e80e8c,...) at svc_run_internal+0x356 svc_thread_start(c7196e80,ef2a1d28,c0e80e8c,390,c77f0834,...) at svc_thread_start+0x10 fork_exit(c0b8b360,c7196e80,ef2a1d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0x804c12e, eip = 0xc, esp = 0x33, ebp = 0x1 --- Tracing command nfsd pid 1909 tid 100094 td 0xc71728a0 sched_switch(c71728a0,0,104,191,ba065eb3,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c71728a0,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(ef2085b4,c0998cca,c7196e80,0,c71728a0,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c6f7f490,0,ef2085ec,101,0,...) at sleepq_timedwait_sig+0x1a _cv_timedwait_sig(c6f7f490,c7196e80,1388,3b1,ef208634,...) at _cv_timedwait_sig+0x252 svc_run_internal(c7172a50,14,c0eb485a,c0e78c1b,ef2087f4,...) at svc_run_internal+0x356 svc_run(c7196e80,0,c0e78bf6,19d,ef208c38,...) at svc_run+0x7b nfsrvd_nfsd(c71728a0,ef2087f4,c,c118f680,ef208720,...) at nfsrvd_nfsd+0x8e nfssvc_nfsd(c71728a0,ef208cec,c77f0834,0,ef208c7c,...) at nfssvc_nfsd+0x167 nfssvc(c71728a0,ef208cec,ef208d28,c0e8c5de,0,...) at nfssvc+0xeb syscallenter(c71728a0,ef208ce4,ef208ce4,0,0,...) at syscallenter+0x263 syscall(ef208d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (155, FreeBSD ELF32, nfssvc), eip = 0x280dd85b, esp = 0xbfbfe82c, ebp = 0xbfbfea98 --- Tracing command nfsd pid 1908 tid 100096 td 0xc71722e0 sched_switch(c71722e0,0,104,191,a1273c90,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c71722e0,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0998cca,c7425790,0,c0e84b27,c71722e0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c74257a4,0,ef210a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c74257a4,c7425790,c0e8e2a5,627,c78dc188,...) at _cv_wait_sig+0x243 seltdwait(c78dc188,58,c6d9ee80,c71722e0,f33,...) at seltdwait+0xa2 kern_select(c71722e0,7,bfbfecb4,0,0,0,20,c77f02bc,c77f02bc) at kern_select+0x504 select(c71722e0,ef210cec,bfbffff4,1,0,...) at select+0x66 syscallenter(c71722e0,ef210ce4,c0cd350d,c1010d70,0,...) at syscallenter+0x263 syscall(ef210d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x281845c3, esp = 0xbfbfea9c, ebp = 0xbfbfede8 --- Tracing command mountd pid 1898 tid 100119 td 0xc747f5c0 sched_switch(c747f5c0,0,104,191,a882a025,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c747f5c0,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0998cca,c74257d0,0,c0e84b27,c747f5c0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c74257e4,0,ef280a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c74257e4,c74257d0,c0e8e2a5,627,c7498b60,...) at _cv_wait_sig+0x243 seltdwait(c7498b60,58,c6d9ee80,c747f5c0,c115b7b0,...) at seltdwait+0xa2 kern_select(c747f5c0,9,bfbfed3c,0,0,0,20,c77f1834,c77f1834) at kern_select+0x504 select(c747f5c0,ef280cec,ef280d28,c0e8c5de,0,...) at select+0x66 syscallenter(c747f5c0,ef280ce4,ef280ce4,0,0,...) at syscallenter+0x263 syscall(ef280d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x2819a5c3, esp = 0xbfbfed0c, ebp = 0xbfbfedd8 --- Tracing command rpcbind pid 1799 tid 100092 td 0xc7422000 sched_switch(c7422000,0,104,191,ddc88ffc,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7422000,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(ef200a6c,c0998cca,c7426890,0,c7422000,...) at sleepq_catch_signals+0xf9 sleepq_timedwait_sig(c74268a4,0,ef200aa4,101,0,...) at sleepq_timedwait_sig+0x1a _cv_timedwait_sig(c74268a4,c7426890,7531,627,ef200b5c,...) at _cv_timedwait_sig+0x252 seltdwait(ef200c2c,ef200c34,535,c7422000,ef200b2c,...) at seltdwait+0x8a poll(c7422000,ef200cec,ef200d28,c0e8c5de,0,...) at poll+0x300 syscallenter(c7422000,ef200ce4,ef200ce4,0,0,...) at syscallenter+0x263 syscall(ef200d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (209, FreeBSD ELF32, poll), eip = 0x2813f7ab, esp = 0xbfbfcbac, ebp = 0xbfbfed78 --- Tracing command syslogd pid 1717 tid 100098 td 0xc77f8000 sched_switch(c77f8000,0,104,191,475a3b21,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c77f8000,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0998cca,c74269d0,0,c0e84b27,c77f8000,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c74269e4,0,ef218a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c74269e4,c74269d0,c0e8e2a5,627,c7434b98,...) at _cv_wait_sig+0x243 seltdwait(c7434b98,58,c6d9ee80,c77f8000,0,...) at seltdwait+0xa2 kern_select(c77f8000,9,2847f0ac,0,0,0,20,c77efaf0,c77efaf0) at kern_select+0x504 select(c77f8000,ef218cec,ef218d28,c0e8c5de,0,...) at select+0x66 syscallenter(c77f8000,ef218ce4,ef218ce4,0,246,...) at syscallenter+0x263 syscall(ef218d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (93, FreeBSD ELF32, select), eip = 0x281995c3, esp = 0xbfbfe29c, ebp = 0xbfbfede8 --- Tracing command devd pid 1516 tid 100088 td 0xc74825c0 sched_switch(c74825c0,0,104,191,a81dad97,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c74825c0,0,c0e8bca0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0998cca,c7425810,0,c0e84b27,c74825c0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7425824,0,ef1b6a4c,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c7425824,c7425810,c0e8e2a5,627,c74347a8,...) at _cv_wait_sig+0x243 seltdwait(c74347a8,58,c6d9ee80,c74825c0,c0ebdf55,...) at seltdwait+0xa2 kern_select(c74825c0,5,bfbfe960,0,0,0,20,c701e834,c701e834) at kern_select+0x504 select(c74825c0,ef1b6cec,ef1b6d28,c0e8c5de,0,...) at select+0x66 syscallenter(c74825c0,ef1b6ce4,ef1b6ce4,0,0,...) at syscallenter+0x263 syscall(ef1b6d28) 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 sched_switch(c7045b80,0,104,191,abef6edb,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c7045b80,0,c0e8bca0,268,60,...) at sleepq_switch+0x162 sleepq_wait(e09c29e0,60,c0e7ebd0,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e09c29e0,81900,ca2bd920,c0e7ebd0,60,...) at __lockmgr_args+0xb1f getblk(ca2bd828,100c0,0,1000,0,...) at getblk+0x167 breadn(ca2bd828,100c0,0,1000,0,...) at breadn+0x44 bread(ca2bd828,100c0,0,1000,0,...) at bread+0x4c ffs_blkfree_cg(4e78,0,4000,1a7b,ecf96c38,...) at ffs_blkfree_cg+0x2e2 ffs_blkfree(c773ed00,c7740800,ca2bd828,4e78,0,...) at ffs_blkfree+0x4a handle_workitem_freefrag(0,ecf96c6c,2,664,200,...) at handle_workitem_freefrag+0xe9 process_worklist_item(c118ed2c,0,c0eb905c,5ae,c7045b80,...) at process_worklist_item+0x295 softdep_process_worklist(c98c487c,0,c0eb905c,53a,3e8,...) at softdep_process_worklist+0x88 softdep_flush(0,ecf96d28,c0e80e8c,390,c73a42bc,...) at softdep_flush+0x2a0 fork_exit(c0bd8d40,0,ecf96d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xecf96d60, ebp = 0 --- Tracing command syncer pid 17 tid 100074 td 0xc7170000 sched_switch(c7170000,0,104,191,94f37e7e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7170000,0,c0e8bca0,28b,c7170000,...) at sleepq_switch+0x162 sleepq_timedwait(c1188814,0,ecf93c78,1,0,...) at sleepq_timedwait+0x6b _cv_timedwait(c1188814,c1188800,3e8,76a,4e20,...) at _cv_timedwait+0x252 sched_sync(0,ecf93d28,c0e80e8c,390,c73a4578,...) at sched_sync+0x595 fork_exit(c0a42d50,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,a8f329f7,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,60,...) at mi_switch+0x219 sleepq_switch(c71702e0,0,c0e8bca0,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c73a4834,60,c0e96924,0,0,...) at sleepq_timedwait+0x6b _sleep(c73a4834,c11887d4,260,c0e96924,3e8,...) at _sleep+0x342 vnlru_proc(0,ecf90d28,c0e80e8c,390,c73a4834,...) at vnlru_proc+0xe7 fork_exit(c0a44dc0,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,94d5666f,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,54,...) at mi_switch+0x219 sleepq_switch(c71705c0,0,c0e8bca0,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c11884a8,54,c0e93952,0,0,...) at sleepq_timedwait+0x6b _sleep(c11884a8,c11884b0,54,c0e93952,3e8,...) at _sleep+0x342 buf_daemon(0,ecf8dd28,c0e80e8c,390,c73a4af0,...) at buf_daemon+0x175 fork_exit(c0a2a4c0,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,2689a37c,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c71708a0,0,c0e8bca0,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c1190bdc,0,c0ec1a08,0,0,...) at sleepq_timedwait+0x6b _sleep(c1190bdc,c118f680,0,c0ec1a08,493e0,...) at _sleep+0x342 vm_pagezero(0,ecf8ad28,c0e80e8c,390,c73a6000,...) at vm_pagezero+0xdc fork_exit(c0c1b4c0,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,a41f452c,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,74,...) at mi_switch+0x219 sleepq_switch(c7170b80,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c11907c8,74,c0e93952,0,0,...) at sleepq_wait+0x63 _sleep(c11907c8,c11907cc,74,c0e93952,0,...) at _sleep+0x372 vm_daemon(0,ecf87d28,c0e80e8c,390,c6dbe2bc,...) at vm_daemon+0x59 fork_exit(c0c15080,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,cade3b4,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,54,...) at mi_switch+0x219 sleepq_switch(c7171000,0,c0e8bca0,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c1190790,54,c0e93952,0,0,...) at sleepq_timedwait+0x6b _sleep(c1190790,c118f680,54,c0e93952,1388,...) at _sleep+0x342 vm_pageout(0,ecf84d28,c0e80e8c,390,c6dbe578,...) at vm_pageout+0x2c7 fork_exit(c0c160a0,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,e73c5a92,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c71712e0,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c0fd7554,5c,c0cfa432,0,0,...) at sleepq_wait+0x63 _sleep(c0fd7554,c0fd7598,5c,c0cfa432,0,...) at _sleep+0x372 xpt_scanner_thread(0,ecf81d28,c0e80e8c,390,c6dbe834,...) at xpt_scanner_thread+0x47 fork_exit(c048bb80,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,50dfe741,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c71715c0,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c118a2d8,0,c0ea98ff,0,0,...) at sleepq_wait+0x63 _sleep(c118a2d8,c118a2a0,0,c0ea98ff,0,...) at _sleep+0x372 sctp_iterator_thread(0,ecf7ed28,c0e80e8c,390,c6dbeaf0,...) at sctp_iterator_thread+0x5c fork_exit(c0ad3ea0,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,9b460164,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c70362e0,0,c0e8bca0,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c6fe143c,5c,c0e79692,0,0,...) at sleepq_timedwait+0x6b _sleep(c6fe143c,c6fe14f0,5c,c0e79692,3e8,...) at _sleep+0x342 fdc_thread(c6fe1400,ecf72d28,c0e80e8c,390,c701e000,...) at fdc_thread+0x27d fork_exit(c0c9a630,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,e76c31d5,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c70368a0,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8bca0,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c706b000,6c,c0e79692,100,0,...) at sleepq_wait_sig+0x17 _sleep(c706b000,c706f488,16c,c0e79692,0,...) at _sleep+0x35c fw_bus_probe_thread(c706b000,ecf62d28,c0e80e8c,390,c701e2bc,...) at fw_bus_probe_thread+0xa08 fork_exit(c06aabc0,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,d49c799e,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70435c0,0,c0e8bca0,268,c70435c0,...) at sleepq_switch+0x162 sleepq_wait(c704bd34,0,ecf4fcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c704bd34,c704bdd4,c0e57d7e,6b,c704bd3c,...) at _cv_wait+0x243 usb_process(c704bd2c,ecf4fd28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,7ad467a9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70438a0,0,c0e8bca0,268,c70438a0,...) at sleepq_switch+0x162 sleepq_wait(c704bd04,0,ecf4ccac,1,0,...) at sleepq_wait+0x63 _cv_wait(c704bd04,c704bdd4,c0e57d7e,6b,c704bd0c,...) at _cv_wait+0x243 usb_process(c704bcfc,ecf4cd28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,d4337e1b,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7043b80,0,c0e8bca0,268,c7043b80,...) at sleepq_switch+0x162 sleepq_wait(c704bcd4,0,ecf49cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c704bcd4,c704bdd4,c0e57d7e,6b,c704bcdc,...) at _cv_wait+0x243 usb_process(c704bccc,ecf49d28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,d4336cf0,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7045000,0,c0e8bca0,268,c7045000,...) at sleepq_switch+0x162 sleepq_wait(c704bca4,0,ecf46cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c704bca4,c704bdd4,c0e57d7e,6b,c704bcac,...) at _cv_wait+0x243 usb_process(c704bc9c,ecf46d28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,d4335757,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70455c0,0,c0e8bca0,268,c70455c0,...) at sleepq_switch+0x162 sleepq_wait(c7040b5c,0,ecf3dcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7040b5c,c7040bfc,c0e57d7e,6b,c7040b64,...) at _cv_wait+0x243 usb_process(c7040b54,ecf3dd28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,7ad34912,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7034000,0,c0e8bca0,268,c7034000,...) at sleepq_switch+0x162 sleepq_wait(c7040b2c,0,ecf3acac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7040b2c,c7040bfc,c0e57d7e,6b,c7040b34,...) at _cv_wait+0x243 usb_process(c7040b24,ecf3ad28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,d3cc8583,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70342e0,0,c0e8bca0,268,c70342e0,...) at sleepq_switch+0x162 sleepq_wait(c7040afc,0,ecf37cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7040afc,c7040bfc,c0e57d7e,6b,c7040b04,...) at _cv_wait+0x243 usb_process(c7040af4,ecf37d28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,d3cc72ab,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70345c0,0,c0e8bca0,268,c70345c0,...) at sleepq_switch+0x162 sleepq_wait(c7040acc,0,ecf34cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7040acc,c7040bfc,c0e57d7e,6b,c7040ad4,...) at _cv_wait+0x243 usb_process(c7040ac4,ecf34d28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,d3cc5b9f,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70348a0,0,c0e8bca0,268,c70348a0,...) at sleepq_switch+0x162 sleepq_wait(c7039b5c,0,e0bffcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7039b5c,c7039bfc,c0e57d7e,6b,c7039b64,...) at _cv_wait+0x243 usb_process(c7039b54,e0bffd28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,7ad290ec,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7034b80,0,c0e8bca0,268,c7034b80,...) at sleepq_switch+0x162 sleepq_wait(c7039b2c,0,e0bfccac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7039b2c,c7039bfc,c0e57d7e,6b,c7039b34,...) at _cv_wait+0x243 usb_process(c7039b24,e0bfcd28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,cddca8dd,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7035000,0,c0e8bca0,268,c7035000,...) at sleepq_switch+0x162 sleepq_wait(c7039afc,0,e0bf9cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7039afc,c7039bfc,c0e57d7e,6b,c7039b04,...) at _cv_wait+0x243 usb_process(c7039af4,e0bf9d28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,cddc985b,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70352e0,0,c0e8bca0,268,c70352e0,...) at sleepq_switch+0x162 sleepq_wait(c7039acc,0,e0bf6cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7039acc,c7039bfc,c0e57d7e,6b,c7039ad4,...) at _cv_wait+0x243 usb_process(c7039ac4,e0bf6d28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,cddc815c,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70355c0,0,c0e8bca0,268,c70355c0,...) at sleepq_switch+0x162 sleepq_wait(c702fb5c,0,e0bf2cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c702fb5c,c702fbfc,c0e57d7e,6b,c702fb64,...) at _cv_wait+0x243 usb_process(c702fb54,e0bf2d28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,64b8714f,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70358a0,0,c0e8bca0,268,c70358a0,...) at sleepq_switch+0x162 sleepq_wait(c702fb2c,0,e0befcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c702fb2c,c702fbfc,c0e57d7e,6b,c702fb34,...) at _cv_wait+0x243 usb_process(c702fb24,e0befd28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,cd75e05b,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7035b80,0,c0e8bca0,268,c7035b80,...) at sleepq_switch+0x162 sleepq_wait(c702fafc,0,e0beccac,1,0,...) at sleepq_wait+0x63 _cv_wait(c702fafc,c702fbfc,c0e57d7e,6b,c702fb04,...) at _cv_wait+0x243 usb_process(c702faf4,e0becd28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,cd75cbf5,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7036000,0,c0e8bca0,268,c7036000,...) at sleepq_switch+0x162 sleepq_wait(c702facc,0,e0be9cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c702facc,c702fbfc,c0e57d7e,6b,c702fad4,...) at _cv_wait+0x243 usb_process(c702fac4,e0be9d28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,cd75b5fa,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c701f2e0,0,c0e8bca0,268,c701f2e0,...) at sleepq_switch+0x162 sleepq_wait(c7029b5c,0,e0be2cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7029b5c,c7029bfc,c0e57d7e,6b,c7029b64,...) at _cv_wait+0x243 usb_process(c7029b54,e0be2d28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,638a33cb,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c701f5c0,0,c0e8bca0,268,c701f5c0,...) at sleepq_switch+0x162 sleepq_wait(c7029b2c,0,e0bdfcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7029b2c,c7029bfc,c0e57d7e,6b,c7029b34,...) at _cv_wait+0x243 usb_process(c7029b24,e0bdfd28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,cd0f4a32,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c701f8a0,0,c0e8bca0,268,c701f8a0,...) at sleepq_switch+0x162 sleepq_wait(c7029afc,0,e0bdccac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7029afc,c7029bfc,c0e57d7e,6b,c7029b04,...) at _cv_wait+0x243 usb_process(c7029af4,e0bdcd28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,cd0f34b2,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c701fb80,0,c0e8bca0,268,c701fb80,...) at sleepq_switch+0x162 sleepq_wait(c7029acc,0,e0bd9cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7029acc,c7029bfc,c0e57d7e,6b,c7029ad4,...) at _cv_wait+0x243 usb_process(c7029ac4,e0bd9d28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,cd0f1ee6,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70222e0,0,c0e8bca0,268,c70222e0,...) at sleepq_switch+0x162 sleepq_wait(c7019b5c,0,e0bd2cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7019b5c,c7019bfc,c0e57d7e,6b,c7019b64,...) at _cv_wait+0x243 usb_process(c7019b54,e0bd2d28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,619bbde8,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70225c0,0,c0e8bca0,268,c70225c0,...) at sleepq_switch+0x162 sleepq_wait(c7019b2c,0,e0bcfcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7019b2c,c7019bfc,c0e57d7e,6b,c7019b34,...) at _cv_wait+0x243 usb_process(c7019b24,e0bcfd28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,cca89fd9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70228a0,0,c0e8bca0,268,c70228a0,...) at sleepq_switch+0x162 sleepq_wait(c7019afc,0,e0bcccac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7019afc,c7019bfc,c0e57d7e,6b,c7019b04,...) at _cv_wait+0x243 usb_process(c7019af4,e0bccd28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,cca88bae,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7022b80,0,c0e8bca0,268,c7022b80,...) at sleepq_switch+0x162 sleepq_wait(c7019acc,0,e0bc9cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7019acc,c7019bfc,c0e57d7e,6b,c7019ad4,...) at _cv_wait+0x243 usb_process(c7019ac4,e0bc9d28,c0e80e8c,390,c701e578,...) at usb_process+0x193 fork_exit(c08504a0,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,a3f50d08,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6ecb5c0,0,c0e8bca0,28b,2,...) at sleepq_switch+0x162 sleepq_timedwait(c1011484,0,c0e79692,2,0,...) at sleepq_timedwait+0x6b _sleep(c1011484,0,0,c0e79692,64,...) at _sleep+0x342 pause(c0e79692,64,c0e4678e,111,0,...) at pause+0x47 random_kthread(0,c6b55d28,c0e80e8c,390,c6dbd000,...) at random_kthread+0x1ef fork_exit(c07bb5b0,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,ad4c34bd,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c6ecbb80,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c100f0c8,5c,c0e79692,0,0,...) at sleepq_wait+0x63 _sleep(c100f0c8,c100f028,25c,c0e79692,0,...) at _sleep+0x372 g_io_schedule_down(c6ecbb80,0,c0e7b1e5,6c,c6b4fd14,...) at g_io_schedule_down+0x5b g_down_procbody(0,c6b4fd28,c0e80e8c,390,c6dbd2bc,...) at g_down_procbody+0x9d fork_exit(c093e880,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,ad194b86,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c6ecc000,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c100f0c4,5c,c0e79692,0,0,...) at sleepq_wait+0x63 _sleep(c100f0c4,c100f048,25c,c0e79692,0,...) at _sleep+0x372 g_io_schedule_up(c6ecc000,0,c0e7b1e5,5f,c6b4cd14,...) at g_io_schedule_up+0x134 g_up_procbody(0,c6b4cd28,c0e80e8c,390,c6dbd2bc,...) at g_up_procbody+0x9d fork_exit(c093e920,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,a81c4a8d,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,5c,...) at mi_switch+0x219 sleepq_switch(c6dc02e0,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c100f0bc,5c,c0e79692,0,0,...) at sleepq_wait+0x63 _sleep(c100f0bc,c100efec,25c,c0e79692,0,...) at _sleep+0x372 g_run_events(c101f300,0,c0e7b1e5,79,c6b49d14,...) at g_run_events+0x526 g_event_procbody(0,c6b49d28,c0e80e8c,390,c6dbd2bc,...) at g_event_procbody+0x90 fork_exit(c093e9c0,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,cca5972b,...) at sched_switch+0x3bc mi_switch(109,0,c0e811b1,554,c7172000,...) at mi_switch+0x219 ithread_loop(c7162ae0,ecf75d28,c0e80e8c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097fb10,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,1d91d028,...) at sched_switch+0x3bc mi_switch(109,0,c0e811b1,554,c70365c0,...) at mi_switch+0x219 ithread_loop(c7162b70,ecf65d28,c0e80e8c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097fb10,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,cca5442c,...) at sched_switch+0x3bc mi_switch(109,0,c0e811b1,554,c7043000,...) at mi_switch+0x219 ithread_loop(c701db60,ecf59d28,c0e80e8c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097fb10,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,e8451747,...) at sched_switch+0x3bc mi_switch(109,0,c0e811b1,554,c70432e0,...) at mi_switch+0x219 ithread_loop(c701d210,ecf55d28,c0e80e8c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097fb10,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,f17cde86,...) at sched_switch+0x3bc mi_switch(109,0,c0e811b1,554,c701f000,...) at mi_switch+0x219 ithread_loop(c70028a0,e0be6d28,c0e80e8c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097fb10,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,ec5664c8,...) at sched_switch+0x3bc mi_switch(109,0,c0e811b1,554,c7022000,...) at mi_switch+0x219 ithread_loop(c7002ab0,e0bd6d28,c0e80e8c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097fb10,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,ea67ee3b,...) at sched_switch+0x3bc mi_switch(109,0,c0e811b1,554,c6ecc2e0,...) at mi_switch+0x219 ithread_loop(c701d080,e0bc6d28,c0e80e8c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097fb10,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,9aea5d81,...) at sched_switch+0x3bc mi_switch(109,0,c0e811b1,554,c6ecc5c0,...) at mi_switch+0x219 ithread_loop(c7002340,e0a70d28,c0e80e8c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097fb10,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,fe7cf574,...) at sched_switch+0x3bc mi_switch(109,0,c0e811b1,554,c6ecc8a0,...) at mi_switch+0x219 ithread_loop(c70024e0,e0a6cd28,c0e80e8c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097fb10,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,9aeadfd2,...) at sched_switch+0x3bc mi_switch(109,0,c0e811b1,554,c6eccb80,...) at mi_switch+0x219 ithread_loop(c6d83380,c6b73d28,c0e80e8c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097fb10,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,27adebf8,...) at sched_switch+0x3bc mi_switch(109,0,c0e811b1,554,c6e068a0,...) at mi_switch+0x219 ithread_loop(c6d83430,c6b61d28,c0e80e8c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097fb10,c6d83430,c6b61d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b61d60, ebp = 0 --- Tracing command intr pid 12 tid 100020 td 0xc6e06b80 sched_switch(c6e06b80,0,109,191,512fa10d,...) at sched_switch+0x3bc mi_switch(109,0,c0e811b1,554,c6e06b80,...) at mi_switch+0x219 ithread_loop(c6d83440,c6b5ed28,c0e80e8c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097fb10,c6d83440,c6b5ed28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b5ed60, ebp = 0 --- Tracing command intr pid 12 tid 100018 td 0xc6ecb2e0 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100012 td 0xc6dc05c0 sched_switch(c6dc05c0,0,109,191,a71ffd06,...) at sched_switch+0x3bc mi_switch(109,0,c0e811b1,554,c6dc05c0,...) at mi_switch+0x219 ithread_loop(c6d836d0,c6b46d28,c0e80e8c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097fb10,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,918f2e04,...) at sched_switch+0x3bc mi_switch(109,0,c0e811b1,554,c6dc08a0,...) at mi_switch+0x219 ithread_loop(c6d836e0,c6b43d28,c0e80e8c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097fb10,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,a29e4eef,...) at sched_switch+0x3bc mi_switch(109,0,c0e811b1,554,c6dc0b80,...) at mi_switch+0x219 ithread_loop(c6d836f0,c6b40d28,c0e80e8c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097fb10,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,ad59337f,...) at sched_switch+0x3bc mi_switch(109,0,c0e811b1,554,c6e06000,...) at mi_switch+0x219 ithread_loop(c6d83700,c6b3dd28,c0e80e8c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097fb10,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,c3fb10f6,...) at sched_switch+0x3bc mi_switch(109,0,c0e811b1,554,c6e065c0,...) at mi_switch+0x219 ithread_loop(c6d83720,c6b37d28,c0e80e8c,390,c6dbd578,...) at ithread_loop+0x1fb fork_exit(c097fb10,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,fa53bf5e,...) at sched_switch+0x3bc mi_switch(108,0,c0e8856b,3b9,c6dbf000,...) at mi_switch+0x219 sched_idletd(0,c6b33d28,c0e80e8c,390,c6dbd834,...) at sched_idletd+0x19f fork_exit(c09ce8f0,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,7d4e66cc,...) at sched_switch+0x3bc mi_switch(108,0,c0e8856b,3b9,c6dbf2e0,...) at mi_switch+0x219 sched_idletd(0,c6b30d28,c0e80e8c,390,c6dbd834,...) at sched_idletd+0x19f fork_exit(c09ce8f0,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,e273ea6,...) at sched_switch+0x3bc mi_switch(108,0,c0e8856b,3b9,c6dbf5c0,...) at mi_switch+0x219 sched_idletd(0,c6b2dd28,c0e80e8c,390,c6dbd834,...) at sched_idletd+0x19f fork_exit(c09ce8f0,0,c6b2dd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6b2dd60, ebp = 0 --- Tracing command idle pid 11 tid 100003 td 0xc6dbf8a0 sched_switch(c6dbf8a0,0,108,18c,4c28ed9d,...) at sched_switch+0x3bc mi_switch(108,0,c0e8856b,3b9,c6dbf8a0,...) at mi_switch+0x219 sched_idletd(0,c6b2ad28,c0e80e8c,390,c6dbd834,...) at sched_idletd+0x19f fork_exit(c09ce8f0,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,bd15d2b4,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,6c,...) at mi_switch+0x219 sleepq_switch(c6dbfb80,0,c0e8bca0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0e8bca0,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c6dbdaf0,6c,c0e8ea32,100,0,...) at sleepq_wait_sig+0x17 _sleep(c6dbdaf0,c6dbdb78,16c,c0e8ea32,0,...) at _sleep+0x35c kern_wait(c6dbfb80,ffffffff,c6b26c44,0,0,...) at kern_wait+0xbe6 wait4(c6dbfb80,c6b26cec,c6b26d28,c0e8c5de,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 = 0x8060df7, esp = 0xbfbfe8bc, ebp = 0xbfbfe8d8 --- Tracing command audit pid 10 tid 100001 td 0xc6dc0000 sched_switch(c6dc0000,0,104,191,cca66fbe,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6dc0000,0,c0e8bca0,268,c6dc0000,...) at sleepq_switch+0x162 sleepq_wait(c118e500,0,c6b23c8c,1,0,...) at sleepq_wait+0x63 _cv_wait(c118e500,c118e4e4,c0eb62d7,194,0,...) at _cv_wait+0x243 audit_worker(0,c6b23d28,c0e80e8c,390,c6dbe000,...) at audit_worker+0x84 fork_exit(c0b9b4a0,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,767be2bb,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c70458a0,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c71853c0,0,c0e79692,0,0,...) at sleepq_wait+0x63 _sleep(c71853c0,c71853d8,0,c0e79692,0,...) at _sleep+0x372 taskqueue_thread_loop(c11e5fa0,ef185d28,c0e80e8c,390,c100f1a0,...) at taskqueue_thread_loop+0xb5 fork_exit(c09eada0,c11e5fa0,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,958decc8,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c71718a0,0,c0e8bca0,28b,2,...) at sleepq_switch+0x162 sleepq_timedwait(c1011484,0,c0e79692,2,0,...) at sleepq_timedwait+0x6b _sleep(c1011484,0,0,c0e79692,bb8,...) at _sleep+0x342 pause(c0e79692,bb8,124,122,c100f228,...) at pause+0x47 deadlkres(0,ecf7bd28,c0e80e8c,390,c100f1a0,...) at deadlkres+0x324 fork_exit(c09603a0,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,a90e9984,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c7036b80,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c7073900,0,c0e872c1,c0e79692,0,...) at sleepq_wait+0x63 msleep_spin(c7073900,c7073918,c0e79692,0,c0e84b27,...) at msleep_spin+0x21d taskqueue_thread_loop(c706f49c,ecf5fd28,c0e80e8c,390,c100f1a0,...) at taskqueue_thread_loop+0x8f fork_exit(c09eada0,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,e7436f27,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6fab000,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d92340,0,c0e79692,0,0,...) at sleepq_wait+0x63 _sleep(c6d92340,c6d92358,0,c0e79692,0,...) at _sleep+0x372 taskqueue_thread_loop(c100fb18,c6b70d28,c0e80e8c,390,c100f1a0,...) at taskqueue_thread_loop+0xb5 fork_exit(c09eada0,c100fb18,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,e7435c16,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6fab2e0,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d92380,0,c0e872c1,c0e79692,0,...) at sleepq_wait+0x63 msleep_spin(c6d92380,c6d92398,c0e79692,0,c0e84b27,...) at msleep_spin+0x21d taskqueue_thread_loop(c0fda438,c6b6dd28,c0e80e8c,390,c100f1a0,...) at taskqueue_thread_loop+0x8f fork_exit(c09eada0,c0fda438,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,e7434d4c,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6fab5c0,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d92380,0,c0e872c1,c0e79692,0,...) at sleepq_wait+0x63 msleep_spin(c6d92380,c6d92398,c0e79692,0,c0e84b27,...) at msleep_spin+0x21d taskqueue_thread_loop(c0fda438,c6b6ad28,c0e80e8c,390,c100f1a0,...) at taskqueue_thread_loop+0x8f fork_exit(c09eada0,c0fda438,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,e7433dfd,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6fab8a0,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d92380,0,c0e872c1,c0e79692,0,...) at sleepq_wait+0x63 msleep_spin(c6d92380,c6d92398,c0e79692,0,c0e84b27,...) at msleep_spin+0x21d taskqueue_thread_loop(c0fda438,c6b67d28,c0e80e8c,390,c100f1a0,...) at taskqueue_thread_loop+0x8f fork_exit(c09eada0,c0fda438,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,e73ccdc9,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6fabb80,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d923c0,0,c0e79692,0,0,...) at sleepq_wait+0x63 _sleep(c6d923c0,c6d923d8,0,c0e79692,0,...) at _sleep+0x372 taskqueue_thread_loop(c118eae4,c6b64d28,c0e80e8c,390,c100f1a0,...) at taskqueue_thread_loop+0xb5 fork_exit(c09eada0,c118eae4,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,e9e4c781,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6ecb000,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d92500,0,c0e79692,0,0,...) at sleepq_wait+0x63 _sleep(c6d92500,c6d92518,0,c0e79692,0,...) at _sleep+0x372 taskqueue_thread_loop(c102e028,c6b5bd28,c0e80e8c,390,c100f1a0,...) at taskqueue_thread_loop+0xb5 fork_exit(c09eada0,c102e028,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,12c175d2,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,0,...) at mi_switch+0x219 sleepq_switch(c6ecb8a0,0,c0e8bca0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c6d92a80,0,c0e79692,0,0,...) at sleepq_wait+0x63 _sleep(c6d92a80,c6d92a98,0,c0e79692,0,...) at _sleep+0x372 taskqueue_thread_loop(c102caa0,c6b52d28,c0e80e8c,390,c100f1a0,...) at taskqueue_thread_loop+0xb5 fork_exit(c09eada0,c102caa0,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 0xc100f460 sched_switch(c100f460,0,104,191,de144262,...) at sched_switch+0x3bc mi_switch(104,0,c0e8bca0,1f3,54,...) at mi_switch+0x219 sleepq_switch(c100f460,0,c0e8bca0,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c100f1a0,54,c0e88e7f,0,0,...) at sleepq_timedwait+0x6b _sleep(c100f1a0,0,54,c0e88e7f,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 209 MB: 194 178 162 146 130 114 98 82 66 50 34 18 2 Dump complete = 0xf db:0:doadump> reset cpu_reset: Restarting BSP cpu_reset_proxy: Stopped CPU 3 (kgdb) bt #0 doadump () at pcpu.h:244 #1 0xc04ddcc9 in db_fncall (dummy1=0xc09dce7a, dummy2=0x0, dummy3=0xffffffff, dummy4=0xef45d518 ",ÕEï") at ../../../ddb/db_command.c:548 #2 0xc04de0ff in db_command (last_cmdp=0xc0fd85fc, cmd_table=0x0, dopager=0x0) at ../../../ddb/db_command.c:445 #3 0xc04de1b4 in db_command_script (command=0xc0fd9508 "call doadump") at ../../../ddb/db_command.c:516 #4 0xc04e2480 in db_script_exec (scriptname=0xc0fd8e60 "doadump", warnifnotfound=Variable "warnifnotfound" is not available. ) at ../../../ddb/db_script.c:302 #5 0xc04e2511 in db_run_cmd (addr=0x1, have_addr=0x0, count=0xc11b0f80, modif=0xef45d650 "") at ../../../ddb/db_script.c:375 #6 0xc04de0c1 in db_command (last_cmdp=0xc0fd85fc, cmd_table=0x0, dopager=0x1) at ../../../ddb/db_command.c:445 #7 0xc04de21a in db_command_loop () at ../../../ddb/db_command.c:498 #8 0xc04e019d in db_trap (type=0x3, code=0x0) at ../../../ddb/db_main.c:229 #9 0xc09dcff2 in kdb_trap (type=0x3, code=0x0, tf=0xef45d800) at ../../../kern/subr_kdb.c:533 #10 0xc0cd33fb in trap (frame=0xef45d800) at ../../../i386/i386/trap.c:719 #11 0xc0cbc10c in calltrap () at ../../../i386/i386/exception.s:168 #12 0xc09dce7a in kdb_enter (why=0xc0e86573 "panic", msg=0xc0e86573 "panic") at cpufunc.h:71 #13 0xc09a8494 in panic (fmt=0xc0eba9a6 "softdep_setup_directory_add: %p already at off %d\n") at ../../../kern/kern_shutdown.c:584 #14 0xc0bd14e0 in softdep_setup_directory_add (bp=0xe09474c0, dp=0xcac5f740, diroffset=0x2a0, newinum=0x1e72, newdirbp=0x0, isnewblk=0x0) at ../../../ufs/ffs/ffs_softdep.c:7589 #15 0xc0be88bb in ufs_direnter (dvp=0xcac55984, tvp=0x0, dirp=0xef45d9dc, cnp=0xef45db70, newdirbp=0x0, isrename=0x1) at ../../../ufs/ufs/ufs_lookup.c:1105 #16 0xc0bf19bc in ufs_rename (ap=0xef45dbec) at ../../../ufs/ufs/ufs_vnops.c:1384 #17 0xc0cf5a45 in VOP_RENAME_APV (vop=0xc0fbb600, a=0xef45dbec) at vnode_if.c:1474 #18 0xc0a4bbe7 in kern_renameat (td=0xca6c98a0, oldfd=0xffffff9c, old=0xbfbfe628
, newfd=0xffffff9c, new=0xbfbfe6a8
, pathseg=UIO_USERSPACE) at vnode_if.h:636 #19 0xc0a4bd96 in kern_rename (td=0xca6c98a0, from=0xbfbfe628
, to=0xbfbfe6a8
, pathseg=UIO_USERSPACE) at ../../../kern/vfs_syscalls.c:3574 #20 0xc0a4bdc9 in rename (td=0xca6c98a0, uap=0xef45dcec) at ../../../kern/vfs_syscalls.c:3551 #21 0xc09eb163 in syscallenter (td=0xca6c98a0, sa=0xef45dce4) at ../../../kern/subr_trap.c:344 #22 0xc0cd2caf in syscall (frame=0xef45dd28) at ../../../i386/i386/trap.c:1082 #23 0xc0cbc171 in Xint0x80_syscall () at ../../../i386/i386/exception.s:266 #24 0x00000033 in ?? () Previous frame inner to this frame (corrupt stack?) (kgdb) f 14 #14 0xc0bd14e0 in softdep_setup_directory_add (bp=0xe09474c0, dp=0xcac5f740, diroffset=0x2a0, newinum=0x1e72, newdirbp=0x0, isnewblk=0x0) at ../../../ufs/ffs/ffs_softdep.c:7589 7589 panic("softdep_setup_directory_add: %p already at off %d\n", (kgdb) l 7584 */ 7585 if (pagedep_lookup(mp, dp->i_number, lbn, DEPALLOC, &pagedep) == 0) 7586 WORKLIST_INSERT(&bp->b_dep, &pagedep->pd_list); 7587 #ifdef DEBUG 7588 if (diradd_lookup(pagedep, offset) != NULL) 7589 panic("softdep_setup_directory_add: %p already at off %d\n", 7590 diradd_lookup(pagedep, offset), offset); 7591 #endif 7592 dap->da_pagedep = pagedep; 7593 LIST_INSERT_HEAD(&pagedep->pd_diraddhd[DIRADDHASH(offset)], dap, (kgdb) info loc offset = 0x2a0 fs = (struct fs *) 0xc7740800 dap = (struct diradd *) 0xc96fc1c0 newblk = Variable "newblk" is not available. (kgdb) p *pagedep $1 = {pd_list = {wk_list = {le_next = 0x0, le_prev = 0xc9a3e000}, wk_mp = 0xc98c487c, wk_type = 0x0, wk_state = 0x8800}, pd_hash = {le_next = 0x0, le_prev = 0xc72621f4}, pd_ino = 0x101b, pd_lbn = 0x0, pd_newdirblk = 0xc9fa00e0, pd_dirremhd = {lh_first = 0xc9e49b80}, pd_diraddhd = {{lh_first = 0xc7a0bd00}, {lh_first = 0xc9663c80}, { lh_first = 0xc9fc3680}, {lh_first = 0xc9e41240}, {lh_first = 0xc9669c40}}, pd_pendinghd = {lh_first = 0xca7bd740}, pd_jmvrefhd = {lh_first = 0xca83c780}} (kgdb) p *bp $2 = {b_bufobj = 0xcac55a7c, b_bcount = 0x2000, b_caller1 = 0x0, b_data = 0xe6908000 "\033\020", b_error = 0x0, b_iocmd = 0x2, b_ioflags = 0x2, b_iooffset = 0x19a0000, b_resid = 0x0, b_iodone = 0, b_blkno = 0xce20, b_offset = 0x0, b_bobufs = {tqe_next = 0x0, tqe_prev = 0xcac55aa0}, b_left = 0x0, b_right = 0x0, b_vflags = 0x1, b_freelist = {tqe_next = 0xe0818d80, tqe_prev = 0xe088fcac}, b_qindex = 0x2, b_flags = 0x800000a0, b_xflags = 0x1, b_lock = {lock_object = {lo_name = 0xc0e93b34 "bufwait", lo_flags = 0x5730000, lo_data = 0x0, lo_witness = 0xc6d5e2a0}, lk_lock = 0xca6c98a0, lk_exslpfail = 0x0, lk_timo = 0x0, lk_pri = 0x60, lk_stack = {depth = 0xe, pcs = { 0xc0990e0e, 0xc0a2b457, 0xc0a2bcc4, 0xc0a2be3c, 0xc0bdaff1, 0xc0be85d1, 0xc0bf19bc, 0xc0cf5a45, 0xc0a4bbe7, 0xc0a4bd96, 0xc0a4bdc9, 0xc09eb163, 0xc0cd2caf, 0xc0cbc171, 0x0, 0x0, 0x0, 0x0}}}, b_bufsize = 0x2000, b_runningbufspace = 0x0, b_kvabase = 0xe6908000 "\033\020", b_kvasize = 0x4000, b_lblkno = 0x0, b_vp = 0xcac55984, b_dirtyoff = 0x0, b_dirtyend = 0x0, b_rcred = 0x0, b_wcred = 0x0, b_saveaddr = 0xe6908000, b_pager = {pg_reqpage = 0x0}, b_cluster = {cluster_head = { tqh_first = 0xe07ae340, tqh_last = 0xe06e9080}, cluster_entry = {tqe_next = 0xe07ae340, tqe_prev = 0xe06e9080}}, b_pages = {0xc4bb33a8, 0xc19b0578, 0x0 }, b_npages = 0x2, b_dep = {lh_first = 0xc9a3e000}, b_fsprivate1 = 0x0, b_fsprivate2 = 0x0, b_fsprivate3 = 0x0, b_pin_count = 0x0} (kgdb) p *dp $3 = {i_nextsnap = {tqe_next = 0x0, tqe_prev = 0x0}, i_vnode = 0xcac55984, i_ump = 0xc773ed00, i_flag = 0x6, i_dev = 0xc7432600, i_number = 0x101b, i_effnlink = 0x2, i_fs = 0xc7740800, i_dquot = {0x0, 0x0}, i_count = 0x3c, i_endoff = 0x1a00, i_diroff = 0x1800, i_offset = 0x288, i_un = {dirhash = 0xca1ad200, snapblklist = 0xca1ad200}, i_ea_area = 0x0, i_ea_len = 0x0, i_ea_error = 0x0, i_ea_refs = 0x0, i_mode = 0x41f8, i_nlink = 0x2, i_size = 0x1a00, i_flags = 0x0, i_gen = 0xffffffffab3ccd02, i_uid = 0x3e9, i_gid = 0x0, dinode_u = {din1 = 0xcad8ba00, din2 = 0xcad8ba00}} (kgdb) $ svn diff -x -p /usr/src/sys Index: /usr/src/sys/ufs/ufs/ufsmount.h =================================================================== --- /usr/src/sys/ufs/ufs/ufsmount.h (revision 222007) +++ /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,10 +83,10 @@ 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 */ int softdep_deps; /* Total dependency count */ int softdep_accdeps; /* accumulated dep count */ int softdep_req; /* Wakeup when deps hits 0. */ Index: /usr/src/sys/ufs/ffs/ffs_vfsops.c =================================================================== --- /usr/src/sys/ufs/ffs/ffs_vfsops.c (revision 222007) +++ /usr/src/sys/ufs/ffs/ffs_vfsops.c (working copy) @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: head/sys/ufs/ffs/ffs_vfsops.c 219804 2011-03-20 21:05:09Z kib $"); #include "opt_quota.h" #include "opt_ufs.h" @@ -2033,12 +2033,10 @@ ffs_geom_strategy(struct bufobj *bo, struct buf *b static void db_print_ffs(struct ufsmount *ump) { - db_printf("mp %p %s devvp %p fs %p su_wl %d su_wl_in %d su_deps %d " - "su_req %d\n", + db_printf("mp %p %s devvp %p fs %p su_wl %d su_deps %d su_req %d\n", ump->um_mountp, ump->um_mountp->mnt_stat.f_mntonname, ump->um_devvp, ump->um_fs, ump->softdep_on_worklist, - ump->softdep_on_worklist_inprogress, ump->softdep_deps, - ump->softdep_req); + ump->softdep_deps, ump->softdep_req); } DB_SHOW_COMMAND(ffs, db_show_ffs) Index: /usr/src/sys/ufs/ffs/ffs_softdep.c =================================================================== --- /usr/src/sys/ufs/ffs/ffs_softdep.c (revision 222007) +++ /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; @@ -614,10 +627,12 @@ FEATURE(softupdates, "FFS soft-updates support"); #define D_JSEGDEP 23 #define D_SBDEP 24 #define D_JTRUNC 25 -#define D_LAST D_JTRUNC +#define D_SENTINAL 26 +#define D_LAST D_SENTINAL 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 +640,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"); @@ -734,10 +753,12 @@ static void clear_unlinked_inodedep(struct inodede static struct inodedep *first_unlinked_inodedep(struct ufsmount *); static int flush_pagedep_deps(struct vnode *, struct mount *, struct diraddhd *); -static void free_pagedep(struct pagedep *); +static int 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 +773,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 +790,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 *); @@ -777,10 +801,12 @@ static void initiate_write_bmsafemap(struct bmsafe static void initiate_write_inodeblock_ufs1(struct inodedep *, struct buf *); static void initiate_write_inodeblock_ufs2(struct inodedep *, struct buf *); static void handle_workitem_freefile(struct freefile *); -static void handle_workitem_remove(struct dirrem *, struct vnode *); +static int handle_workitem_remove(struct dirrem *, int); 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 +821,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 +849,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 int handle_workitem_freeblocks(struct freeblks *, int); +static int 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); @@ -868,9 +898,11 @@ static int pagedep_find(struct pagedep_hashhead *, struct mount *mp, int, struct pagedep **); static void pause_timer(void *); static int request_cleanup(struct mount *, int); -static int process_worklist_item(struct mount *, int); +static int process_worklist_item(struct mount *, int, 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 +926,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 +1097,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. */ @@ -1088,6 +1145,8 @@ workitem_free(item, type) panic("workitem_free: type mismatch %s != %s", TYPENAME(item->wk_type), TYPENAME(type)); #endif + if (item->wk_state & IOWAITING) + wakeup(item); ump = VFSTOUFS(item->wk_mp); if (--ump->softdep_deps == 0 && ump->softdep_req) wakeup(&ump->softdep_deps); @@ -1101,14 +1160,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); } @@ -1270,8 +1333,7 @@ softdep_flush(void) vfslocked = VFS_LOCK_GIANT(mp); progress += softdep_process_worklist(mp, 0); ump = VFSTOUFS(mp); - remaining += ump->softdep_on_worklist - - ump->softdep_on_worklist_inprogress; + remaining += ump->softdep_on_worklist; VFS_UNLOCK_GIANT(vfslocked); mtx_lock(&mountlist_mtx); nmp = TAILQ_NEXT(mp, mnt_list); @@ -1314,10 +1376,14 @@ softdep_speedup(void) * The following routine is the only one that removes items * and does so in order from first to last. */ + +#define WK_HEAD 0x0001 /* Add to HEAD. */ +#define WK_NODELAY 0x0002 /* Process immediately. */ + static void -add_to_worklist(wk, nodelay) +add_to_worklist(wk, flags) struct worklist *wk; - int nodelay; + int flags; { struct ufsmount *ump; @@ -1327,13 +1393,17 @@ static void panic("add_to_worklist: %s(0x%X) already on list", TYPENAME(wk->wk_type), wk->wk_state); wk->wk_state |= ONWORKLIST; - if (LIST_EMPTY(&ump->softdep_workitem_pending)) + if (ump->softdep_on_worklist == 0) { LIST_INSERT_HEAD(&ump->softdep_workitem_pending, wk, wk_list); - else + ump->softdep_worklist_tail = wk; + } else if (flags & WK_HEAD) { + LIST_INSERT_HEAD(&ump->softdep_workitem_pending, wk, wk_list); + } else { LIST_INSERT_AFTER(ump->softdep_worklist_tail, wk, wk_list); - ump->softdep_worklist_tail = wk; + ump->softdep_worklist_tail = wk; + } ump->softdep_on_worklist += 1; - if (nodelay) + if (flags & WK_NODELAY) worklist_speedup(); } @@ -1346,16 +1416,12 @@ remove_from_worklist(wk) struct worklist *wk; { struct ufsmount *ump; - struct worklist *wkend; ump = VFSTOUFS(wk->wk_mp); WORKLIST_REMOVE(wk); - if (wk == ump->softdep_worklist_tail) { - LIST_FOREACH(wkend, &ump->softdep_workitem_pending, wk_list) - if (LIST_NEXT(wkend, wk_list) == NULL) - break; - ump->softdep_worklist_tail = wkend; - } + if (ump->softdep_worklist_tail == wk) + ump->softdep_worklist_tail = + (struct worklist *)wk->wk_list.le_prev; ump->softdep_on_worklist -= 1; } @@ -1389,7 +1455,7 @@ softdep_process_worklist(mp, full) starttime = time_second; softdep_process_journal(mp, NULL, full?MNT_WAIT:0); while (ump->softdep_on_worklist > 0) { - if ((cnt = process_worklist_item(mp, LK_NOWAIT)) == -1) + if ((cnt = process_worklist_item(mp, 10, LK_NOWAIT)) == 0) break; else matchcnt += cnt; @@ -1451,44 +1517,97 @@ process_removes(vp) for (;;) { if (inodedep_lookup(mp, inum, 0, &inodedep) == 0) return; - LIST_FOREACH(dirrem, &inodedep->id_dirremhd, dm_inonext) - if ((dirrem->dm_state & (COMPLETE | ONWORKLIST)) == + LIST_FOREACH(dirrem, &inodedep->id_dirremhd, dm_inonext) { + /* + * If another thread is trying to lock this vnode + * it will fail but we must wait for it to do so + * before we can proceed. + */ + if (dirrem->dm_state & INPROGRESS) { + dirrem->dm_state |= IOWAITING; + msleep(&dirrem->dm_list, &lk, PVM, + "pwrwait", 0); + continue; + } + if ((dirrem->dm_state & (COMPLETE | ONWORKLIST)) == (COMPLETE | ONWORKLIST)) break; + } if (dirrem == NULL) return; - /* - * If another thread is trying to lock this vnode it will - * fail but we must wait for it to do so before we can - * proceed. - */ - if (dirrem->dm_state & INPROGRESS) { - dirrem->dm_state |= IOWAITING; - msleep(&dirrem->dm_list, &lk, PVM, "pwrwait", 0); - continue; - } remove_from_worklist(&dirrem->dm_list); FREE_LOCK(&lk); if (vn_start_secondary_write(NULL, &mp, V_NOWAIT)) panic("process_removes: suspended filesystem"); - handle_workitem_remove(dirrem, vp); + handle_workitem_remove(dirrem, 0); vn_finished_secondary_write(mp); ACQUIRE_LOCK(&lk); } } /* + * 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 another thread is trying to lock this vnode + * it will fail but we must wait for it to do so + * before we can proceed. + */ + if (freeblks->fb_state & INPROGRESS) { + freeblks->fb_state |= IOWAITING; + msleep(&freeblks->fb_list, &lk, PVM, + "ptrwait", 0); + continue; + } + 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 -process_worklist_item(mp, flags) +process_worklist_item(mp, target, flags) struct mount *mp; + int target; int flags; { + struct worklist sentinal; struct worklist *wk; struct ufsmount *ump; - struct vnode *vp; - int matchcnt = 0; + int matchcnt; + int error; mtx_assert(&lk, MA_OWNED); KASSERT(mp != NULL, ("process_worklist_item: NULL mp")); @@ -1499,77 +1618,87 @@ static int */ if (curthread->td_pflags & TDP_COWINPROGRESS) return (-1); - /* - * Normally we just process each item on the worklist in order. - * However, if we are in a situation where we cannot lock any - * inodes, we have to skip over any dirrem requests whose - * vnodes are resident and locked. - */ - vp = NULL; + PHOLD(curproc); /* Don't let the stack go away. */ ump = VFSTOUFS(mp); - LIST_FOREACH(wk, &ump->softdep_workitem_pending, wk_list) { - if (wk->wk_state & INPROGRESS) + matchcnt = 0; + sentinal.wk_mp = NULL; + sentinal.wk_type = D_SENTINAL; + LIST_INSERT_HEAD(&ump->softdep_workitem_pending, &sentinal, wk_list); + for (wk = LIST_NEXT(&sentinal, wk_list); wk != NULL; + wk = LIST_NEXT(&sentinal, wk_list)) { + if (wk->wk_type == D_SENTINAL) { + LIST_REMOVE(&sentinal, wk_list); + LIST_INSERT_AFTER(wk, &sentinal, wk_list); continue; - if ((flags & LK_NOWAIT) == 0 || wk->wk_type != D_DIRREM) - break; + } wk->wk_state |= INPROGRESS; - ump->softdep_on_worklist_inprogress++; + remove_from_worklist(wk); FREE_LOCK(&lk); - ffs_vgetf(mp, WK_DIRREM(wk)->dm_oldinum, - LK_NOWAIT | LK_EXCLUSIVE, &vp, FFSV_FORCEINSMQ); - ACQUIRE_LOCK(&lk); - if (wk->wk_state & IOWAITING) { - wk->wk_state &= ~IOWAITING; - wakeup(wk); - } - wk->wk_state &= ~INPROGRESS; - ump->softdep_on_worklist_inprogress--; - if (vp != NULL) + if (vn_start_secondary_write(NULL, &mp, V_NOWAIT)) + panic("process_worklist_item: suspended filesystem"); + switch (wk->wk_type) { + case D_DIRREM: + /* removal of a directory entry */ + error = handle_workitem_remove(WK_DIRREM(wk), flags); break; - } - if (wk == 0) - return (-1); - remove_from_worklist(wk); - FREE_LOCK(&lk); - if (vn_start_secondary_write(NULL, &mp, V_NOWAIT)) - panic("process_worklist_item: suspended filesystem"); - matchcnt++; - switch (wk->wk_type) { - case D_DIRREM: - /* removal of a directory entry */ - handle_workitem_remove(WK_DIRREM(wk), vp); - if (vp) - vput(vp); - break; + case D_FREEBLKS: + /* releasing blocks and/or fragments from a file */ + error = handle_workitem_freeblocks(WK_FREEBLKS(wk), + flags); + break; - case D_FREEBLKS: - /* releasing blocks and/or fragments from a file */ - handle_workitem_freeblocks(WK_FREEBLKS(wk), flags & LK_NOWAIT); - break; + case D_FREEFRAG: + /* releasing a fragment when replaced as a file grows */ + handle_workitem_freefrag(WK_FREEFRAG(wk)); + error = 0; + break; - case D_FREEFRAG: - /* releasing a fragment when replaced as a file grows */ - handle_workitem_freefrag(WK_FREEFRAG(wk)); - break; + case D_FREEFILE: + /* releasing an inode when its link count drops to 0 */ + handle_workitem_freefile(WK_FREEFILE(wk)); + error = 0; + break; - case D_FREEFILE: - /* releasing an inode when its link count drops to 0 */ - handle_workitem_freefile(WK_FREEFILE(wk)); - break; + case D_FREEWORK: + /* Final block in an indirect was freed. */ + ACQUIRE_LOCK(&lk); + handle_workitem_indirblk(WK_FREEWORK(wk)); + error = 0; + FREE_LOCK(&lk); + break; - case D_FREEWORK: - /* Final block in an indirect was freed. */ - handle_workitem_indirblk(WK_FREEWORK(wk)); - break; - - default: - panic("%s_process_worklist: Unknown type %s", - "softdep", TYPENAME(wk->wk_type)); - /* NOTREACHED */ + default: + panic("%s_process_worklist: Unknown type %s", + "softdep", TYPENAME(wk->wk_type)); + /* NOTREACHED */ + } + vn_finished_secondary_write(mp); + ACQUIRE_LOCK(&lk); + if (error == 0) { + if (++matchcnt == target) + break; + continue; + } + /* + * We have to retry the worklist item later. Wake up any + * waiters who may be able to complete it immediately and + * add the item back to the head so we don't try to execute + * it again. + */ + wk->wk_state &= ~INPROGRESS; + if (wk->wk_state & IOWAITING) { + wk->wk_state &= ~IOWAITING; + wakeup(wk); + } + add_to_worklist(wk, WK_HEAD); } - vn_finished_secondary_write(mp); - ACQUIRE_LOCK(&lk); + LIST_REMOVE(&sentinal, wk_list); + /* Sentinal could've become the tail from remove_from_worklist. */ + if (ump->softdep_worklist_tail == &sentinal) + ump->softdep_worklist_tail = + (struct worklist *)sentinal.wk_list.le_prev; + PRELE(curproc); return (matchcnt); } @@ -1922,6 +2051,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 +2138,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 +2225,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 +2255,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 +2287,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 +2750,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,12 +2785,14 @@ 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); + process_worklist_item(UFSTOVFS(ump), 2, LK_NOWAIT); if (journal_space(ump, 0) == 0) { softdep_speedup(); if (journal_space(ump, 1) == 0) @@ -2753,6 +2936,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 +3197,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 +3211,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 +3266,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, WK_NODELAY); + } + WORKITEM_FREE(jtrunc, D_JTRUNC); +} + static inline struct jsegdep * inoref_jseg(inoref) struct inoref *inoref; @@ -3123,7 +3328,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 +3388,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 +3410,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 +3429,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 +3452,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 +3521,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 +3551,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); - add_to_worklist(&freeblks->fb_list, 1); - } + (freeblks->fb_state & ALLCOMPLETE) == ALLCOMPLETE) + add_to_worklist(&freeblks->fb_list, WK_NODELAY); free_jfreeblk(jfreeblk); } @@ -3482,7 +3678,7 @@ free_freedep(freedep) { if (--freedep->fd_freework->fw_ref == 0) - add_to_worklist(&freedep->fd_freework->fw_list, 1); + add_to_worklist(&freedep->fd_freework->fw_list, WK_NODELAY); WORKITEM_FREE(freedep, D_FREEDEP); } @@ -3493,51 +3689,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 +3769,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 +3869,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 +3958,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 +3976,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 +4012,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 +4145,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 +4678,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 +4687,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); } @@ -4751,7 +4909,6 @@ allocdirect_merge(adphead, newadp, oldadp) { struct worklist *wk; struct freefrag *freefrag; - struct newdirblk *newdirblk; freefrag = NULL; mtx_assert(&lk, MA_OWNED); @@ -4791,11 +4948,10 @@ allocdirect_merge(adphead, newadp, oldadp) * move it from the old allocdirect to the new allocdirect. */ if ((wk = LIST_FIRST(&oldadp->ad_newdirblk)) != NULL) { - newdirblk = WK_NEWDIRBLK(wk); - WORKLIST_REMOVE(&newdirblk->db_list); + WORKLIST_REMOVE(wk); if (!LIST_EMPTY(&oldadp->ad_newdirblk)) panic("allocdirect_merge: extra newdirblk"); - WORKLIST_INSERT(&newadp->ad_newdirblk, &newdirblk->db_list); + WORKLIST_INSERT(&newadp->ad_newdirblk, wk); } TAILQ_REMOVE(adphead, oldadp, ad_next); /* @@ -4814,9 +4970,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 +5239,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 +5266,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 +5287,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 +5314,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 +5326,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 +5341,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. */ @@ -5310,7 +5477,6 @@ allocindir_merge(aip, oldaip) struct allocindir *aip; struct allocindir *oldaip; { - struct newdirblk *newdirblk; struct freefrag *freefrag; struct worklist *wk; @@ -5326,11 +5492,10 @@ allocindir_merge(aip, oldaip) * move it from the old allocindir to the new allocindir. */ if ((wk = LIST_FIRST(&oldaip->ai_newdirblk)) != NULL) { - newdirblk = WK_NEWDIRBLK(wk); - WORKLIST_REMOVE(&newdirblk->db_list); + WORKLIST_REMOVE(wk); if (!LIST_EMPTY(&oldaip->ai_newdirblk)) panic("allocindir_merge: extra newdirblk"); - WORKLIST_INSERT(&aip->ai_newdirblk, &newdirblk->db_list); + WORKLIST_INSERT(&aip->ai_newdirblk, wk); } /* * We can skip journaling for this freefrag and just complete @@ -5363,7 +5528,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 +5547,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 +5565,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 +5580,512 @@ 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; + struct mount *mp; + ufs2_daddr_t extblocks, datablocks; + ufs_lbn_t tmpval, lbn, lastlbn; + int frags; + int lastoff, iboff; + int allocblock; + int error, i; + int needj; + + fs = ip->i_fs; + mp = UFSTOVFS(ip->i_ump); + vp = ITOV(ip); + needj = 1; + iboff = -1; + allocblock = 0; + extblocks = 0; + datablocks = 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; + lastoff = blkoff(fs, length); + /* + * Compute frags we are keeping in lastlbn. 0 means all. + */ + if (lastlbn >= 0 && lastlbn < NDADDR) { + 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; + /* + * Traverse partially truncated indirect tree. + */ + if (lbn <= lastlbn && lbn + tmpval - 1 > lastlbn) + setup_trunc_indir(freeblks, ip, -lbn - i, + lastlbn, DIP(ip, i_ib[i]), needj); + } + /* + * Handle partial truncation to a frag boundary. + */ + if (frags) { + 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) + allocblock = 1; + } + ip->i_size = length; + 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 && frags) + 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) { + ip->i_size = length - lastoff; + DIP_SET(ip, i_size, ip->i_size); + 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); + } else if (lastoff != 0 && vp->v_type != VDIR) { + int size; + + /* + * Zero the end of a truncated frag or block. + */ + size = sblksize(fs, length, 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); + 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 +6125,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 +6132,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 +6202,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 +6216,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 @@ -5603,18 +6241,16 @@ softdep_setup_freeblocks(ip, length, flags) * the request here than in the !delay case. */ if ((freeblks->fb_state & ALLCOMPLETE) == ALLCOMPLETE) - add_to_worklist(&freeblks->fb_list, 1); - } - if (needj && LIST_EMPTY(&freeblks->fb_jfreeblkhd)) - needj = 0; - + add_to_worklist(&freeblks->fb_list, WK_NODELAY); + } 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 +6258,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 +6278,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 +6327,67 @@ 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); + if (free_pagedep(pagedep) == 0) + panic("Failed to free pagedep %p", pagedep); return (0); } @@ -5739,58 +6396,82 @@ 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 may always remain. + */ + if (off) { + allocbuf(bp, off); + bp->b_vflags |= BV_SCANNED; + return (EBUSY); + } + bp->b_flags |= B_INVAL | B_NOCACHE; - return (1); + return (0); } /* @@ -5800,20 +6481,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 +6518,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 +6538,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,17 +6562,44 @@ 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; } if (!LIST_EMPTY(&newblk->nb_jwork)) jwork_move(wkhd, &newblk->nb_jwork); + /* + * When truncating we must free the newdirblk early to remove + * the pagedep from the hash before returning. + */ + if ((wk = LIST_FIRST(&newblk->nb_newdirblk)) != NULL) + free_newdirblk(WK_NEWDIRBLK(wk)); + if (!LIST_EMPTY(&newblk->nb_newdirblk)) + panic("cancel_newblk: extra newdirblk"); return (jnewblk); } /* + * 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 +6609,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 +6642,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 +6657,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 +6686,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 +6715,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 +6831,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 +6859,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 +6929,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 +6957,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, WK_NODELAY); + } else if (--freeblks->fb_ref == 0) + add_to_worklist(&freeblks->fb_list, WK_NODELAY); + 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); } /* @@ -6320,38 +6978,79 @@ handle_written_freework(freework) * to the number of blocks allocated for the file) are also * performed in this function. */ -static void +static int handle_workitem_freeblocks(freeblks, flags) struct freeblks *freeblks; 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); - return; - } - freeblks->fb_ref++; + if (LIST_EMPTY(&freeblks->fb_freeworkhd)) + return handle_complete_freeblocks(freeblks, flags); + 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) + if (--freeblks->fb_ref != 0) { + freeblks->fb_state &= ~INPROGRESS; + if (freeblks->fb_state & IOWAITING) { + freeblks->fb_state &= ~IOWAITING; + wakeup(&freeblks->fb_list); + } freeblks = NULL; + } FREE_LOCK(&lk); if (freeblks) - handle_complete_freeblocks(freeblks); + return handle_complete_freeblocks(freeblks, flags); + return (0); } /* @@ -6359,41 +7058,73 @@ handle_workitem_freeblocks(freeblks, flags) * freeblocks dependency and any journal work awaiting completion. This * can not be called until all other dependencies are stable on disk. */ -static void -handle_complete_freeblocks(freeblks) +static int +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; + 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) + return (EBUSY); 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. @@ -6401,13 +7132,19 @@ handle_workitem_freeblocks(freeblks, flags) handle_jwork(&freeblks->fb_jwork); WORKITEM_FREE(freeblks, D_FREEBLKS); FREE_LOCK(&lk); + return (0); } /* - * 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 +7154,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 +7266,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 +7289,103 @@ 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) { + freework->fw_state |= ALLCOMPLETE; + 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); } /* @@ -6757,10 +7450,14 @@ setup_newdir(dap, newinum, dinum, newdirbp, mkdirp break; if (wk == NULL) panic("setup_newdir: lost allocdirect"); + if (pagedep->pd_state & NEWBLOCK) + panic("setup_newdir: NEWBLOCK already set"); newblk = WK_NEWBLK(wk); pagedep->pd_state |= NEWBLOCK; pagedep->pd_newdirblk = newdirblk; newdirblk->db_pagedep = pagedep; + if (!LIST_EMPTY(&newblk->nb_newdirblk)) + panic("setup_newdir: newdirblk already present in newblk."); WORKLIST_INSERT(&newblk->nb_newdirblk, &newdirblk->db_list); WORKLIST_INSERT(&newdirblk->db_mkdir, &mkdir1->md_list); /* @@ -6788,7 +7485,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; @@ -7327,7 +8024,7 @@ softdep_setup_remove(bp, dp, ip, isrmdir) direct = LIST_EMPTY(&dirrem->dm_jremrefhd); FREE_LOCK(&lk); if (direct) - handle_workitem_remove(dirrem, NULL); + handle_workitem_remove(dirrem, 0); } } @@ -7540,6 +8237,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 @@ -8092,10 +8790,10 @@ clear_unlinked_inodedep(inodedep) * This workitem decrements the inode's link count. * If the link count reaches zero, the file is removed. */ -static void -handle_workitem_remove(dirrem, xp) +static int +handle_workitem_remove(dirrem, flags) struct dirrem *dirrem; - struct vnode *xp; + int flags; { struct inodedep *inodedep; struct workhead dotdotwk; @@ -8105,7 +8803,6 @@ clear_unlinked_inodedep(inodedep) struct vnode *vp; struct inode *ip; ino_t oldinum; - int error; if (dirrem->dm_state & ONWORKLIST) panic("handle_workitem_remove: dirrem %p still on worklist", @@ -8113,12 +8810,9 @@ clear_unlinked_inodedep(inodedep) oldinum = dirrem->dm_oldinum; mp = dirrem->dm_list.wk_mp; ump = VFSTOUFS(mp); - if ((vp = xp) == NULL && - (error = ffs_vgetf(mp, oldinum, LK_EXCLUSIVE, &vp, - FFSV_FORCEINSMQ)) != 0) { - softdep_error("handle_workitem_remove: vget", error); - return; - } + flags |= LK_EXCLUSIVE; + if (ffs_vgetf(mp, oldinum, flags, &vp, FFSV_FORCEINSMQ) != 0) + return (EBUSY); ip = VTOI(vp); ACQUIRE_LOCK(&lk); if ((inodedep_lookup(mp, oldinum, 0, &inodedep)) == 0) @@ -8209,22 +8903,17 @@ clear_unlinked_inodedep(inodedep) if (inodedep == NULL || (inodedep->id_state & (DEPCOMPLETE | UNLINKED)) == UNLINKED || check_inode_unwritten(inodedep)) { - if (xp != NULL) - add_to_worklist(&dirrem->dm_list, 0); FREE_LOCK(&lk); - if (xp == NULL) { - vput(vp); - handle_workitem_remove(dirrem, NULL); - } - return; + vput(vp); + return handle_workitem_remove(dirrem, flags); } WORKLIST_INSERT(&inodedep->id_inowait, &dirrem->dm_list); FREE_LOCK(&lk); ip->i_flag |= IN_CHANGE; out: ffs_update(vp, 0); - if (xp == NULL) - vput(vp); + vput(vp); + return (0); } /* @@ -8372,7 +9061,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 +9085,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 +9589,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 +9612,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 +9654,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 +9664,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 +9684,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 +9769,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 +9784,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 +9824,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 +9943,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 +9963,7 @@ softdep_disk_write_complete(bp) struct worklist *wk; struct worklist *owk; struct workhead reattach; + struct freeblks *freeblks; struct buf *sbp; /* @@ -9277,6 +9981,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,18 +10023,16 @@ softdep_disk_write_complete(bp) case D_FREEBLKS: wk->wk_state |= COMPLETE; - if ((wk->wk_state & ALLCOMPLETE) == ALLCOMPLETE) - add_to_worklist(wk, 1); + freeblks = WK_FREEBLKS(wk); + if ((wk->wk_state & ALLCOMPLETE) == ALLCOMPLETE && + LIST_EMPTY(&freeblks->fb_jfreeblkhd)) + add_to_worklist(wk, WK_NODELAY); continue; case D_FREEWORK: 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 +10162,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 +10197,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 +10565,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 +10596,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 +10605,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 +10685,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 +10697,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 +10781,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); } @@ -10113,25 +10832,29 @@ handle_written_mkdir(mkdir, type) complete_mkdir(mkdir); } -static void +static int free_pagedep(pagedep) struct pagedep *pagedep; { int i; - if (pagedep->pd_state & (NEWBLOCK | ONWORKLIST)) - return; + if (pagedep->pd_state & NEWBLOCK) + return (0); + if (!LIST_EMPTY(&pagedep->pd_dirremhd)) + return (0); for (i = 0; i < DAHASHSZ; i++) if (!LIST_EMPTY(&pagedep->pd_diraddhd[i])) - return; + return (0); + if (!LIST_EMPTY(&pagedep->pd_pendinghd)) + return (0); if (!LIST_EMPTY(&pagedep->pd_jmvrefhd)) - return; - if (!LIST_EMPTY(&pagedep->pd_dirremhd)) - return; - if (!LIST_EMPTY(&pagedep->pd_pendinghd)) - return; + return (0); + if (pagedep->pd_state & ONWORKLIST) + WORKLIST_REMOVE(&pagedep->pd_list); LIST_REMOVE(pagedep, pd_hash); WORKITEM_FREE(pagedep, D_PAGEDEP); + + return (1); } /* @@ -10217,11 +10940,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 +11374,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 +11421,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 +11437,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 +11514,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 +11595,9 @@ loop: } continue; + case D_FREEWORK: + continue; + default: panic("softdep_sync_metadata: Unknown type %s", TYPENAME(wk->wk_type)); @@ -10851,11 +11650,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 +11741,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 +12084,8 @@ softdep_slowdown(vp) softdep_speedup(); stat_sync_limit_hit += 1; FREE_LOCK(&lk); + if (DOINGSUJ(vp)) + return (0); return (1); } @@ -11338,8 +12187,9 @@ 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) { + process_worklist_item(UFSTOVFS(ump), 1, LK_NOWAIT) != 0) { stat_worklist_push += 1; FREE_LOCK(&lk); UFS_LOCK(ump); @@ -11363,24 +12213,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 +12234,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; @@ -11432,8 +12281,7 @@ request_cleanup(mp, resource) */ if (ump->softdep_on_worklist > max_softdeps / 10) { td->td_pflags |= TDP_SOFTDEP; - process_worklist_item(mp, LK_NOWAIT); - process_worklist_item(mp, LK_NOWAIT); + process_worklist_item(mp, 2, LK_NOWAIT); td->td_pflags &= ~TDP_SOFTDEP; stat_worklist_push += 2; return(1); @@ -11664,6 +12512,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 +12560,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 222007) +++ /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 222007) +++ /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 222007) +++ /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 222007) +++ /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 222007) +++ /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 222007) +++ /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 222007) +++ /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 222007) +++ /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 222007) +++ /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