vm6 abcb461, vmcore.411 KDB: debugger backends: ddb KDB: current backend: ddb 524288K of memory above 4GB ignored Copyright (c) 1992-2010 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 r201756+abcb461-dirty: Mon Jan 11 14:27:58 CET 2010 pho@x4.osted.lan:/var/tmp/deviant2/sys/i386/compile/PHO i386 WARNING: WITNESS option enabled, expect reduced performance. WARNING: DIAGNOSTIC option enabled, expect reduced performance. Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: AMD Phenom(tm) 9150e Quad-Core Processor (1799.99-MHz 686-class CPU) Origin = "AuthenticAMD" Id = 0x100f23 Stepping = 3 Features=0x178bfbff Features2=0x802009 AMD Features=0xee500800 AMD Features2=0x7ff TSC: P-state invariant real memory = 4294967296 (4096 MB) avail memory = 3536142336 (3372 MB) : Trying to mount root from ufs:/dev/ad4s1a lock order reversal: 1st 0xc75c6964 vnode interlock (vnode interlock) @ kern/vfs_subr.c:2191 2nd 0xc18900e8 system map (system map) @ vm/vm_kern.c:289 KDB: stack backtrace: db_trace_self_wrapper(c0ca6271,f6431834,c08d57f5,c08c62db,c0ca9215,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c08c62db,c0ca9215,c712d178,c712d0a8,f6431890,...) at kdb_backtrace+0x29 _witness_debugger(c0ca9215,c18900e8,c0ccd6cb,c712d0a8,c0ccd9f8,...) at _witness_debugger+0x25 witness_checkorder(c18900e8,9,c0ccd9ef,121,0,...) at witness_checkorder+0x839 _mtx_lock_flags(c18900e8,0,c0ccd9ef,121,c1894900,...) at _mtx_lock_flags+0xc4 _vm_map_lock(c189008c,c0ccd9ef,121,f64318f4,c08d48b7,...) at _vm_map_lock+0x31 kmem_malloc(c189008c,1000,401,f6431980,c0aef59d,...) at kmem_malloc+0x3a page_alloc(c188b380,1000,f6431973,401,c188b380,...) at page_alloc+0x27 keg_alloc_slab(c1894908,4,c0cccd5c,83e,f64319c0,...) at keg_alloc_slab+0xed keg_fetch_slab(401,1b,c77bbf6c,f6431a18,c0af1591,...) at keg_fetch_slab+0x17f zone_fetch_slab(c188b380,c1894900,401,935,c0c2642e,...) at zone_fetch_slab+0x4c uma_zalloc_arg(c188b380,0,401,0,c75c68a0,...) at uma_zalloc_arg+0x581 malloc(5c,c0da032c,401,c0cb12a1,c75c68a0,...) at malloc+0xe6 v_record_ref(c75c6964,0,c0cb03e0,88f,4,...) at v_record_ref+0x3e vrele(c75c68a0,0,c0cce73d,1c6,c77c3220,...) at vrele+0x98 vm_object_deallocate(c77c3220,0,c0ccd5d3,a2,c191aa50,...) at vm_object_deallocate+0x1cc unlock_and_deallocate(c191c700,0,c0ccd5d3,3ad,5,...) at unlock_and_deallocate+0x106 vm_fault(c77ff0e8,80dd000,1,0,80dd140,...) at vm_fault+0x1c11 trap_pfault(5,0,c0cde11a,2f0,c78027f8,...) at trap_pfault+0x10d trap(f6431d38) at trap+0x2d0 calltrap() at calltrap+0x6 --- trap 0xc, eip = 0x8078af0, esp = 0xbfbfe810, ebp = 0xbfbfe818 --- Enter full pathname of shell or RETURN for /bin/sh: # mount -t ufs -a # swapon -a swapon: adding /dev/ad4s1b as swap device swapon: adding /dev/ad4s2b as swap device # dumpon /dev/ad4s1b # cd ~pho/stress2 # ./umount.sh run: run time 0+00:05:00, incarnations 1, load 100, verbose 1 15:08:58 Loop #1 swap: run time 0+00:02:00, incarnations 38, load 100, verbose 1 mmap: run time 0+00:02:00, incarnations 11, load 100, verbose 1 15:11:33 Loop #2 swap: run time 0+00:02:00, incarnations 20, load 100, verbose 1 mmap: run time 0+00:02:00, incarnations 12, load 100, verbose 1 15:13:35 Loop #3 mmap: run time 0+00:02:00, incarnations 3, load 100, verbose 1 swap: run time 0+00:02:00, incarnations 20, load 100, verbose 1 lock order reversal: 1st 0xc78658f8 ufs (ufs) @ kern/vfs_mount.c:1204 2nd 0xc78654a8 syncer (syncer) @ kern/vfs_subr.c:2223 KDB: stack backtrace: db_trace_self_wrapper(c0ca6271,f65aaa4c,c08d57f5,c08c62db,c0ca9215,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c08c62db,c0ca9215,c71338a8,c7133978,f65aaaa8,...) at kdb_backtrace+0x29 _witness_debugger(c0ca9215,c78654a8,c0cb055b,c7133978,c0cb03e9,...) at _witness_debugger+0x25 witness_checkorder(c78654a8,9,c0cb03e0,8af,0,...) at witness_checkorder+0x839 __lockmgr_args(c78654a8,80100,c7865514,0,0,...) at __lockmgr_args+0x804 vop_stdlock(f65aabc4,c09246aa,c0cb03e9,80100,c7865450,...) at vop_stdlock+0x65 VOP_LOCK1_APV(c0da0400,f65aabc4,c0881d13,c0dcb0c0,c7865450,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7865450,80100,c0cb03e0,8af,c0f6ca00,...) at _vn_lock+0x78 vrele(c7865450,0,c0cafbde,4f9,80,...) at vrele+0x16a dounmount(c786a5a8,8000000,c7803900,47e,ff1ca3a5,...) at dounmount+0x3ce unmount(c7803900,f65aacf8,8,c7803900,c0d8e828,...) at unmount+0x2ff syscall(f65aad38) at syscall+0x2b4 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (22, FreeBSD ELF32, unmount), eip = 0x280d9f7f, esp = 0xbfbfe43c, ebp = 0xbfbfe508 --- lock order reversal: 1st 0xc78658f8 ufs (ufs) @ kern/vfs_mount.c:1204 2nd 0xc7865788 devfs (devfs) @ ufs/ffs/ffs_softdep.c:1031 KDB: stack backtrace: db_trace_self_wrapper(c0ca6271,f65aa9dc,c08d57f5,c08c62db,c0ca9215,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c08c62db,c0ca9215,c71338a8,c7133770,f65aaa38,...) at kdb_backtrace+0x29 _witness_debugger(c0ca9215,c7865788,c0c97889,c7133770,c0cc9711,...) at _witness_debugger+0x25 witness_checkorder(c7865788,9,c0cc9708,407,c78657f4,...) at witness_checkorder+0x839 __lockmgr_args(c7865788,80400,c78657f4,0,0,...) at __lockmgr_args+0x804 vop_stdlock(f65aab54,4,c0ca1529,80400,c7865730,...) at vop_stdlock+0x65 VOP_LOCK1_APV(c0d8a9c0,f65aab54,c0f78504,c0dcb0c0,c7865730,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7865730,80400,c0cc9708,407,c786a5a8,...) at _vn_lock+0x78 softdep_flushworklist(c786a5a8,f65aac00,c7803900,553,c7865450,...) at softdep_flushworklist+0x47 ffs_sync(c786a5a8,1,c0cafbde,4f9,80,...) at ffs_sync+0x2fd dounmount(c786a5a8,8000000,c7803900,47e,ff1ca3a5,...) at dounmount+0x44e unmount(c7803900,f65aacf8,8,c7803900,c0d8e828,...) at unmount+0x2ff syscall(f65aad38) at syscall+0x2b4 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (22, FreeBSD ELF32, unmount), eip = 0x280d9f7f, esp = 0xbfbfe43c, ebp = 0xbfbfe508 --- run: run time 0+00:05:00, incarnations 1, load 100, verbose 1 15:15:42 Loop #1 mmap: run time 0+00:02:00, incarnations 4, load 100, verbose 1 swap: run time 0+00:02:00, incarnations 40, load 100, verbose 1 15:18:26 Loop #2 swap: run time 0+00:02:00, incarnations 36, load 100, verbose 1 mmap: run time 0+00:02:00, incarnations 6, load 100, verbose 1 15:20:33 Loop #3 swap: run time 0+00:02:00, incarnations 12, load 100, verbose 1 mmap: run time 0+00:02:00, incarnations 14, load 100, verbose 1 Kernel page fault with the following non-sleepable locks held: exclusive sleep mutex vnode interlock (vnode interlock) r = 0 (0xc79fc3a4) locked @ kern/vfs_subr.c:2123 KDB: stack backtrace: db_trace_self_wKernel page faultr with the followinga non-sleepablep locks held: pexclusive sleep mutex vnode interlockeKernel page fault (vnode interlock)r with the following r = 0 (0xc7b1f7f4) locked @ kern/vfs_subr.c:2253 ( non-sleepableKDB: stack backtrace: c locks held: 0dexclusive sleep mutex vnode interlockcb (vnode interlock)a_ r = 0 (0xc7fdcdb4) locked @ kern/vfs_subr.c:2253 6tKDB: stack backtrace: 2r7a1c,defb_6_s5te7rldaf8c_few0_r,sacep0lp8fed_r5w(7rcfa05pc,pace60r2c(7bc100,3cfKernel page faulta6e65 with the following29 non-sleepable77 locks held: 31exclusive sleep mutex vnode interlock9, (vnode interlock),8 r = 0 (0xc800cc44) locked @ kern/vfs_subr.c:2253 cfKDB: stack backtrace: 406b,,d5cb50_.a8t.ar.5ad)8c ,e5c_7a0sft85 ed,l5dfcb70_fcw5br,0a_c3p0ept9ecr,bar0c8(e3cc_de0,9c.,s.8a.c6e)2d 7,a1.tl,. ff.6)_5 wdar6tab9p_9p 7te4rdra,+bcc0e_0x_8t2sr6dea5lc 7fef__5ws,reckla0fdc_bpw_brp0ae3bperp9+ae,0r8c+cx0d2kx,62t.6r .a.c)e (ackt0k dcdbbd__bbbb_0at3caekcrtkar9cate,rc8_aesc4e(ebcl(,f0c_cf0wbcrfb0a03p3epe9ef,9f8r,cf+8d0fc,xdf2ff,f,6ff fcff0fffff3ffffkf1d,8fbc,c_0c,b0faffc33ke6eft7dr945a4,c7f,e6fd(596c255807ac3ab990,0f3,8.e..9,...,).8.) . a)ca dtta, tf ffkfkddfkbfb_fd_bbbf_a,bacccak0ckfkt3trtreaarecaceccc+ee,0++f0x06xx225926 999 9ac_,w.i.t_.w_ni)weti snaste_nsdtsee_b dsuesgbkgudegbrg__e(brdace(c0ckbc0utcara8g8a77cccg1ee,1rf,+6f(56055xa72a3caa0940 ,cc4a,,8417,,_10wc,,i0.1,.t.,..n)f. e6)as tsa 5_t7d de_9bwu_3igwtgicetnrne(,se4ss,cs_01dc_e,adb80ue7,gbcgu1.eg,.rgf+.e60r5x+)2605 x9 a29t5c 0,w4_i,wt1in,tew0ns,eis.t_snw.sea_s.drsen_b(wu5a),g 0grae,nrct+(0 50c,xd0_e2w,5ic1t0 1ncaed,secs11w1_8iad9te4,bn9uc0e18g8,sgc9es7r_a4+cw96000xa80r,20n5,c(.7 .5a.,c)05 ,2caa0t8w ,ci.dt.wn.ie)et 1nas1tsea _s,wsc_wa1wr8ai9nt4r(9n50+,n00e8xs,1,sfc_cdw07ac ard9ne1+1d01xta14rf,adc8 1p,8(.9f.46.59)t0 5r8aaa,bpc3(t07 )fa 6ca5wt57i 73tfan89t,e8r.s)as p.a_+.wt0)a xra1n9t+ert a0 px+10cfwadxli l1tt9nreea pst(sr_)ac wpaaat(l rfln6t+5cr0a7alxdlp1t(9f)rc a8adpt)+ 0axt6 c at-tr-lr-laa ppt(+trfra6ap05px6+1 9090axx46cce ,)- -ea-it p t r=a cp0t xa0rcla0xp9c+l,20 3xta1er94iea0p p, ( =ec)sa l0pla xt=c t00r9ax2pcf3(aa)6l45 05a,at lb et7sr0pc,a a=ple lb+0p0x xt=fr 6a605px7+ f036-ax5d65-8a ,b- -8e cb- pt-- r -=t- a r0pax fpv6 _500r7xex3ccao,cr fde,_4 rie epif- (-=c- p7 0f=xd vcc_0d0rxb9c4e20,c930oa2r,3d4c_0a0r,4ce 0bfe,0s(3pce 7=e0bs ,10p8xf cf7d6=,f504 ,6,.90.0,.xa)f8 cca60,5tc7 bde0a3bvep0_08r ,e=8c,co rded0,b_xcpfr76 be=1f5 f6+7900a3xa04x,80. f -.6-.5-)7 d vaaptvu _2tr4(ev cc_-o7rrfeddc_co-crrfde0_-f,r (fecfff8+f00fvxf_40dr0fec ,ccco47r4fd,d_0vr,cepccufft(0(c,07cfc96b7f05bc531a3efc070a3c,4,08,,bcff06bd,f5,ec790f83c46bb,54.6c09,.ac.e0)34c e,ba.0t.1, 8.8c)44v b,a,1tp3cu4 7t,9+20v,xf.9_.cbr. 3e)ac 4oa,rtdk ._e.rrevn.p_fu)u+tn0 +xal40tix0n9 k ba vt_(rce7vcfpcvou0nr0_t0c(0lc,dof8_fs0re0fe(cfcff7bfb8+9100cfx,,74b30f00 b,,fc3e0,9cd8fcv49b,7dg007,81f,06e0e2,53ct57,(fa1cc,b87.09e.,f4.c.8)2. 0.a,)ef t6a 05t,7 83v0bpa1kcue,tr.0n+0._0,.ux)cn9 l7baift nb kea0t0+v00nhx_,1accn53l0 do,ls0ee,_+.wk0.oex.r1)nr9 k_aiuatn etlm i_nrke(mvcon7v_fvecgcl(0oec0s00ef0ft7,i8bl+5e0f(x0b1c4f8,aec09198,c4c9 0,6c08c,,9fc7v6705f85b,faecd4d28sc07,,_c3,h,00a0b,,cs.chf8_.cg.99)ce19 t4a6,t(.8c .,7..7).h .aa)an tddal tbe 5_0kw,evor5nnrc_k_u5ciclt0one7ls,me8if_0nri0elk0em0++,0o0xvc2xe7e7 +4f0 bxe104u0en0 l_,iffnd6kr5(o7cspdo7b(ffc0ct80d,08e.cp09_0c.,9.f6)68s5,e 5cat7autcfp fb_8er,e4v48f,msc0o0_v,cefhc6(5a5es177eh036fc,61_c8f0,cgdc0e80te8,+d6c0d59x863e3,5c.d,.90.e,)8c 07a f,tbc e9532549fu,cnfclb0s0i_,fn0v3k,g+ee07ft9xf62052,6( c9c0b7d579ca7dsdby,2s.5c0.a,.l0)l,c (05afctc9 65d5c70s57oabf,dt8ad3,08ce)70 p7a0bt0f _,6sf2e6sc5t,y7us4dc8ba8pl0_l,r+c80e,xm120o,bvc4e9. +d.07.xb)X11i, nf2ta40t 6x 58703_fcsfy4us0scf_a,vlcslg0_e(8t)9fd9 ibarct+r 00e,xm4Xco97v i7enb(tfc068x20h80acb0,2_8es,0ycns0dcc,lac9le9l_3+wd0o5xr72k90bci1 t,-b4e-80m-,8 5)s0 _y0ars8tec0ma0 olcvl,e _0(f,1dc0r(8ocp,00 +fF00rxb7e42e3e8B 50S0,D4. ,.0Ec,lL.cFo)3s 02ec,ac tfu (9nc7l8uicf09snc_89dk6,)i8,c,r dcer77e,fi0bpm, eo=4v 8e.0+0.0x,x241.88)16 8a7a,at4 9 64df,,hc a7ue7fsnbpsfd 6_=2l cr0,ex.eb._mfw.ob)vf eoae(t8r dfkc6i5,c6t l9eocbs3pe4 f,=+c 000exxc2be9mf01b 0_fcrecea,m00ko8e,v r0en-+_-,0-ccx l8 40 o0Fatal trap 12: page fault while in kernel mode 5sc cpuid = 0; ebapic id = 00 (s8fault virtual address = 0x8 c0ofault code = supervisor write, page not present 7,ff.tb.de.einstruction pointer = 0x20:0xc0923a40 4)p8 stack pointer = 0x28:0xf655ab70 _0aframe pointer = 0x28:0xf655ab8c s,code segment = base 0x0, limit 0xfffff, type 0x1b t4 = DPL 0, pres 1, def32 1, gran 1 e,processor eflags = ftinterrupt enabled, uuresume, f6pIOPL = 0 5s_current process = _7304 (mmap) [thread pid 304 tid 100148 ] Stopped at v_record_ref+0x40: movl %edi,0x8(%eax) db> lock order reversal: 1st 0xc7fdcdb4 vnode interlock (vnode interlock) @ kern/vfs_subr.c:2253 2nd 0xc73fa474 firewire (firewire) @ dev/firewire/fwohci.c:2117 KDB: stack backtrace: db_trace_self_wrapper(c0ca6271,f655a89c,c08d57f5,c08c62db,c0ca9215,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c08c62db,c0ca9215,c712d178,c7131bd0,f655a8f8,...) at kdb_backtrace+0x29 _witness_debugger(c0ca9215,c73fa474,c0c6d07d,c7131bd0,c0c6c782,...) at _witness_debugger+0x25 witness_checkorder(c73fa474,9,c0c6c779,845,0,...) at witness_checkorder+0x839 _mtx_lock_flags(c73fa474,0,c0c6c779,845,c73a5640,...) at _mtx_lock_flags+0xc4 fwohci_poll(c73f6000,ffffffff,ffffffff,f655a97c,c060722e,...) at fwohci_poll+0x35 dcons_crom_poll(c73c2400,0,c0c6741c,c1,c0dd7b40,...) at dcons_crom_poll+0x25 dcons_os_checkc(f655a994,c08518fa,c0d39e40,78,f655a99c,...) at dcons_os_checkc+0xae dcons_cngetc(c0d39e40,78,f655a99c,c0851936,f655a9bc,...) at dcons_cngetc+0xe cncheckc(f655a9bc,c04d2655,c0c4b3d5,c04d3900,f655a9b8,...) at cncheckc+0x3a cngetc(c0c4b3d5,c04d3900,f655a9b8,f655a9f4,1,...) at cngetc+0x16 db_readline(c0dcdde0,78,f655a9d8,c04d1296,c0c4b3d5,...) at db_readline+0x75 db_read_line(c0c4b3d5,f655aa2c,c04d314d,c0cda255,3,...) at db_read_line+0x1a db_command_loop(c0cda255,3,0,f655aa10,f6573968,...) at db_command_loop+0x46 db_trap(c,0,e,28,f655ab30,...) at db_trap+0xdd kdb_trap(c,0,f655ab30,1,1,...) at kdb_trap+0x96 trap_fatal(5,0,c0cde11a,c1894908,c7ac6000,...) at trap_fatal+0x2ef trap(f655ab30) at trap+0x1ac calltrap() at calltrap+0x6 --- trap 0xc, eip = 0xc0923a40, esp = 0xf655ab70, ebp = 0xf655ab8c --- v_record_ref(c7fdcdb4,0,c0cb03e0,8cd,0,...) at v_record_ref+0x40 vput(c7fdccf0,ffffffdf,c7fdccf0,f655ac0c,bfbfe984,...) at vput+0x9b kern_unlinkat(c7fc0000,ffffff9c,bfbfe984,0,f655ac80,...) at kern_unlinkat+0x1c3 kern_unlink(c7fc0000,bfbfe984,0,f655ad2c,c0bcf914,...) at kern_unlink+0x27 unlink(c7fc0000,f655acf8,4,c0cc51e6,c0d8e6d8,...) at unlink+0x22 syscall(f655ad38) at syscall+0x2b4 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x2817a94f, esp = 0xbfbfe8dc, ebp = 0xbfbfea08 --- run pho script 'pho' not found db> set $lines 0 db> bt Tracing pid 304 tid 100148 td 0xc7fc0000 v_record_ref(c7fdcdb4,0,c0cb03e0,8cd,0,...) at v_record_ref+0x40 vput(c7fdccf0,ffffffdf,c7fdccf0,f655ac0c,bfbfe984,...) at vput+0x9b kern_unlinkat(c7fc0000,ffffff9c,bfbfe984,0,f655ac80,...) at kern_unlinkat+0x1c3 kern_unlink(c7fc0000,bfbfe984,0,f655ad2c,c0bcf914,...) at kern_unlink+0x27 unlink(c7fc0000,f655acf8,4,c0cc51e6,c0d8e6d8,...) at unlink+0x22 syscall(f655ad38) at syscall+0x2b4 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x2817a94f, esp = 0xbfbfe8dc, ebp = 0xbfbfea08 --- db> show allpcpu Current CPU: 0 cpuid = 0 dynamic pcpu = 0x659800 curthread = 0xc7fc0000: pid 304 "mmap" curpcb = 0xf655ad90 fpcurthread = none idlethread = 0xc717b480: pid 11 "idle: cpu0" APIC ID = 0 currentldt = 0x50 spin locks held: cpuid = 1 dynamic pcpu = 0x6018800 curthread = 0xc7fbe480: pid 289 "mmap" curpcb = 0xf6573d90 fpcurthread = none idlethread = 0xc717b6c0: pid 11 "idle: cpu1" APIC ID = 1 currentldt = 0x50 spin locks held: cpuid = 2 dynamic pcpu = 0x601b800 curthread = 0xc7fbe900: pid 307 "mmap" curpcb = 0xf6569d90 fpcurthread = none idlethread = 0xc717b900: pid 11 "idle: cpu2" APIC ID = 2 currentldt = 0x50 spin locks held: cpuid = 3 dynamic pcpu = 0x601e800 curthread = 0xc7fbe000: pid 287 "mmap" curpcb = 0xf657dd90 fpcurthread = none idlethread = 0xc717bb40: pid 11 "idle: cpu3" APIC ID = 3 currentldt = 0x50 spin locks held: db> show alllocks Process 307 (mmap) thread 0xc7fbe900 (100151) exclusive sleep mutex vnode interlock (vnode interlock) r = 0 (0xc800cc44) locked @ kern/vfs_subr.c:2253 exclusive lockmgr bufwait (bufwait) r = 0 (0xe70f7020) locked @ kern/vfs_bio.c:2559 exclusive lockmgr ufs (ufs) r = 1 (0xc800cbd8) locked @ kern/vfs_subr.c:2115 exclusive lockmgr ufs (ufs) r = 0 (0xc800b338) locked @ kern/vfs_lookup.c:497 Process 306 (mmap) thread 0xc7fbeb40 (100150) exclusive lockmgr ufs (ufs) r = 0 (0xc9757618) locked @ kern/vfs_lookup.c:497 Process 305 (mmap) thread 0xc7fbed80 (100149) exclusive lockmgr ufs (ufs) r = 0 (0xc7888058) locked @ kern/vfs_vnops.c:308 Process 304 (mmap) thread 0xc7fc0000 (100148) exclusive sleep mutex vnode interlock (vnode interlock) r = 0 (0xc7fdcdb4) locked @ kern/vfs_subr.c:2253 exclusive lockmgr ufs (ufs) r = 0 (0xc7fdcd48) locked @ kern/vfs_subr.c:2115 Process 289 (mmap) thread 0xc7fbe480 (100153) exclusive sleep mutex vnode interlock (vnode interlock) r = 0 (0xc7b1f7f4) locked @ kern/vfs_subr.c:2253 exclusive lockmgr ufs (ufs) r = 0 (0xc7b1f788) locked @ kern/vfs_vnops.c:308 Process 287 (mmap) thread 0xc7fbe000 (100155) exclusive sleep mutex vnode interlock (vnode interlock) r = 0 (0xc79fc3a4) locked @ kern/vfs_subr.c:2123 exclusive lockmgr bufwait (bufwait) r = 0 (0xe70f90a0) locked @ kern/vfs_bio.c:2559 exclusive lockmgr ufs (ufs) r = 1 (0xc79fc338) locked @ kern/vfs_subr.c:2115 exclusive lockmgr ufs (ufs) r = 0 (0xc7a071c8) locked @ kern/vfs_lookup.c:497 db> show lockedvnods Locked vnodes 0xc7a07170: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc7ac4908 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7fbe000 (pid 287) #0 0xc0879b52 at __lockmgr_args+0x592 #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0918ce6 at lookup+0x106 #5 0xc091a09f at namei+0x57f #6 0xc092a154 at kern_unlinkat+0x54 #7 0xc092a357 at kern_unlink+0x27 #8 0xc092a382 at unlink+0x22 #9 0xc0bcf914 at syscall+0x2b4 #10 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052867, on dev ad4s1e 0xc800b2e0: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc7a9b880 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7fbe900 (pid 307) #0 0xc0879b52 at __lockmgr_args+0x592 #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0918ce6 at lookup+0x106 #5 0xc091a09f at namei+0x57f #6 0xc092a154 at kern_unlinkat+0x54 #7 0xc092a357 at kern_unlink+0x27 #8 0xc092a382 at unlink+0x22 #9 0xc0bcf914 at syscall+0x2b4 #10 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052887, on dev ad4s1e 0xc97575c0: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc7aaa908 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7fbeb40 (pid 306) #0 0xc0879b52 at __lockmgr_args+0x592 #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0918ce6 at lookup+0x106 #5 0xc091a09f at namei+0x57f #6 0xc0931ab0 at vn_open_cred+0x90 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052889, on dev ad4s1e 0xc800cb80: tag ufs, type VREG usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc7a00880 ref 0 pages 4 lock type ufs: EXCL by thread 0xc7fbe900 (pid 307) #0 0xc087a1be at __lockmgr_args+0xbfe #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0925fab at vget+0xbb #5 0xc0917fed at vfs_hash_get+0xed #6 0xc0ad04c9 at ffs_vgetf+0x49 #7 0xc0ad0a4e at ffs_vget+0x2e #8 0xc0ade051 at ufs_lookup_+0x7f1 #9 0xc0ade39e at ufs_lookup+0x1e #10 0xc0be7095 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0911de6 at vfs_cache_lookup+0xd6 #12 0xc0be9a45 at VOP_LOOKUP_APV+0xe5 #13 0xc091925b at lookup+0x67b #14 0xc091a09f at namei+0x57f #15 0xc092a154 at kern_unlinkat+0x54 #16 0xc092a357 at kern_unlink+0x27 #17 0xc092a382 at unlink+0x22 ino 6052877, on dev ad4s1e REF 2 vref lock order reversal: (sleepable after non-sleepable) 1st 0xc7fdcdb4 vnode interlock (vnode interlock) @ kern/vfs_subr.c:2253 2nd 0xc0dfe96c kernel linker (kernel linker) @ kern/kern_linker.c:976 KDB: stack backtrace: db_trace_self_wrapper(c0ca6271,f655a668,c08d57f5,c08c62db,c0ca9215,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c08c62db,c0ca9215,c712d178,c712fbb8,f655a6c4,...) at kdb_backtrace+0x29 _witness_debugger(c0ca9215,c0dfe96c,c0c9f6fc,c712fbb8,c0c9f749,...) at _witness_debugger+0x25 witness_checkorder(c0dfe96c,9,c0c9f740,3d0,0,...) at witness_checkorder+0x839 _sx_xlock(c0dfe96c,0,c0c9f740,3d0,40,...) at _sx_xlock+0x85 linker_search_symbol_name(c0923a54,f655a74c,40,f655a748,0,...) at linker_search_symbol_name+0x2b stack_symbol(f655a748,f655a74c,c08c62db,c0ca7ab9,f655a758,...) at stack_symbol+0x2a stack_print(e6fb9c90,2,c0cb0d31,4,0,...) at stack_print+0x4d vn_printf(c800cb80,c0c5e55f,c0c8c970,c0dcad00,c800cb80,...) at vn_printf+0x499 lockedvnodes(c0923a40,0,ffffffff,f655a944,1,...) at lockedvnodes+0x6a db_command(c0c4b3d5,f655aa2c,c04d314d,c0cda255,3,...) at db_command+0x381 db_command_loop(c0cda255,3,0,f655aa10,f6573968,...) at db_command_loop+0x5a db_trap(c,0,e,28,f655ab30,...) at db_trap+0xdd kdb_trap(c,0,f655ab30,1,1,...) at kdb_trap+0x96 trap_fatal(5,0,c0cde11a,c1894908,c7ac6000,...) at trap_fatal+0x2ef trap(f655ab30) at trap+0x1ac calltrap() at calltrap+0x6 --- trap 0xc, eip = 0xc0923a40, esp = 0xf655ab70, ebp = 0xf655ab8c --- v_record_ref(c7fdcdb4,0,c0cb03e0,8cd,0,...) at v_record_ref+0x40 vput(c7fdccf0,ffffffdf,c7fdccf0,f655ac0c,bfbfe984,...) at vput+0x9b kern_unlinkat(c7fc0000,ffffff9c,bfbfe984,0,f655ac80,...) at kern_unlinkat+0x1c3 kern_unlink(c7fc0000,bfbfe984,0,f655ad2c,c0bcf914,...) at kern_unlink+0x27 unlink(c7fc0000,f655acf8,4,c0cc51e6,c0d8e6d8,...) at unlink+0x22 syscall(f655ad38) at syscall+0x2b4 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x2817a94f, esp = 0xbfbfe8dc, ebp = 0xbfbfea08 --- #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b0e9a8 at vnode_create_vobject+0x1c8 #4 0xc0ae3d9d at ufs_open+0x6d #5 0xc0be6f45 at VOP_OPEN_APV+0xc5 #6 0xc0931ee1 at vn_open_cred+0x4c1 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b0e9f6 at vnode_create_vobject+0x216 #3 0xc0ae3d9d at ufs_open+0x6d #4 0xc0be6f45 at VOP_OPEN_APV+0xc5 #5 0xc0931ee1 at vn_open_cred+0x4c1 #6 0xc093201b at vn_open+0x3b #7 0xc092fcdf at kern_openat+0x11f #8 0xc0930245 at kern_open+0x35 #9 0xc0930280 at open+0x30 #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0afd6d5 at vm_mmap+0x245 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b08687 at vm_pager_allocate+0x57 #4 0xc0afd8b9 at vm_mmap+0x429 #5 0xc0afe2fe at mmap+0x3ae #6 0xc0bcf914 at syscall+0x2b4 #7 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0afd8f1 at vm_mmap+0x461 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 2 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af9446 at _vm_map_unlock+0x76 #4 0xc0afe5e8 at munmap+0x188 #5 0xc0bcf914 at syscall+0x2b4 #6 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 0 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0932b2a at vn_close+0x19a #3 0xc0932c24 at vn_closefile+0xe4 #4 0xc0858543 at _fdrop+0x43 #5 0xc085a270 at closef+0x290 #6 0xc085a617 at kern_close+0x117 #7 0xc085a7ba at close+0x1a #8 0xc0bcf914 at syscall+0x2b4 #9 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0917fed at vfs_hash_get+0xed #3 0xc0ad04c9 at ffs_vgetf+0x49 #4 0xc0ad0a4e at ffs_vget+0x2e #5 0xc0ade051 at ufs_lookup_+0x7f1 #6 0xc0ade39e at ufs_lookup+0x1e #7 0xc0be7095 at VOP_CACHEDLOOKUP_APV+0xc5 #8 0xc0911de6 at vfs_cache_lookup+0xd6 #9 0xc0be9a45 at VOP_LOOKUP_APV+0xe5 #10 0xc091925b at lookup+0x67b #11 0xc091a09f at namei+0x57f #12 0xc092a154 at kern_unlinkat+0x54 #13 0xc092a357 at kern_unlink+0x27 #14 0xc092a382 at unlink+0x22 #15 0xc0bcf914 at syscall+0x2b4 #16 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0917fed at vfs_hash_get+0xed #3 0xc0ad04c9 at ffs_vgetf+0x49 #4 0xc0ac5c95 at handle_workitem_remove+0x45 #5 0xc0ac6a84 at softdep_setup_remove+0x124 #6 0xc0ade67a at ufs_dirremove+0x16a #7 0xc0ae557e at ufs_remove+0x6e #8 0xc0be91d6 at VOP_REMOVE_APV+0xf6 #9 0xc092a281 at kern_unlinkat+0x181 #10 0xc092a357 at kern_unlink+0x27 #11 0xc092a382 at unlink+0x22 #12 0xc0bcf914 at syscall+0x2b4 #13 0xc0bb1c70 at Xint0x80_syscall+0x20 0xc7888000: tag ufs, type VREG usecount 0, writecount 0, refcount 2 mountedhere 0 flags (VI_DOINGINACT) v_object 0xc7a02cc0 ref 0 pages 4 lock type ufs: EXCL by thread 0xc7fbed80 (pid 305) #0 0xc087a1be at __lockmgr_args+0xbfe #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0932a38 at vn_close+0xa8 #5 0xc0932c24 at vn_closefile+0xe4 #6 0xc0858543 at _fdrop+0x43 #7 0xc085a270 at closef+0x290 #8 0xc085a617 at kern_close+0x117 #9 0xc085a7ba at close+0x1a #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052880, on dev ad4s1e REF 2 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b0e9a8 at vnode_create_vobject+0x1c8 #4 0xc0ae3d9d at ufs_open+0x6d #5 0xc0be6f45 at VOP_OPEN_APV+0xc5 #6 0xc0931ee1 at vn_open_cred+0x4c1 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b0e9f6 at vnode_create_vobject+0x216 #3 0xc0ae3d9d at ufs_open+0x6d #4 0xc0be6f45 at VOP_OPEN_APV+0xc5 #5 0xc0931ee1 at vn_open_cred+0x4c1 #6 0xc093201b at vn_open+0x3b #7 0xc092fcdf at kern_openat+0x11f #8 0xc0930245 at kern_open+0x35 #9 0xc0930280 at open+0x30 #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0afd6d5 at vm_mmap+0x245 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b08687 at vm_pager_allocate+0x57 #4 0xc0afd8b9 at vm_mmap+0x429 #5 0xc0afe2fe at mmap+0x3ae #6 0xc0bcf914 at syscall+0x2b4 #7 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0afd8f1 at vm_mmap+0x461 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 2 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af9446 at _vm_map_unlock+0x76 #4 0xc0afe5e8 at munmap+0x188 #5 0xc0bcf914 at syscall+0x2b4 #6 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 0 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0932b2a at vn_close+0x19a #3 0xc0932c24 at vn_closefile+0xe4 #4 0xc0858543 at _fdrop+0x43 #5 0xc085a270 at closef+0x290 #6 0xc085a617 at kern_close+0x117 #7 0xc085a7ba at close+0x1a #8 0xc0bcf914 at syscall+0x2b4 #9 0xc0bb1c70 at Xint0x80_syscall+0x20 0xc79fc2e0: tag ufs, type VREG usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc7ac4ee0 ref 0 pages 4 lock type ufs: EXCL by thread 0xc7fbe000 (pid 287) #0 0xc087a1be at __lockmgr_args+0xbfe #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0925fab at vget+0xbb #5 0xc0917fed at vfs_hash_get+0xed #6 0xc0ad04c9 at ffs_vgetf+0x49 #7 0xc0ad0a4e at ffs_vget+0x2e #8 0xc0ade051 at ufs_lookup_+0x7f1 #9 0xc0ade39e at ufs_lookup+0x1e #10 0xc0be7095 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0911de6 at vfs_cache_lookup+0xd6 #12 0xc0be9a45 at VOP_LOOKUP_APV+0xe5 #13 0xc091925b at lookup+0x67b #14 0xc091a09f at namei+0x57f #15 0xc092a154 at kern_unlinkat+0x54 #16 0xc092a357 at kern_unlink+0x27 #17 0xc092a382 at unlink+0x22 ino 6052871, on dev ad4s1e REF 2 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b0e9a8 at vnode_create_vobject+0x1c8 #4 0xc0ae3d9d at ufs_open+0x6d #5 0xc0be6f45 at VOP_OPEN_APV+0xc5 #6 0xc0931ee1 at vn_open_cred+0x4c1 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b0e9f6 at vnode_create_vobject+0x216 #3 0xc0ae3d9d at ufs_open+0x6d #4 0xc0be6f45 at VOP_OPEN_APV+0xc5 #5 0xc0931ee1 at vn_open_cred+0x4c1 #6 0xc093201b at vn_open+0x3b #7 0xc092fcdf at kern_openat+0x11f #8 0xc0930245 at kern_open+0x35 #9 0xc0930280 at open+0x30 #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0afd6d5 at vm_mmap+0x245 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b08687 at vm_pager_allocate+0x57 #4 0xc0afd8b9 at vm_mmap+0x429 #5 0xc0afe2fe at mmap+0x3ae #6 0xc0bcf914 at syscall+0x2b4 #7 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0afd8f1 at vm_mmap+0x461 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 2 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af9446 at _vm_map_unlock+0x76 #4 0xc0afe5e8 at munmap+0x188 #5 0xc0bcf914 at syscall+0x2b4 #6 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 0 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0932b2a at vn_close+0x19a #3 0xc0932c24 at vn_closefile+0xe4 #4 0xc0858543 at _fdrop+0x43 #5 0xc085a270 at closef+0x290 #6 0xc085a617 at kern_close+0x117 #7 0xc085a7ba at close+0x1a #8 0xc0bcf914 at syscall+0x2b4 #9 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0917fed at vfs_hash_get+0xed #3 0xc0ad04c9 at ffs_vgetf+0x49 #4 0xc0ad0a4e at ffs_vget+0x2e #5 0xc0ade051 at ufs_lookup_+0x7f1 #6 0xc0ade39e at ufs_lookup+0x1e #7 0xc0be7095 at VOP_CACHEDLOOKUP_APV+0xc5 #8 0xc0911de6 at vfs_cache_lookup+0xd6 #9 0xc0be9a45 at VOP_LOOKUP_APV+0xe5 #10 0xc091925b at lookup+0x67b #11 0xc091a09f at namei+0x57f #12 0xc092a154 at kern_unlinkat+0x54 #13 0xc092a357 at kern_unlink+0x27 #14 0xc092a382 at unlink+0x22 #15 0xc0bcf914 at syscall+0x2b4 #16 0xc0bb1c70 at Xint0x80_syscall+0x20 0xc7b1f730: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc7a6a220 ref 0 pages 4 lock type ufs: EXCL by thread 0xc7fbe480 (pid 289) #0 0xc087a1be at __lockmgr_args+0xbfe #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0932a38 at vn_close+0xa8 #5 0xc0932c24 at vn_closefile+0xe4 #6 0xc0858543 at _fdrop+0x43 #7 0xc085a270 at closef+0x290 #8 0xc085a617 at kern_close+0x117 #9 0xc085a7ba at close+0x1a #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052874, on dev ad4s1e REF 2 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b0e9a8 at vnode_create_vobject+0x1c8 #4 0xc0ae3d9d at ufs_open+0x6d #5 0xc0be6f45 at VOP_OPEN_APV+0xc5 #6 0xc0931ee1 at vn_open_cred+0x4c1 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b0e9f6 at vnode_create_vobject+0x216 #3 0xc0ae3d9d at ufs_open+0x6d #4 0xc0be6f45 at VOP_OPEN_APV+0xc5 #5 0xc0931ee1 at vn_open_cred+0x4c1 #6 0xc093201b at vn_open+0x3b #7 0xc092fcdf at kern_openat+0x11f #8 0xc0930245 at kern_open+0x35 #9 0xc0930280 at open+0x30 #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0afd6d5 at vm_mmap+0x245 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b08687 at vm_pager_allocate+0x57 #4 0xc0afd8b9 at vm_mmap+0x429 #5 0xc0afe2fe at mmap+0x3ae #6 0xc0bcf914 at syscall+0x2b4 #7 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0afd8f1 at vm_mmap+0x461 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 2 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af9446 at _vm_map_unlock+0x76 #4 0xc0afe5e8 at munmap+0x188 #5 0xc0bcf914 at syscall+0x2b4 #6 0xc0bb1c70 at Xint0x80_syscall+0x20 0xc7fdccf0: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags (VV_NOSYNC) VI_LOCKed v_object 0xc7ac44c8 ref 0 pages 4 lock type ufs: EXCL by thread 0xc7fc0000 (pid 304) #0 0xc087a1be at __lockmgr_args+0xbfe #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0925fab at vget+0xbb #5 0xc0917fed at vfs_hash_get+0xed #6 0xc0ad04c9 at ffs_vgetf+0x49 #7 0xc0ad0a4e at ffs_vget+0x2e #8 0xc0ade051 at ufs_lookup_+0x7f1 #9 0xc0ade39e at ufs_lookup+0x1e #10 0xc0be7095 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0911de6 at vfs_cache_lookup+0xd6 #12 0xc0be9a45 at VOP_LOOKUP_APV+0xe5 #13 0xc091925b at lookup+0x67b #14 0xc091a09f at namei+0x57f #15 0xc092a154 at kern_unlinkat+0x54 #16 0xc092a357 at kern_unlink+0x27 #17 0xc092a382 at unlink+0x22 ino 6052879, on dev ad4s1e REF 2 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b0e9a8 at vnode_create_vobject+0x1c8 #4 0xc0ae3d9d at ufs_open+0x6d #5 0xc0be6f45 at VOP_OPEN_APV+0xc5 #6 0xc0931ee1 at vn_open_cred+0x4c1 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b0e9f6 at vnode_create_vobject+0x216 #3 0xc0ae3d9d at ufs_open+0x6d #4 0xc0be6f45 at VOP_OPEN_APV+0xc5 #5 0xc0931ee1 at vn_open_cred+0x4c1 #6 0xc093201b at vn_open+0x3b #7 0xc092fcdf at kern_openat+0x11f #8 0xc0930245 at kern_open+0x35 #9 0xc0930280 at open+0x30 #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0afd6d5 at vm_mmap+0x245 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b08687 at vm_pager_allocate+0x57 #4 0xc0afd8b9 at vm_mmap+0x429 #5 0xc0afe2fe at mmap+0x3ae #6 0xc0bcf914 at syscall+0x2b4 #7 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0afd8f1 at vm_mmap+0x461 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 2 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af9446 at _vm_map_unlock+0x76 #4 0xc0afe5e8 at munmap+0x188 #5 0xc0bcf914 at syscall+0x2b4 #6 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 0 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0932b2a at vn_close+0x19a #3 0xc0932c24 at vn_closefile+0xe4 #4 0xc0858543 at _fdrop+0x43 #5 0xc085a270 at closef+0x290 #6 0xc085a617 at kern_close+0x117 #7 0xc085a7ba at close+0x1a #8 0xc0bcf914 at syscall+0x2b4 #9 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0917fed at vfs_hash_get+0xed #3 0xc0ad04c9 at ffs_vgetf+0x49 #4 0xc0ad0a4e at ffs_vget+0x2e #5 0xc0ade051 at ufs_lookup_+0x7f1 #6 0xc0ade39e at ufs_lookup+0x1e #7 0xc0be7095 at VOP_CACHEDLOOKUP_APV+0xc5 #8 0xc0911de6 at vfs_cache_lookup+0xd6 #9 0xc0be9a45 at VOP_LOOKUP_APV+0xe5 #10 0xc091925b at lookup+0x67b #11 0xc091a09f at namei+0x57f #12 0xc092a154 at kern_unlinkat+0x54 #13 0xc092a357 at kern_unlink+0x27 #14 0xc092a382 at unlink+0x22 #15 0xc0bcf914 at syscall+0x2b4 #16 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0917fed at vfs_hash_get+0xed #3 0xc0ad04c9 at ffs_vgetf+0x49 #4 0xc0ac5c95 at handle_workitem_remove+0x45 #5 0xc0ac6a84 at softdep_setup_remove+0x124 #6 0xc0ade67a at ufs_dirremove+0x16a #7 0xc0ae557e at ufs_remove+0x6e #8 0xc0be91d6 at VOP_REMOVE_APV+0xf6 #9 0xc092a281 at kern_unlinkat+0x181 #10 0xc092a357 at kern_unlink+0x27 #11 0xc092a382 at unlink+0x22 #12 0xc0bcf914 at syscall+0x2b4 #13 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0ac5d9e at handle_workitem_remove+0x14e #3 0xc0ac6a84 at softdep_setup_remove+0x124 #4 0xc0ade67a at ufs_dirremove+0x16a #5 0xc0ae557e at ufs_remove+0x6e #6 0xc0be91d6 at VOP_REMOVE_APV+0xf6 #7 0xc092a281 at kern_unlinkat+0x181 #8 0xc092a357 at kern_unlink+0x27 #9 0xc092a382 at unlink+0x22 #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 db> show mount 0xc77acb50 /dev/ad4s1a on / (ufs) 0xc77ad000 devfs on /dev (devfs) 0xc786a2d4 /dev/ad4s1f on /usr (ufs) 0xc786a000 /dev/ad4s1d on /var (ufs) 0xc77adb50 /dev/ad4s1e on /tmp (ufs) More info: show mount db> show mount 0xc77adb50 0xc77adb50 /dev/ad4s1e on /tmp (ufs) mnt_flag = SOFTDEP, LOCAL mnt_kern_flag = SOFTDEP, MPSAFE, LOOKUP_SHARED, 0x00000040 mnt_opt = rw, fstype, fspath, from, errmsg, noro mnt_stat = { version=537068824 type=3 flags=0x0000000000201000 bsize=2048 iosize=16384 blocks=50777075 bfree=49800620 bavail=45738454 files=13142014 ffree=13103424 syncwrites=0 asyncwrites=0 syncreads=0 asyncreads=0 namemax=255 owner=0 fsid=[1223921212, -14900315] } mnt_cred = { uid=0 ruid=0 } mnt_ref = 34 mnt_gen = 1 mnt_nvnodelistsize = 28 mnt_writeopcount = 5 mnt_noasync = 1 mnt_maxsymlinklen = 120 mnt_iosize_max = 131072 mnt_hashseed = 2796315042 mnt_secondary_writes = 1 mnt_secondary_accwrites = 294706 mnt_gjprovider = NULL vnode 0xc7fdd2e0: tag ufs, type VDIR usecount 0, writecount 0, refcount 5 mountedhere 0 flags (VV_ROOT) v_object 0xc7a6a550 ref 0 pages 9 lock type ufs: UNLOCKED #0 0xc0879b52 at __lockmgr_args+0x592 #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0925fab at vget+0xbb #5 0xc0917fed at vfs_hash_get+0xed #6 0xc0ad04c9 at ffs_vgetf+0x49 #7 0xc0ad0a4e at ffs_vget+0x2e #8 0xc0ae2748 at ufs_root+0x28 #9 0xc0919581 at lookup+0x9a1 #10 0xc091a09f at namei+0x57f #11 0xc09295c6 at kern_readlinkat+0x76 #12 0xc092975c at kern_readlink+0x3c #13 0xc0929798 at readlink+0x38 #14 0xc0bcf914 at syscall+0x2b4 #15 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 2, on dev ad4s1e vnode 0xc79fca10: tag syncer, type VNON usecount 1, writecount 0, refcount 1 mountedhere 0 flags () lock type syncer: UNLOCKED #0 0xc087a1be at __lockmgr_args+0xbfe #1 0xc0914595 at vop_stdlock+0x65 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0926602 at sync_vnode+0x142 #5 0xc0926973 at sched_sync+0x273 #6 0xc0867558 at fork_exit+0xb8 #7 0xc0bb1c80 at fork_trampoline+0x8 vnode 0xc78655c0: tag ufs, type VDIR usecount 19, writecount 0, refcount 22 mountedhere 0 flags () v_object 0xc7a79110 ref 0 pages 1 lock type ufs: UNLOCKED #0 0xc087a1be at __lockmgr_args+0xbfe #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0925fab at vget+0xbb #5 0xc0ad13c6 at ffs_sync+0x216 #6 0xc09282cf at sync_fsync+0x18f #7 0xc0be64c5 at VOP_FSYNC_APV+0xc5 #8 0xc092662b at sync_vnode+0x16b #9 0xc0926973 at sched_sync+0x273 #10 0xc0867558 at fork_exit+0xb8 #11 0xc0bb1c80 at fork_trampoline+0x8 ino 6052864, on dev ad4s1e vnode 0xc7865450: tag ufs, type VDIR usecount 0, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc1869550 ref 0 pages 1 lock type ufs: UNLOCKED #0 0xc087a1be at __lockmgr_args+0xbfe #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0925fab at vget+0xbb #5 0xc0ad13c6 at ffs_sync+0x216 #6 0xc09282cf at sync_fsync+0x18f #7 0xc0be64c5 at VOP_FSYNC_APV+0xc5 #8 0xc092662b at sync_vnode+0x16b #9 0xc0926973 at sched_sync+0x273 #10 0xc0867558 at fork_exit+0xb8 #11 0xc0bb1c80 at fork_trampoline+0x8 ino 13094912, on dev ad4s1e vnode 0xc7b20000: tag ufs, type VDIR usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc1869aa0 ref 0 pages 0 lock type ufs: UNLOCKED #0 0xc0879b52 at __lockmgr_args+0x592 #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0918ce6 at lookup+0x106 #5 0xc091a09f at namei+0x57f #6 0xc092a154 at kern_unlinkat+0x54 #7 0xc092a357 at kern_unlink+0x27 #8 0xc092a382 at unlink+0x22 #9 0xc0bcf914 at syscall+0x2b4 #10 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052865, on dev ad4s1e vnode 0xc7fdb170: tag ufs, type VDIR usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc7de4000 ref 0 pages 0 lock type ufs: UNLOCKED #0 0xc0879b52 at __lockmgr_args+0x592 #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0918ce6 at lookup+0x106 #5 0xc091a09f at namei+0x57f #6 0xc092a154 at kern_unlinkat+0x54 #7 0xc092a357 at kern_unlink+0x27 #8 0xc092a382 at unlink+0x22 #9 0xc0bcf914 at syscall+0x2b4 #10 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052866, on dev ad4s1e vnode 0xc800ba10: tag ufs, type VLNK usecount 0, writecount 0, refcount 0 mountedhere 0 flags (VI_FREE) lock type ufs: UNLOCKED #0 0xc0879b52 at __lockmgr_args+0x592 #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0925fab at vget+0xbb #5 0xc0911bdb at cache_lookup+0x67b #6 0xc0911dbd at vfs_cache_lookup+0xad #7 0xc0be9a45 at VOP_LOOKUP_APV+0xe5 #8 0xc091925b at lookup+0x67b #9 0xc091a09f at namei+0x57f #10 0xc09295c6 at kern_readlinkat+0x76 #11 0xc092975c at kern_readlink+0x3c #12 0xc0929798 at readlink+0x38 #13 0xc0bcf914 at syscall+0x2b4 #14 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 13094915, on dev ad4s1e vnode 0xc7a07170: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc7ac4908 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7fbe000 (pid 287) #0 0xc0879b52 at __lockmgr_args+0x592 #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0918ce6 at lookup+0x106 #5 0xc091a09f at namei+0x57f #6 0xc092a154 at kern_unlinkat+0x54 #7 0xc092a357 at kern_unlink+0x27 #8 0xc092a382 at unlink+0x22 #9 0xc0bcf914 at syscall+0x2b4 #10 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052867, on dev ad4s1e vnode 0xc7fdd730: tag ufs, type VDIR usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc7aa9088 ref 0 pages 0 lock type ufs: UNLOCKED #0 0xc0879b52 at __lockmgr_args+0x592 #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0918ce6 at lookup+0x106 #5 0xc091a09f at namei+0x57f #6 0xc092a154 at kern_unlinkat+0x54 #7 0xc092a357 at kern_unlink+0x27 #8 0xc092a382 at unlink+0x22 #9 0xc0bcf914 at syscall+0x2b4 #10 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052868, on dev ad4s1e vnode 0xc7b20b80: tag ufs, type VDIR usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc7ac8b28 ref 0 pages 0 lock type ufs: UNLOCKED #0 0xc0879b52 at __lockmgr_args+0x592 #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0918ce6 at lookup+0x106 #5 0xc091a09f at namei+0x57f #6 0xc0931ab0 at vn_open_cred+0x90 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052869, on dev ad4s1e vnode 0xc7df08a0: tag ufs, type VDIR usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc7a00ee0 ref 0 pages 0 lock type ufs: UNLOCKED #0 0xc0879b52 at __lockmgr_args+0x592 #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0918ce6 at lookup+0x106 #5 0xc091a09f at namei+0x57f #6 0xc0931ab0 at vn_open_cred+0x90 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052873, on dev ad4s1e vnode 0xc9757000: tag ufs, type VDIR usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc7acc880 ref 0 pages 0 lock type ufs: UNLOCKED #0 0xc0879b52 at __lockmgr_args+0x592 #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0918ce6 at lookup+0x106 #5 0xc091a09f at namei+0x57f #6 0xc092a154 at kern_unlinkat+0x54 #7 0xc092a357 at kern_unlink+0x27 #8 0xc092a382 at unlink+0x22 #9 0xc0bcf914 at syscall+0x2b4 #10 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052883, on dev ad4s1e vnode 0xc7b1f2e0: tag ufs, type VDIR usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc7ac8220 ref 0 pages 0 lock type ufs: UNLOCKED #0 0xc0879b52 at __lockmgr_args+0x592 #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0918ce6 at lookup+0x106 #5 0xc091a09f at namei+0x57f #6 0xc0931ab0 at vn_open_cred+0x90 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052884, on dev ad4s1e vnode 0xc79fc170: tag ufs, type VDIR usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc7ac4660 ref 0 pages 0 lock type ufs: UNLOCKED #0 0xc0879b52 at __lockmgr_args+0x592 #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0918ce6 at lookup+0x106 #5 0xc091a09f at namei+0x57f #6 0xc0931ab0 at vn_open_cred+0x90 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052885, on dev ad4s1e vnode 0xc7df0cf0: tag ufs, type VDIR usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc79f6660 ref 0 pages 0 lock type ufs: UNLOCKED #0 0xc0879b52 at __lockmgr_args+0x592 #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0918ce6 at lookup+0x106 #5 0xc091a09f at namei+0x57f #6 0xc0931ab0 at vn_open_cred+0x90 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052886, on dev ad4s1e vnode 0xc800b2e0: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc7a9b880 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7fbe900 (pid 307) #0 0xc0879b52 at __lockmgr_args+0x592 #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0918ce6 at lookup+0x106 #5 0xc091a09f at namei+0x57f #6 0xc092a154 at kern_unlinkat+0x54 #7 0xc092a357 at kern_unlink+0x27 #8 0xc092a382 at unlink+0x22 #9 0xc0bcf914 at syscall+0x2b4 #10 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052887, on dev ad4s1e vnode 0xc7fdb5c0: tag ufs, type VDIR usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc7a79440 ref 0 pages 0 lock type ufs: UNLOCKED #0 0xc0879b52 at __lockmgr_args+0x592 #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0918ce6 at lookup+0x106 #5 0xc091a09f at namei+0x57f #6 0xc092a154 at kern_unlinkat+0x54 #7 0xc092a357 at kern_unlink+0x27 #8 0xc092a382 at unlink+0x22 #9 0xc0bcf914 at syscall+0x2b4 #10 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052888, on dev ad4s1e vnode 0xc97575c0: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc7aaa908 ref 0 pages 0 lock type ufs: EXCL by thread 0xc7fbeb40 (pid 306) #0 0xc0879b52 at __lockmgr_args+0x592 #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0918ce6 at lookup+0x106 #5 0xc091a09f at namei+0x57f #6 0xc0931ab0 at vn_open_cred+0x90 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052889, on dev ad4s1e vnode 0xc7b1f5c0: tag ufs, type VDIR usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc7a6b330 ref 0 pages 0 lock type ufs: UNLOCKED #0 0xc0879b52 at __lockmgr_args+0x592 #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0918ce6 at lookup+0x106 #5 0xc091a09f at namei+0x57f #6 0xc0931ab0 at vn_open_cred+0x90 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052890, on dev ad4s1e vnode 0xc7b1fa10: tag ufs, type VREG usecount 0, writecount 0, refcount 1 mountedhere 0 flags () v_object 0xc79f6440 ref 0 pages 4 lock type ufs: UNLOCKED #0 0xc087a1be at __lockmgr_args+0xbfe #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0932a38 at vn_close+0xa8 #5 0xc0932c24 at vn_closefile+0xe4 #6 0xc0858543 at _fdrop+0x43 #7 0xc085a270 at closef+0x290 #8 0xc085a617 at kern_close+0x117 #9 0xc085a7ba at close+0x1a #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052878, on dev ad4s1e REF 2 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b0e9a8 at vnode_create_vobject+0x1c8 #4 0xc0ae3d9d at ufs_open+0x6d #5 0xc0be6f45 at VOP_OPEN_APV+0xc5 #6 0xc0931ee1 at vn_open_cred+0x4c1 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b0e9f6 at vnode_create_vobject+0x216 #3 0xc0ae3d9d at ufs_open+0x6d #4 0xc0be6f45 at VOP_OPEN_APV+0xc5 #5 0xc0931ee1 at vn_open_cred+0x4c1 #6 0xc093201b at vn_open+0x3b #7 0xc092fcdf at kern_openat+0x11f #8 0xc0930245 at kern_open+0x35 #9 0xc0930280 at open+0x30 #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0afd6d5 at vm_mmap+0x245 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b08687 at vm_pager_allocate+0x57 #4 0xc0afd8b9 at vm_mmap+0x429 #5 0xc0afe2fe at mmap+0x3ae #6 0xc0bcf914 at syscall+0x2b4 #7 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0afd8f1 at vm_mmap+0x461 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 2 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af9446 at _vm_map_unlock+0x76 #4 0xc0afe5e8 at munmap+0x188 #5 0xc0bcf914 at syscall+0x2b4 #6 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 0 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0932b2a at vn_close+0x19a #3 0xc0932c24 at vn_closefile+0xe4 #4 0xc0858543 at _fdrop+0x43 #5 0xc085a270 at closef+0x290 #6 0xc085a617 at kern_close+0x117 #7 0xc085a7ba at close+0x1a #8 0xc0bcf914 at syscall+0x2b4 #9 0xc0bb1c70 at Xint0x80_syscall+0x20 vnode 0xc7a07000: tag ufs, type VREG usecount 1, writecount 1, refcount 1 mountedhere 0 flags () v_object 0xc7a02110 ref 0 pages 0 lock type ufs: UNLOCKED #0 0xc087a1be at __lockmgr_args+0xbfe #1 0xc0ad0661 at ffs_vgetf+0x1e1 #2 0xc0ad0a4e at ffs_vget+0x2e #3 0xc0ab1796 at ffs_valloc+0x596 #4 0xc0ae41e3 at ufs_makeinode+0xa3 #5 0xc0ae49d0 at ufs_create+0x30 #6 0xc0be9895 at VOP_CREATE_APV+0xc5 #7 0xc0931c25 at vn_open_cred+0x205 #8 0xc093201b at vn_open+0x3b #9 0xc092fcdf at kern_openat+0x11f #10 0xc0930245 at kern_open+0x35 #11 0xc0930280 at open+0x30 #12 0xc0bcf914 at syscall+0x2b4 #13 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052876, on dev ad4s1e REF 2 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b0e9a8 at vnode_create_vobject+0x1c8 #4 0xc0ae3d9d at ufs_open+0x6d #5 0xc0be6f45 at VOP_OPEN_APV+0xc5 #6 0xc0931ee1 at vn_open_cred+0x4c1 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b0e9f6 at vnode_create_vobject+0x216 #3 0xc0ae3d9d at ufs_open+0x6d #4 0xc0be6f45 at VOP_OPEN_APV+0xc5 #5 0xc0931ee1 at vn_open_cred+0x4c1 #6 0xc093201b at vn_open+0x3b #7 0xc092fcdf at kern_openat+0x11f #8 0xc0930245 at kern_open+0x35 #9 0xc0930280 at open+0x30 #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 vnode 0xc7df1000: tag ufs, type VREG usecount 1, writecount 1, refcount 1 mountedhere 0 flags () v_object 0xc7a795d8 ref 0 pages 0 lock type ufs: UNLOCKED #0 0xc087a1be at __lockmgr_args+0xbfe #1 0xc0ad0661 at ffs_vgetf+0x1e1 #2 0xc0ad0a4e at ffs_vget+0x2e #3 0xc0ab1796 at ffs_valloc+0x596 #4 0xc0ae41e3 at ufs_makeinode+0xa3 #5 0xc0ae49d0 at ufs_create+0x30 #6 0xc0be9895 at VOP_CREATE_APV+0xc5 #7 0xc0931c25 at vn_open_cred+0x205 #8 0xc093201b at vn_open+0x3b #9 0xc092fcdf at kern_openat+0x11f #10 0xc0930245 at kern_open+0x35 #11 0xc0930280 at open+0x30 #12 0xc0bcf914 at syscall+0x2b4 #13 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052875, on dev ad4s1e REF 2 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b0e9a8 at vnode_create_vobject+0x1c8 #4 0xc0ae3d9d at ufs_open+0x6d #5 0xc0be6f45 at VOP_OPEN_APV+0xc5 #6 0xc0931ee1 at vn_open_cred+0x4c1 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b0e9f6 at vnode_create_vobject+0x216 #3 0xc0ae3d9d at ufs_open+0x6d #4 0xc0be6f45 at VOP_OPEN_APV+0xc5 #5 0xc0931ee1 at vn_open_cred+0x4c1 #6 0xc093201b at vn_open+0x3b #7 0xc092fcdf at kern_openat+0x11f #8 0xc0930245 at kern_open+0x35 #9 0xc0930280 at open+0x30 #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 vnode 0xc800cb80: tag ufs, type VREG usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc7a00880 ref 0 pages 4 lock type ufs: EXCL by thread 0xc7fbe900 (pid 307) #0 0xc087a1be at __lockmgr_args+0xbfe #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0925fab at vget+0xbb #5 0xc0917fed at vfs_hash_get+0xed #6 0xc0ad04c9 at ffs_vgetf+0x49 #7 0xc0ad0a4e at ffs_vget+0x2e #8 0xc0ade051 at ufs_lookup_+0x7f1 #9 0xc0ade39e at ufs_lookup+0x1e #10 0xc0be7095 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0911de6 at vfs_cache_lookup+0xd6 #12 0xc0be9a45 at VOP_LOOKUP_APV+0xe5 #13 0xc091925b at lookup+0x67b #14 0xc091a09f at namei+0x57f #15 0xc092a154 at kern_unlinkat+0x54 #16 0xc092a357 at kern_unlink+0x27 #17 0xc092a382 at unlink+0x22 ino 6052877, on dev ad4s1e REF 2 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b0e9a8 at vnode_create_vobject+0x1c8 #4 0xc0ae3d9d at ufs_open+0x6d #5 0xc0be6f45 at VOP_OPEN_APV+0xc5 #6 0xc0931ee1 at vn_open_cred+0x4c1 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b0e9f6 at vnode_create_vobject+0x216 #3 0xc0ae3d9d at ufs_open+0x6d #4 0xc0be6f45 at VOP_OPEN_APV+0xc5 #5 0xc0931ee1 at vn_open_cred+0x4c1 #6 0xc093201b at vn_open+0x3b #7 0xc092fcdf at kern_openat+0x11f #8 0xc0930245 at kern_open+0x35 #9 0xc0930280 at open+0x30 #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0afd6d5 at vm_mmap+0x245 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b08687 at vm_pager_allocate+0x57 #4 0xc0afd8b9 at vm_mmap+0x429 #5 0xc0afe2fe at mmap+0x3ae #6 0xc0bcf914 at syscall+0x2b4 #7 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0afd8f1 at vm_mmap+0x461 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 2 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af9446 at _vm_map_unlock+0x76 #4 0xc0afe5e8 at munmap+0x188 #5 0xc0bcf914 at syscall+0x2b4 #6 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 0 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0932b2a at vn_close+0x19a #3 0xc0932c24 at vn_closefile+0xe4 #4 0xc0858543 at _fdrop+0x43 #5 0xc085a270 at closef+0x290 #6 0xc085a617 at kern_close+0x117 #7 0xc085a7ba at close+0x1a #8 0xc0bcf914 at syscall+0x2b4 #9 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0917fed at vfs_hash_get+0xed #3 0xc0ad04c9 at ffs_vgetf+0x49 #4 0xc0ad0a4e at ffs_vget+0x2e #5 0xc0ade051 at ufs_lookup_+0x7f1 #6 0xc0ade39e at ufs_lookup+0x1e #7 0xc0be7095 at VOP_CACHEDLOOKUP_APV+0xc5 #8 0xc0911de6 at vfs_cache_lookup+0xd6 #9 0xc0be9a45 at VOP_LOOKUP_APV+0xe5 #10 0xc091925b at lookup+0x67b #11 0xc091a09f at namei+0x57f #12 0xc092a154 at kern_unlinkat+0x54 #13 0xc092a357 at kern_unlink+0x27 #14 0xc092a382 at unlink+0x22 #15 0xc0bcf914 at syscall+0x2b4 #16 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0917fed at vfs_hash_get+0xed #3 0xc0ad04c9 at ffs_vgetf+0x49 #4 0xc0ac5c95 at handle_workitem_remove+0x45 #5 0xc0ac6a84 at softdep_setup_remove+0x124 #6 0xc0ade67a at ufs_dirremove+0x16a #7 0xc0ae557e at ufs_remove+0x6e #8 0xc0be91d6 at VOP_REMOVE_APV+0xf6 #9 0xc092a281 at kern_unlinkat+0x181 #10 0xc092a357 at kern_unlink+0x27 #11 0xc092a382 at unlink+0x22 #12 0xc0bcf914 at syscall+0x2b4 #13 0xc0bb1c70 at Xint0x80_syscall+0x20 vnode 0xc7888000: tag ufs, type VREG usecount 0, writecount 0, refcount 2 mountedhere 0 flags (VI_DOINGINACT) v_object 0xc7a02cc0 ref 0 pages 4 lock type ufs: EXCL by thread 0xc7fbed80 (pid 305) #0 0xc087a1be at __lockmgr_args+0xbfe #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0932a38 at vn_close+0xa8 #5 0xc0932c24 at vn_closefile+0xe4 #6 0xc0858543 at _fdrop+0x43 #7 0xc085a270 at closef+0x290 #8 0xc085a617 at kern_close+0x117 #9 0xc085a7ba at close+0x1a #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052880, on dev ad4s1e REF 2 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b0e9a8 at vnode_create_vobject+0x1c8 #4 0xc0ae3d9d at ufs_open+0x6d #5 0xc0be6f45 at VOP_OPEN_APV+0xc5 #6 0xc0931ee1 at vn_open_cred+0x4c1 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b0e9f6 at vnode_create_vobject+0x216 #3 0xc0ae3d9d at ufs_open+0x6d #4 0xc0be6f45 at VOP_OPEN_APV+0xc5 #5 0xc0931ee1 at vn_open_cred+0x4c1 #6 0xc093201b at vn_open+0x3b #7 0xc092fcdf at kern_openat+0x11f #8 0xc0930245 at kern_open+0x35 #9 0xc0930280 at open+0x30 #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0afd6d5 at vm_mmap+0x245 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b08687 at vm_pager_allocate+0x57 #4 0xc0afd8b9 at vm_mmap+0x429 #5 0xc0afe2fe at mmap+0x3ae #6 0xc0bcf914 at syscall+0x2b4 #7 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0afd8f1 at vm_mmap+0x461 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 2 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af9446 at _vm_map_unlock+0x76 #4 0xc0afe5e8 at munmap+0x188 #5 0xc0bcf914 at syscall+0x2b4 #6 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 0 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0932b2a at vn_close+0x19a #3 0xc0932c24 at vn_closefile+0xe4 #4 0xc0858543 at _fdrop+0x43 #5 0xc085a270 at closef+0x290 #6 0xc085a617 at kern_close+0x117 #7 0xc085a7ba at close+0x1a #8 0xc0bcf914 at syscall+0x2b4 #9 0xc0bb1c70 at Xint0x80_syscall+0x20 vnode 0xc75c65c0: tag ufs, type VREG usecount 0, writecount 0, refcount 1 mountedhere 0 flags () v_object 0xc7a78198 ref 0 pages 4 lock type ufs: UNLOCKED #0 0xc087a1be at __lockmgr_args+0xbfe #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0932a38 at vn_close+0xa8 #5 0xc0932c24 at vn_closefile+0xe4 #6 0xc0858543 at _fdrop+0x43 #7 0xc085a270 at closef+0x290 #8 0xc085a617 at kern_close+0x117 #9 0xc085a7ba at close+0x1a #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052872, on dev ad4s1e REF 2 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b0e9a8 at vnode_create_vobject+0x1c8 #4 0xc0ae3d9d at ufs_open+0x6d #5 0xc0be6f45 at VOP_OPEN_APV+0xc5 #6 0xc0931ee1 at vn_open_cred+0x4c1 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b0e9f6 at vnode_create_vobject+0x216 #3 0xc0ae3d9d at ufs_open+0x6d #4 0xc0be6f45 at VOP_OPEN_APV+0xc5 #5 0xc0931ee1 at vn_open_cred+0x4c1 #6 0xc093201b at vn_open+0x3b #7 0xc092fcdf at kern_openat+0x11f #8 0xc0930245 at kern_open+0x35 #9 0xc0930280 at open+0x30 #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0afd6d5 at vm_mmap+0x245 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b08687 at vm_pager_allocate+0x57 #4 0xc0afd8b9 at vm_mmap+0x429 #5 0xc0afe2fe at mmap+0x3ae #6 0xc0bcf914 at syscall+0x2b4 #7 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0afd8f1 at vm_mmap+0x461 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 2 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af9446 at _vm_map_unlock+0x76 #4 0xc0afe5e8 at munmap+0x188 #5 0xc0bcf914 at syscall+0x2b4 #6 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 0 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0932b2a at vn_close+0x19a #3 0xc0932c24 at vn_closefile+0xe4 #4 0xc0858543 at _fdrop+0x43 #5 0xc085a270 at closef+0x290 #6 0xc085a617 at kern_close+0x117 #7 0xc085a7ba at close+0x1a #8 0xc0bcf914 at syscall+0x2b4 #9 0xc0bb1c70 at Xint0x80_syscall+0x20 vnode 0xc79fc2e0: tag ufs, type VREG usecount 2, writecount 0, refcount 3 mountedhere 0 flags () v_object 0xc7ac4ee0 ref 0 pages 4 lock type ufs: EXCL by thread 0xc7fbe000 (pid 287) #0 0xc087a1be at __lockmgr_args+0xbfe #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0925fab at vget+0xbb #5 0xc0917fed at vfs_hash_get+0xed #6 0xc0ad04c9 at ffs_vgetf+0x49 #7 0xc0ad0a4e at ffs_vget+0x2e #8 0xc0ade051 at ufs_lookup_+0x7f1 #9 0xc0ade39e at ufs_lookup+0x1e #10 0xc0be7095 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0911de6 at vfs_cache_lookup+0xd6 #12 0xc0be9a45 at VOP_LOOKUP_APV+0xe5 #13 0xc091925b at lookup+0x67b #14 0xc091a09f at namei+0x57f #15 0xc092a154 at kern_unlinkat+0x54 #16 0xc092a357 at kern_unlink+0x27 #17 0xc092a382 at unlink+0x22 ino 6052871, on dev ad4s1e REF 2 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b0e9a8 at vnode_create_vobject+0x1c8 #4 0xc0ae3d9d at ufs_open+0x6d #5 0xc0be6f45 at VOP_OPEN_APV+0xc5 #6 0xc0931ee1 at vn_open_cred+0x4c1 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b0e9f6 at vnode_create_vobject+0x216 #3 0xc0ae3d9d at ufs_open+0x6d #4 0xc0be6f45 at VOP_OPEN_APV+0xc5 #5 0xc0931ee1 at vn_open_cred+0x4c1 #6 0xc093201b at vn_open+0x3b #7 0xc092fcdf at kern_openat+0x11f #8 0xc0930245 at kern_open+0x35 #9 0xc0930280 at open+0x30 #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0afd6d5 at vm_mmap+0x245 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b08687 at vm_pager_allocate+0x57 #4 0xc0afd8b9 at vm_mmap+0x429 #5 0xc0afe2fe at mmap+0x3ae #6 0xc0bcf914 at syscall+0x2b4 #7 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0afd8f1 at vm_mmap+0x461 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 2 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af9446 at _vm_map_unlock+0x76 #4 0xc0afe5e8 at munmap+0x188 #5 0xc0bcf914 at syscall+0x2b4 #6 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 0 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0932b2a at vn_close+0x19a #3 0xc0932c24 at vn_closefile+0xe4 #4 0xc0858543 at _fdrop+0x43 #5 0xc085a270 at closef+0x290 #6 0xc085a617 at kern_close+0x117 #7 0xc085a7ba at close+0x1a #8 0xc0bcf914 at syscall+0x2b4 #9 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0917fed at vfs_hash_get+0xed #3 0xc0ad04c9 at ffs_vgetf+0x49 #4 0xc0ad0a4e at ffs_vget+0x2e #5 0xc0ade051 at ufs_lookup_+0x7f1 #6 0xc0ade39e at ufs_lookup+0x1e #7 0xc0be7095 at VOP_CACHEDLOOKUP_APV+0xc5 #8 0xc0911de6 at vfs_cache_lookup+0xd6 #9 0xc0be9a45 at VOP_LOOKUP_APV+0xe5 #10 0xc091925b at lookup+0x67b #11 0xc091a09f at namei+0x57f #12 0xc092a154 at kern_unlinkat+0x54 #13 0xc092a357 at kern_unlink+0x27 #14 0xc092a382 at unlink+0x22 #15 0xc0bcf914 at syscall+0x2b4 #16 0xc0bb1c70 at Xint0x80_syscall+0x20 vnode 0xc7b1f730: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags () v_object 0xc7a6a220 ref 0 pages 4 lock type ufs: EXCL by thread 0xc7fbe480 (pid 289) #0 0xc087a1be at __lockmgr_args+0xbfe #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0932a38 at vn_close+0xa8 #5 0xc0932c24 at vn_closefile+0xe4 #6 0xc0858543 at _fdrop+0x43 #7 0xc085a270 at closef+0x290 #8 0xc085a617 at kern_close+0x117 #9 0xc085a7ba at close+0x1a #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 ino 6052874, on dev ad4s1e REF 2 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b0e9a8 at vnode_create_vobject+0x1c8 #4 0xc0ae3d9d at ufs_open+0x6d #5 0xc0be6f45 at VOP_OPEN_APV+0xc5 #6 0xc0931ee1 at vn_open_cred+0x4c1 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b0e9f6 at vnode_create_vobject+0x216 #3 0xc0ae3d9d at ufs_open+0x6d #4 0xc0be6f45 at VOP_OPEN_APV+0xc5 #5 0xc0931ee1 at vn_open_cred+0x4c1 #6 0xc093201b at vn_open+0x3b #7 0xc092fcdf at kern_openat+0x11f #8 0xc0930245 at kern_open+0x35 #9 0xc0930280 at open+0x30 #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0afd6d5 at vm_mmap+0x245 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b08687 at vm_pager_allocate+0x57 #4 0xc0afd8b9 at vm_mmap+0x429 #5 0xc0afe2fe at mmap+0x3ae #6 0xc0bcf914 at syscall+0x2b4 #7 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0afd8f1 at vm_mmap+0x461 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 2 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af9446 at _vm_map_unlock+0x76 #4 0xc0afe5e8 at munmap+0x188 #5 0xc0bcf914 at syscall+0x2b4 #6 0xc0bb1c70 at Xint0x80_syscall+0x20 vnode 0xc7fdccf0: tag ufs, type VREG usecount 1, writecount 0, refcount 2 mountedhere 0 flags (VV_NOSYNC) VI_LOCKed v_object 0xc7ac44c8 ref 0 pages 4 lock type ufs: EXCL by thread 0xc7fc0000 (pid 304) #0 0xc087a1be at __lockmgr_args+0xbfe #1 0xc0ad5e21 at ffs_lock+0xa1 #2 0xc0be88c5 at VOP_LOCK1_APV+0xb5 #3 0xc0932368 at _vn_lock+0x78 #4 0xc0925fab at vget+0xbb #5 0xc0917fed at vfs_hash_get+0xed #6 0xc0ad04c9 at ffs_vgetf+0x49 #7 0xc0ad0a4e at ffs_vget+0x2e #8 0xc0ade051 at ufs_lookup_+0x7f1 #9 0xc0ade39e at ufs_lookup+0x1e #10 0xc0be7095 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0911de6 at vfs_cache_lookup+0xd6 #12 0xc0be9a45 at VOP_LOOKUP_APV+0xe5 #13 0xc091925b at lookup+0x67b #14 0xc091a09f at namei+0x57f #15 0xc092a154 at kern_unlinkat+0x54 #16 0xc092a357 at kern_unlink+0x27 #17 0xc092a382 at unlink+0x22 ino 6052879, on dev ad4s1e REF 2 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b0e9a8 at vnode_create_vobject+0x1c8 #4 0xc0ae3d9d at ufs_open+0x6d #5 0xc0be6f45 at VOP_OPEN_APV+0xc5 #6 0xc0931ee1 at vn_open_cred+0x4c1 #7 0xc093201b at vn_open+0x3b #8 0xc092fcdf at kern_openat+0x11f #9 0xc0930245 at kern_open+0x35 #10 0xc0930280 at open+0x30 #11 0xc0bcf914 at syscall+0x2b4 #12 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b0e9f6 at vnode_create_vobject+0x216 #3 0xc0ae3d9d at ufs_open+0x6d #4 0xc0be6f45 at VOP_OPEN_APV+0xc5 #5 0xc0931ee1 at vn_open_cred+0x4c1 #6 0xc093201b at vn_open+0x3b #7 0xc092fcdf at kern_openat+0x11f #8 0xc0930245 at kern_open+0x35 #9 0xc0930280 at open+0x30 #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0afd6d5 at vm_mmap+0x245 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b0e4b2 at vnode_pager_alloc+0x1a2 #3 0xc0b08687 at vm_pager_allocate+0x57 #4 0xc0afd8b9 at vm_mmap+0x429 #5 0xc0afe2fe at mmap+0x3ae #6 0xc0bcf914 at syscall+0x2b4 #7 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0afd8f1 at vm_mmap+0x461 #3 0xc0afe2fe at mmap+0x3ae #4 0xc0bcf914 at syscall+0x2b4 #5 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 4 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0af36b4 at vm_fault+0x9d4 #3 0xc0bcf56d at trap_pfault+0x10d #4 0xc0bcfe30 at trap+0x2d0 #5 0xc0bb1c0b at calltrap+0x6 REF 3 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 2 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0af2ca2 at unlock_and_deallocate+0x142 #3 0xc0af48f1 at vm_fault+0x1c11 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 3 vref #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0923aed at vref+0x4d #2 0xc0b008ff at vm_object_reference_locked+0x3f #3 0xc0af2e56 at vm_fault+0x176 #4 0xc0bcf56d at trap_pfault+0x10d #5 0xc0bcfe30 at trap+0x2d0 #6 0xc0bb1c0b at calltrap+0x6 REF 2 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af2c66 at unlock_and_deallocate+0x106 #4 0xc0af48f1 at vm_fault+0x1c11 #5 0xc0bcf56d at trap_pfault+0x10d #6 0xc0bcfe30 at trap+0x2d0 #7 0xc0bb1c0b at calltrap+0x6 REF 1 vrele #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926338 at vrele+0x98 #2 0xc0b022cc at vm_object_deallocate+0x1cc #3 0xc0af9446 at _vm_map_unlock+0x76 #4 0xc0afe5e8 at munmap+0x188 #5 0xc0bcf914 at syscall+0x2b4 #6 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 0 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0932b2a at vn_close+0x19a #3 0xc0932c24 at vn_closefile+0xe4 #4 0xc0858543 at _fdrop+0x43 #5 0xc085a270 at closef+0x290 #6 0xc085a617 at kern_close+0x117 #7 0xc085a7ba at close+0x1a #8 0xc0bcf914 at syscall+0x2b4 #9 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0917fed at vfs_hash_get+0xed #3 0xc0ad04c9 at ffs_vgetf+0x49 #4 0xc0ad0a4e at ffs_vget+0x2e #5 0xc0ade051 at ufs_lookup_+0x7f1 #6 0xc0ade39e at ufs_lookup+0x1e #7 0xc0be7095 at VOP_CACHEDLOOKUP_APV+0xc5 #8 0xc0911de6 at vfs_cache_lookup+0xd6 #9 0xc0be9a45 at VOP_LOOKUP_APV+0xe5 #10 0xc091925b at lookup+0x67b #11 0xc091a09f at namei+0x57f #12 0xc092a154 at kern_unlinkat+0x54 #13 0xc092a357 at kern_unlink+0x27 #14 0xc092a382 at unlink+0x22 #15 0xc0bcf914 at syscall+0x2b4 #16 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 2 vget #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0926091 at vget+0x1a1 #2 0xc0917fed at vfs_hash_get+0xed #3 0xc0ad04c9 at ffs_vgetf+0x49 #4 0xc0ac5c95 at handle_workitem_remove+0x45 #5 0xc0ac6a84 at softdep_setup_remove+0x124 #6 0xc0ade67a at ufs_dirremove+0x16a #7 0xc0ae557e at ufs_remove+0x6e #8 0xc0be91d6 at VOP_REMOVE_APV+0xf6 #9 0xc092a281 at kern_unlinkat+0x181 #10 0xc092a357 at kern_unlink+0x27 #11 0xc092a382 at unlink+0x22 #12 0xc0bcf914 at syscall+0x2b4 #13 0xc0bb1c70 at Xint0x80_syscall+0x20 REF 1 vput #0 0xc0923a54 at v_record_ref+0x54 #1 0xc0927d4b at vput+0x9b #2 0xc0ac5d9e at handle_workitem_remove+0x14e #3 0xc0ac6a84 at softdep_setup_remove+0x124 #4 0xc0ade67a at ufs_dirremove+0x16a #5 0xc0ae557e at ufs_remove+0x6e #6 0xc0be91d6 at VOP_REMOVE_APV+0xf6 #7 0xc092a281 at kern_unlinkat+0x181 #8 0xc092a357 at kern_unlink+0x27 #9 0xc092a382 at unlink+0x22 #10 0xc0bcf914 at syscall+0x2b4 #11 0xc0bb1c70 at Xint0x80_syscall+0x20 db> ps pid ppid pgrp uid state wmesg wchan cmd 309 282 172 1001 R+ swap 308 282 172 1001 R+ swap 307 283 172 1001 R+ CPU 2 mmap 306 283 172 1001 R+ mmap 305 283 172 1001 R+ mmap 304 283 172 1001 R+ CPU 0 mmap 303 282 172 1001 R+ swap 302 283 172 1001 R+ mmap 301 282 172 1001 R+ swap 300 282 172 1001 R+ swap 299 283 172 1001 R+ mmap 298 282 172 1001 R+ swap 297 283 172 1001 R+ mmap 296 282 172 1001 R+ swap 295 283 172 1001 R+ mmap 294 282 172 1001 R+ swap 293 283 172 1001 R+ mmap 292 282 172 1001 R+ swap 291 283 172 1001 R+ mmap 290 282 172 1001 R+ swap 289 283 172 1001 R+ CPU 1 mmap 288 283 172 1001 R+ mmap 287 283 172 1001 R+ CPU 3 mmap 286 282 172 1001 R+ swap 285 283 172 1001 R+ mmap 284 282 172 1001 R+ swap 283 280 172 1001 S+ wait 0xc7a8f550 mmap 282 281 172 1001 S+ wait 0xc78407f8 swap 281 175 172 1001 S+ nanslp 0xc0e002c4 swap 280 175 172 1001 S+ nanslp 0xc0e002c4 mmap 175 174 172 1001 S+ wait 0xc7796000 run 174 173 172 1001 S+ wait 0xc7801aa0 run 173 172 172 1001 S+ wait 0xc7801d48 run 172 171 172 1001 S+ wait 0xc78412a8 bash 171 25 25 0 S+ wait 0xc79e87f8 su 25 21 25 0 S+ wait 0xc7348aa0 sh 21 1 21 0 Ss+ wait 0xc78027f8 sh 20 0 0 0 SL flowclea 0xc0f6ce08 [flowcleaner] 19 0 0 0 SL sdflush 0xc0f78560 [softdepflush] 18 0 0 0 SL syncer 0xc0f6cc18 [syncer] 17 0 0 0 SL vlruwt 0xc7796aa0 [vnlru] 16 0 0 0 SL psleep 0xc0f6c948 [bufdaemon] 15 0 0 0 SL pgzero 0xc0f79398 [pagezero] 9 0 0 0 SL psleep 0xc0f78fc4 [vmdaemon] 8 0 0 0 SL psleep 0xc0f78f8c [pagedaemon] 7 0 0 0 SL - 0xc73c263c [fdc0] 6 0 0 0 SL - 0xc73f6000 [fw0_probe] 14 0 0 0 SL (threaded) [usb] 100058 D - 0xc73d6d0c [usbus5] 100057 D - 0xc73d6cdc [usbus5] 100056 D - 0xc73d6cac [usbus5] 100055 D - 0xc73d6c7c [usbus5] 100053 D - 0xc73c8b5c [usbus4] 100052 D - 0xc73c8b2c [usbus4] 100051 D - 0xc73c8afc [usbus4] 100050 D - 0xc73c8acc [usbus4] 100049 D - 0xc73c4b5c [usbus3] 100048 D - 0xc73c4b2c [usbus3] 100047 D - 0xc73c4afc [usbus3] 100046 D - 0xc73c4acc [usbus3] 100045 D - 0xc73bdb5c [usbus2] 100044 D - 0xc73bdb2c [usbus2] 100043 D - 0xc73bdafc [usbus2] 100042 D - 0xc73bdacc [usbus2] 100040 D - 0xc73b8b5c [usbus1] 100039 D - 0xc73b8b2c [usbus1] 100038 D - 0xc73b8afc [usbus1] 100037 D - 0xc73b8acc [usbus1] 100035 D - 0xc73a9b5c [usbus0] 100034 D - 0xc73a9b2c [usbus0] 100033 D - 0xc73a9afc [usbus0] 100032 D - 0xc73a9acc [usbus0] 5 0 0 0 SL ccb_scan 0xc0dcc4d4 [xpt_thrd] 13 0 0 0 SL - 0xc0e00124 [yarrow] 4 0 0 0 SL - 0xc0dfdee4 [g_down] 3 0 0 0 SL - 0xc0dfdee0 [g_up] 2 0 0 0 SL - 0xc0dfded8 [g_event] 12 0 0 0 WL (threaded) [intr] 100066 I [irq12: psm0] 100065 I [irq1: atkbd0] 100063 I [swi0: uart] 100060 I [irq20: fwohci0] 100059 I [irq14: ata0] 100054 I [irq19: ehci0] 100041 I [irq18: ohci2 ohci4] 100036 I [irq17: ohci1 ohci3] 100031 I [irq16: hdac1 ohci0] 100030 I [irq22: atapci0] 100029 I [irq256: hdac0] 100028 I [irq9: acpi0] 100024 I [swi2: cambio] 100022 I [swi6: task queue] 100021 I [swi6: Giant taskq] 100019 I [swi5: +] 100012 I [swi3: vm] 100011 I [swi1: netisr 0] 100010 I [swi4: clock] 100009 I [swi4: clock] 100008 I [swi4: clock] 100007 I [swi4: clock] 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 0xc7179d48 [init] 10 0 0 0 SL audit_wo 0xc0f77e80 [audit] 0 0 0 0 SLs (threaded) [kernel] 100061 D - 0xc73a3940 [fw0_taskq] 100027 D - 0xc7346080 [acpi_task_2] 100026 D - 0xc7346080 [acpi_task_1] 100025 D - 0xc7346080 [acpi_task_0] 100020 D - 0xc7346300 [thread taskq] 100018 D - 0xc7346580 [kqueue taskq] 100016 D - 0xc7160e40 [firmware taskq] 100000 D sched 0xc0dfdfc0 [swapper] db> allt Tracing command swap pid 309 tid 100118 td 0xc7a9a480 sched_switch(c7a9a480,0,207,18c,5f4e6d47,...) at sched_switch+0x406 mi_switch(207,0,c0ca7bcd,d6,1,...) at mi_switch+0x200 ast(f64dbd38) at ast+0x2b3 doreti_ast() at doreti_ast+0x17 Tracing command swap pid 308 tid 100117 td 0xc7a9a6c0 sched_switch(c7a9a6c0,0,207,18c,98fccce7,...) at sched_switch+0x406 mi_switch(207,0,c0ca7bcd,d6,1,...) at mi_switch+0x200 ast(f64d7d38) at ast+0x2b3 doreti_ast() at doreti_ast+0x17 Tracing command mmap pid 307 tid 100151 td 0xc7fbe900 cpustop_handler(4,f65694dc,c0bcfb96,0,c08c6640,...) at cpustop_handler+0x32 ipi_nmi_handler(0,c08c6640,c0c482f5,f6569590,c7ac57f8,...) at ipi_nmi_handler+0x2f trap(f65694e8) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0796c96, esp = 0xf6569528, ebp = 0xf6569538 --- ns8250_putc(c0dfce28,72,c0c8bea0,5c,c0d7fce0,...) at ns8250_putc+0x36 uart_cnputc(c0d7fce0,72,f65695c8,1,c0c4b801,...) at uart_cnputc+0x50 cnputc(72,0,c0c9ce98,1a3,1,...) at cnputc+0x63 cnputs(f65695c8,c08c6640,f65695ac,a,f6569670,...) at cnputs+0x58 vprintf(c0c482f3,f6569670,f6569670,f656967c,c04d3770,...) at vprintf+0xa0 printf(c0c482f3,72,c10fc92e,f65697dc,f656968c,...) at printf+0x1b db_putc(c10fc92e,c04d3900,f65697c0,c08c5817,72,...) at db_putc+0x30 db_putchar(72,f65697dc,f65696ac,f65696b8,c10fc933,...) at db_putchar+0x18 kvprintf(c0c4b7ff,c04d3900,f65697dc,10,f65697fc,...) at kvprintf+0xa27 db_printf(c0c4b7ff,c10fc929,f6569810,c0cd8d0c,c04d3900,...) at db_printf+0x3a db_printsym(c0ae557e,2,0,ffffffff,c0ae557e,...) at db_printsym+0xa1 db_print_stack_entry(f6569bb4,c0ae557e,0,f6569aa8,f6569bac,...) at db_print_stack_entry+0xc1 db_backtrace(c0ae557e,3f5,0,f656991c,c0c2649d,...) at db_backtrace+0x2c6 db_trace_self(f656991c,f655aa00,f656991c,f6569910,f6569950,...) at db_trace_self+0x49 db_trace_self_wrapper(c0ca6271,f6569974,c08d57f5,c0cb03e9,8cd,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c0cb03e9,8cd,ffffffff,c0f3eecc,f65699ac,...) at kdb_backtrace+0x29 _witness_debugger(c0ca87c1,f65699c0,4,1,0,...) at _witness_debugger+0x25 witness_warn(5,0,c0cde11a,c1894908,c7ac57f8,...) at witness_warn+0x1fd trap(f6569a4c) at trap+0x19e calltrap() at calltrap+0x6 --- trap 0xc, eip = 0xc0923a40, esp = 0xf6569a8c, ebp = 0xf6569aa8 --- v_record_ref(c800cc44,0,c0cb03e0,8cd,f6569ae4,...) at v_record_ref+0x40 vput(c800cb80,0,c0cc9708,e23,1,...) at vput+0x9b handle_workitem_remove(c0f78504,0,c0cc9708,cd7,0,...) at handle_workitem_remove+0x14e softdep_setup_remove(e70f6fc0,c9359e80,c9359cb0,0,f6569b5c,...) at softdep_setup_remove+0x124 ufs_dirremove(c800b2e0,c9359cb0,500800c,0,c800b2e0,...) at ufs_dirremove+0x16a ufs_remove(f6569c34,c0ce10cc,0,0,c800cb80,...) at ufs_remove+0x6e VOP_REMOVE_APV(c0db05e0,f6569c34,c800cb80,f6569c0c,bfbfe984,...) at VOP_REMOVE_APV+0xf6 kern_unlinkat(c7fbe900,ffffff9c,bfbfe984,0,f6569c80,...) at kern_unlinkat+0x181 kern_unlink(c7fbe900,bfbfe984,0,f6569d2c,c0bcf914,...) at kern_unlink+0x27 unlink(c7fbe900,f6569cf8,4,c0cc51e6,c0d8e6d8,...) at unlink+0x22 syscall(f6569d38) at syscall+0x2b4 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x2817a94f, esp = 0xbfbfe8dc, ebp = 0xbfbfea08 --- Tracing command mmap pid 306 tid 100150 td 0xc7fbeb40 sched_switch(c7fbeb40,0,104,191,8aa63a48,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,50,...) at mi_switch+0x200 sleepq_switch(c7fbeb40,0,c0ca738e,260,50,...) at sleepq_switch+0x15f sleepq_wait(c79debd8,50,c0c9b987,4,0,...) at sleepq_wait+0x63 __lockmgr_args(c79debd8,80100,c79dec44,0,0,...) at __lockmgr_args+0xb1f ffs_lock(f65646e0,c08d559b,c0caf8c7,80100,c79deb80,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c0db05e0,f65646e0,c7fbebe4,c0dcb0c0,c79deb80,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c79deb80,80100,c0cb03e0,843,4,...) at _vn_lock+0x78 vget(c79deb80,80100,c7fbeb40,50,0,...) at vget+0xbb vfs_hash_get(c77adb50,5c5c06,80000,c7fbeb40,f65648cc,...) at vfs_hash_get+0xed ffs_vgetf(c77adb50,5c5c06,80000,f65648cc,0,...) at ffs_vgetf+0x49 ffs_vget(c77adb50,5c5c06,80000,f65648cc,c97575c0,...) at ffs_vget+0x2e ffs_valloc(c97575c0,8180,dfbd7100,f65648cc,c0db0b60,...) at ffs_valloc+0x596 ufs_makeinode(f6564bd0,c0db0b60,f6564abc,f6564a18,c0be9895,...) at ufs_makeinode+0xa3 ufs_create(f6564abc,c0ce11d9,0,0,f6564ba4,...) at ufs_create+0x30 VOP_CREATE_APV(c0db05e0,f6564abc,f6564bd0,f6564a54,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(f6564ba4,f6564c5c,180,0,dfbd7100,...) at vn_open_cred+0x205 vn_open(f6564ba4,f6564c5c,180,c7a19888,c0da0c20,...) at vn_open+0x3b kern_openat(c7fbeb40,ffffff9c,bfbfe984,0,603,...) at kern_openat+0x11f kern_open(c7fbeb40,bfbfe984,0,602,180,...) at kern_open+0x35 open(c7fbeb40,f6564cf8,c,c0c89caf,c0d8e64c,...) at open+0x30 syscall(f6564d38) at syscall+0x2b4 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (5, FreeBSD ELF32, open), eip = 0x2817d413, esp = 0xbfbfe8dc, ebp = 0xbfbfea08 --- Tracing command mmap pid 305 tid 100149 td 0xc7fbed80 sched_switch(c7fbed80,0,104,191,8a8f33f0,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,50,...) at mi_switch+0x200 sleepq_switch(c7fbed80,0,c0ca738e,260,50,...) at sleepq_switch+0x15f sleepq_wait(e70f5fe0,50,c0caea05,4,0,...) at sleepq_wait+0x63 __lockmgr_args(e70f5fe0,81900,c7865828,c0caea05,50,...) at __lockmgr_args+0xb1f getblk(c7865730,5c3df00,0,4000,0,...) at getblk+0x163 breadn(c7865730,5c3df00,0,4000,0,...) at breadn+0x44 bread(c7865730,5c3df00,0,4000,0,...) at bread+0x4c ffs_update(c7888000,0,1,c7fbee24,c7888000,...) at ffs_update+0x1a2 ufs_inactive(f655fadc,c0ce0e40,c78880c4,c78880c4,c7888000,...) at ufs_inactive+0x35a VOP_INACTIVE_APV(c0db05e0,f655fadc,c0cb03e0,948,c0dcb080,...) at VOP_INACTIVE_APV+0xc5 vinactive(c0db05e0,f655fb10,c0cb03e0,8cd,c7888000,...) at vinactive+0xb1 vput(c7888000,f655fb4c,c0cb18c4,134,2,...) at vput+0x203 vn_close(c7888000,3,dfbd7100,c7fbed80,f655fbac,...) at vn_close+0x19a vn_closefile(c9709bd0,c7fbed80,3,0,c9709bd0,...) at vn_closefile+0xe4 _fdrop(c9709bd0,c7fbed80,f655fc18,c08d563c,0,c7fbee24,c0f3f3f0,c0d97d20,c0c9d7ba,c7dfca2c,488,c0c9d7b1,f655fc40,c0899bc0,c7dfca2c,8,c0c9d7b1,488) at _fdrop+0x43 closef(c9709bd0,c7fbed80,488,46d,c7dfca2c,...) at closef+0x290 kern_close(c7fbed80,4,f655fd2c,c0bcf914,c7fbed80,...) at kern_close+0x117 close(c7fbed80,f655fcf8,4,c0ca9b38,c0d8e668,...) at close+0x1a syscall(f655fd38) at syscall+0x2b4 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (6, FreeBSD ELF32, close), eip = 0x2818de83, esp = 0xbfbfe8dc, ebp = 0xbfbfea08 --- Tracing command mmap pid 304 tid 100148 td 0xc7fc0000 v_record_ref(c7fdcdb4,0,c0cb03e0,8cd,0,...) at v_record_ref+0x40 vput(c7fdccf0,ffffffdf,c7fdccf0,f655ac0c,bfbfe984,...) at vput+0x9b kern_unlinkat(c7fc0000,ffffff9c,bfbfe984,0,f655ac80,...) at kern_unlinkat+0x1c3 kern_unlink(c7fc0000,bfbfe984,0,f655ad2c,c0bcf914,...) at kern_unlink+0x27 unlink(c7fc0000,f655acf8,4,c0cc51e6,c0d8e6d8,...) at unlink+0x22 syscall(f655ad38) at syscall+0x2b4 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x2817a94f, esp = 0xbfbfe8dc, ebp = 0xbfbfea08 --- Tracing command swap pid 303 tid 100084 td 0xc79b3240 sched_switch(c79b3240,0,207,18c,6b6e73b8,...) at sched_switch+0x406 mi_switch(207,0,c0ca7bcd,d6,1,...) at mi_switch+0x200 ast(f6457d38) at ast+0x2b3 doreti_ast() at doreti_ast+0x17 Tracing command mmap pid 302 tid 100147 td 0xc7a70900 sched_switch(c7a70900,0,207,18c,8e9a33bd,...) at sched_switch+0x406 mi_switch(207,0,c0ca7bcd,d6,6,...) at mi_switch+0x200 ast(f6555d38) at ast+0x2b3 doreti_ast() at doreti_ast+0x17 Tracing command swap pid 301 tid 100161 td 0xc7fbbb40 sched_switch(c7fbbb40,0,207,18c,945d7508,...) at sched_switch+0x406 mi_switch(207,0,c0ca7bcd,d6,1,...) at mi_switch+0x200 ast(f659cd38) at ast+0x2b3 doreti_ast() at doreti_ast+0x17 Tracing command swap pid 300 tid 100160 td 0xc7fbbd80 sched_switch(c7fbbd80,0,207,18c,8a10eddc,...) at sched_switch+0x406 mi_switch(207,0,c0ca7bcd,d6,1,...) at mi_switch+0x200 ast(f6597d38) at ast+0x2b3 doreti_ast() at doreti_ast+0x17 Tracing command mmap pid 299 tid 100146 td 0xc7a70b40 sched_switch(c7a70b40,0,207,18c,7e01913d,...) at sched_switch+0x406 mi_switch(207,0,c0ca7bcd,d6,a,...) at mi_switch+0x200 ast(f6550d38) at ast+0x2b3 doreti_ast() at doreti_ast+0x17 Tracing command swap pid 298 tid 100140 td 0xc7806000 sched_switch(c7806000,0,207,18c,6f3d15f6,...) at sched_switch+0x406 mi_switch(207,0,c0ca7bcd,d6,1,...) at mi_switch+0x200 ast(f6534d38) at ast+0x2b3 doreti_ast() at doreti_ast+0x17 Tracing command mmap pid 297 tid 100145 td 0xc7a70d80 sched_switch(c7a70d80,0,207,18c,84927e05,...) at sched_switch+0x406 mi_switch(207,0,c0ca7bcd,d6,5,...) at mi_switch+0x200 ast(f654bd38) at ast+0x2b3 doreti_ast() at doreti_ast+0x17 Tracing command swap pid 296 tid 100107 td 0xc7a6e480 sched_switch(c7a6e480,0,207,18c,88a83c92,...) at sched_switch+0x406 mi_switch(207,0,c0ca7bcd,d6,1,...) at mi_switch+0x200 ast(f64afd38) at ast+0x2b3 doreti_ast() at doreti_ast+0x17 Tracing command mmap pid 295 tid 100143 td 0xc7a99000 sched_switch(c7a99000,0,207,18c,7e35ce03,...) at sched_switch+0x406 mi_switch(207,0,c0ca7bcd,d6,5,...) at mi_switch+0x200 ast(f6543d38) at ast+0x2b3 doreti_ast() at doreti_ast+0x17 Tracing command swap pid 294 tid 100106 td 0xc7a6e6c0 sched_switch(c7a6e6c0,0,207,18c,7ffc7709,...) at sched_switch+0x406 mi_switch(207,0,c0ca7bcd,d6,1,...) at mi_switch+0x200 ast(f64abd38) at ast+0x2b3 doreti_ast() at doreti_ast+0x17 Tracing command mmap pid 293 tid 100169 td 0xc7842d80 sched_switch(c7842d80,0,207,18c,73c51559,...) at sched_switch+0x406 mi_switch(207,0,c0ca7bcd,d6,6,...) at mi_switch+0x200 ast(f65c0d38) at ast+0x2b3 doreti_ast() at doreti_ast+0x17 Tracing command swap pid 292 tid 100105 td 0xc7a6e900 sched_switch(c7a6e900,0,207,18c,8e78d218,...) at sched_switch+0x406 mi_switch(207,0,c0ca7bcd,d6,1,...) at mi_switch+0x200 ast(f64a7d38) at ast+0x2b3 doreti_ast() at doreti_ast+0x17 Tracing command mmap pid 291 tid 100170 td 0xc7842b40 sched_switch(c7842b40,0,207,18c,849efd32,...) at sched_switch+0x406 mi_switch(207,0,c0ca7bcd,d6,a,...) at mi_switch+0x200 ast(f65c3d38) at ast+0x2b3 doreti_ast() at doreti_ast+0x17 Tracing command swap pid 290 tid 100104 td 0xc7a6eb40 sched_switch(c7a6eb40,0,207,18c,7e2440a6,...) at sched_switch+0x406 mi_switch(207,0,c0ca7bcd,d6,1,...) at mi_switch+0x200 ast(f64a3d38) at ast+0x2b3 doreti_ast() at doreti_ast+0x17 Tracing command mmap pid 289 tid 100153 td 0xc7fbe480 cpustop_handler(2,f6573574,c0bcfb96,c08c5330,33,...) at cpustop_handler+0x32 ipi_nmi_handler(c08c5330,33,f6573634,f6573508,c7ac52a8,...) at ipi_nmi_handler+0x2f trap(f6573580) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0881a2f, esp = 0xf65735c0, ebp = 0xf65735d0 --- _mtx_lock_spin(c0dfe744,c7fbe480,0,c0c9ce98,1a3,...) at _mtx_lock_spin+0x3f _mtx_lock_spin_flags(c0dfe744,0,c0c9ce98,1a3,1,...) at _mtx_lock_spin_flags+0x146 cnputs(f6573650,c08c6640,f6573634,a,f65736f8,...) at cnputs+0x3d vprintf(c0c482f3,f65736f8,f65736f8,f6573704,c04d3770,...) at vprintf+0xa0 printf(c0c482f3,33,f65737fb,f6573864,f6573714,...) at printf+0x1b db_putc(f65737fb,c04d3900,f6573848,c08c5e86,33,...) at db_putc+0x30 db_putchar(33,f6573864,0,f6573738,c113870e,...) at db_putchar+0x18 kvprintf(c0cd644c,c04d3900,f6573864,10,f6573884,...) at kvprintf+0x1096 db_printf(c0cd644c,f6573d2c,0,ffffffff,c085a617,...) at db_printf+0x3a db_print_stack_entry(f6573c78,c085a617,0,f6573af4,f6573c70,...) at db_print_stack_entry+0x73 db_backtrace(c085a617,3f4,0,f6573968,c0c2649d,...) at db_backtrace+0x2c6 db_trace_self(f6573968,f657d898,f6573968,f657395c,f657399c,...) at db_trace_self+0x49 db_trace_self_wrapper(c0ca6271,f65739c0,c08d57f5,c0cb03e9,8cd,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c0cb03e9,8cd,ffffffff,c0f3e794,f65739f8,...) at kdb_backtrace+0x29 _witness_debugger(c0ca87c1,f6573a0c,4,1,0,...) at _witness_debugger+0x25 witness_warn(5,0,c0cde11a,c1894908,c7ac52a8,...) at witness_warn+0x1fd trap(f6573a98) at trap+0x19e calltrap() at calltrap+0x6 --- trap 0xc, eip = 0xc0923a40, esp = 0xf6573ad8, ebp = 0xf6573af4 --- v_record_ref(c7b1f7f4,0,c0cb03e0,8cd,c7b1f730,...) at v_record_ref+0x40 vput(c7b1f730,f6573b4c,c0cb18c4,134,2,...) at vput+0x9b vn_close(c7b1f730,3,dfbd7100,c7fbe480,f6573bac,...) at vn_close+0x19a vn_closefile(c8c9c968,c7fbe480,3,0,c8c9c968,...) at vn_closefile+0xe4 _fdrop(c8c9c968,c7fbe480,f6573c18,c08d563c,0,c7fbe524,c0f3e790,c0d97d20,c0c9d7ba,c77bf62c,488,c0c9d7b1,f6573c40,c0899bc0,c77bf62c,8,c0c9d7b1,488) at _fdrop+0x43 closef(c8c9c968,c7fbe480,488,46d,c77bf62c,...) at closef+0x290 kern_close(c7fbe480,4,f6573d2c,c0bcf914,c7fbe480,...) at kern_close+0x117 close(c7fbe480,f6573cf8,4,c0c8bea0,c0d8e668,...) at close+0x1a syscall(f6573d38) at syscall+0x2b4 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (6, FreeBSD ELF32, close), eip = 0x2818de83, esp = 0xbfbfe8dc, ebp = 0xbfbfea08 --- Tracing command mmap pid 288 tid 100154 td 0xc7fbe240 sched_switch(c7fbe240,0,207,18c,7e44d408,...) at sched_switch+0x406 mi_switch(207,0,c0ca7bcd,d6,a,...) at mi_switch+0x200 ast(f6578d38) at ast+0x2b3 doreti_ast() at doreti_ast+0x17 Tracing command mmap pid 287 tid 100155 td 0xc7fbe000 cpustop_handler(8,f657d4a4,c0bcfb96,c08c5330,72,...) at cpustop_handler+0x32 ipi_nmi_handler(c08c5330,72,f657d564,f657d438,c7a91d48,...) at ipi_nmi_handler+0x2f trap(f657d4b0) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0881a67, esp = 0xf657d4f0, ebp = 0xf657d500 --- _mtx_lock_spin(c0dfe744,c7fbe000,0,c0c9ce98,1a3,...) at _mtx_lock_spin+0x77 _mtx_lock_spin_flags(c0dfe744,0,c0c9ce98,1a3,1,...) at _mtx_lock_spin_flags+0x146 cnputs(f657d580,c08c6640,f657d564,a,f657d628,...) at cnputs+0x3d vprintf(c0c482f3,f657d628,f657d628,f657d634,c04d3770,...) at vprintf+0xa0 printf(c0c482f3,72,c1117aeb,f657d794,f657d644,...) at printf+0x1b db_putc(c1117aeb,c04d3900,f657d778,c08c5817,72,...) at db_putc+0x30 db_putchar(72,f657d794,0,f657d668,c1117af0,...) at db_putchar+0x18 kvprintf(c0cd8cff,c04d3900,f657d794,10,f657d7b4,...) at kvprintf+0xa27 db_printf(c0cd8cff,c1117adc,8908458b,ffffffff,c0ac6a84,...) at db_printf+0x3a db_print_stack_entry(f657db44,c0ac6a84,0,f657da24,f657db3c,...) at db_print_stack_entry+0xe5 db_backtrace(c0ac6a84,3f5,0,f657d898,c0c2649d,...) at db_backtrace+0x2c6 db_trace_self(f657d898,0,f657d898,f657d88c,f657d8cc,...) at db_trace_self+0x49 db_trace_self_wrapper(c0ca6271,f657d8f0,c08d57f5,c0cb03e9,84b,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c0cb03e9,84b,ffffffff,c0f3f18c,f657d928,...) at kdb_backtrace+0x29 _witness_debugger(c0ca87c1,f657d93c,4,1,0,...) at _witness_debugger+0x25 witness_warn(5,0,c0cde11a,c1894908,c7a91d48,...) at witness_warn+0x1fd trap(f657d9c8) at trap+0x19e calltrap() at calltrap+0x6 --- trap 0xc, eip = 0xc0923a40, esp = 0xf657da08, ebp = 0xf657da24 --- v_record_ref(c79fc3a4,0,c0cb03e0,84b,c79fc3a4,...) at v_record_ref+0x40 vget(c79fc2e0,80100,c7fbe000,50,0,...) at vget+0x1a1 vfs_hash_get(c77adb50,5c5c07,80000,c7fbe000,f657db08,...) at vfs_hash_get+0xed ffs_vgetf(c77adb50,5c5c07,80000,f657db08,1,...) at ffs_vgetf+0x49 handle_workitem_remove(c0f78504,0,c0cc9708,cd7,0,...) at handle_workitem_remove+0x45 softdep_setup_remove(e70f9040,c7a0689c,c9359910,0,f657db5c,...) at softdep_setup_remove+0x124 ufs_dirremove(c7a07170,c9359910,500800c,0,c7a07170,...) at ufs_dirremove+0x16a ufs_remove(f657dc34,c0ce10cc,0,0,c79fc2e0,...) at ufs_remove+0x6e VOP_REMOVE_APV(c0db05e0,f657dc34,c79fc2e0,f657dc0c,bfbfe984,...) at VOP_REMOVE_APV+0xf6 kern_unlinkat(c7fbe000,ffffff9c,bfbfe984,0,f657dc80,...) at kern_unlinkat+0x181 kern_unlink(c7fbe000,bfbfe984,0,f657dd2c,c0bcf914,...) at kern_unlink+0x27 unlink(c7fbe000,f657dcf8,4,c0cc51e6,c0d8e6d8,...) at unlink+0x22 syscall(f657dd38) at syscall+0x2b4 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x2817a94f, esp = 0xbfbfe8dc, ebp = 0xbfbfea08 --- Tracing command swap pid 286 tid 100103 td 0xc7a6ed80 sched_switch(c7a6ed80,0,207,18c,9320cde6,...) at sched_switch+0x406 mi_switch(207,0,c0ca7bcd,d6,1,...) at mi_switch+0x200 ast(f649fd38) at ast+0x2b3 doreti_ast() at doreti_ast+0x17 Tracing command mmap pid 285 tid 100156 td 0xc7a48d80 sched_switch(c7a48d80,0,207,18c,8a76ee87,...) at sched_switch+0x406 mi_switch(207,0,c0ca7bcd,d6,a,...) at mi_switch+0x200 ast(f6582d38) at ast+0x2b3 doreti_ast() at doreti_ast+0x17 Tracing command swap pid 284 tid 100102 td 0xc7a70000 sched_switch(c7a70000,0,207,18c,84377672,...) at sched_switch+0x406 mi_switch(207,0,c0ca7bcd,d6,1,...) at mi_switch+0x200 ast(f649bd38) at ast+0x2b3 doreti_ast() at doreti_ast+0x17 Tracing command mmap pid 283 tid 100116 td 0xc7a9a900 sched_switch(c7a9a900,0,104,191,ce3cdc9a,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,5c,...) at mi_switch+0x200 sleepq_switch(c7a9a900,0,c0ca738e,1a0,5c,...) at sleepq_switch+0x15f sleepq_catch_signals(c0ca738e,160,0,100,100,...) at sleepq_catch_signals+0xb7 sleepq_wait_sig(c7a8f550,5c,c0ca9b9b,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7a8f550,c7a8f5d8,15c,c0ca9b9b,0,...) at _sleep+0x354 kern_wait(c7a9a900,11d,f64d3c74,0,0,...) at kern_wait+0xb76 wait4(c7a9a900,f64d3cf8,10,c7a9a900,c0d8e684,...) at wait4+0x3b syscall(f64d3d38) at syscall+0x2b4 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x28100e9b, esp = 0xbfbfea0c, ebp = 0xbfbfea28 --- Tracing command swap pid 282 tid 100164 td 0xc7803480 sched_switch(c7803480,0,104,191,ce517795,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,5c,...) at mi_switch+0x200 sleepq_switch(c7803480,0,c0ca738e,1a0,5c,...) at sleepq_switch+0x15f sleepq_catch_signals(c0ca738e,160,0,100,100,...) at sleepq_catch_signals+0xb7 sleepq_wait_sig(c78407f8,5c,c0ca9b9b,100,0,...) at sleepq_wait_sig+0x17 _sleep(c78407f8,c7840880,15c,c0ca9b9b,0,...) at _sleep+0x354 kern_wait(c7803480,11c,f65b0c74,0,0,...) at kern_wait+0xb76 wait4(c7803480,f65b0cf8,10,c7803480,c0d8e684,...) at wait4+0x3b syscall(f65b0d38) at syscall+0x2b4 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x28100e9b, esp = 0xbfbfea0c, ebp = 0xbfbfea28 --- Tracing command swap pid 281 tid 100163 td 0xc78036c0 sched_switch(c78036c0,0,104,191,8ee5ae69,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,5c,...) at mi_switch+0x200 sleepq_switch(c78036c0,0,c0ca738e,1a0,5c,...) at sleepq_switch+0x15f sleepq_catch_signals(3e9,c08cbed0,c78036c0,0,100,...) at sleepq_catch_signals+0xb7 sleepq_timedwait_sig(c0e002c4,5c,c0ca409f,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c0e002c4,0,15c,c0ca409f,3e9,...) at _sleep+0x31e kern_nanosleep(c78036c0,f65adc64,f65adc6c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c78036c0,f65adcf8,8,c0caa04f,c0d90000,...) at nanosleep+0x6f syscall(f65add38) at syscall+0x2b4 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x2816e887, esp = 0xbfbfea2c, ebp = 0xbfbfea58 --- Tracing command mmap pid 280 tid 100085 td 0xc7845000 sched_switch(c7845000,0,104,191,8db920cf,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,5c,...) at mi_switch+0x200 sleepq_switch(c7845000,0,c0ca738e,1a0,5c,...) at sleepq_switch+0x15f sleepq_catch_signals(3e9,c08cbed0,c7845000,0,100,...) at sleepq_catch_signals+0xb7 sleepq_timedwait_sig(c0e002c4,5c,c0ca409f,100,0,...) at sleepq_timedwait_sig+0x1a _sleep(c0e002c4,0,15c,c0ca409f,3e9,...) at _sleep+0x31e kern_nanosleep(c7845000,f645bc64,f645bc6c,1,0,...) at kern_nanosleep+0xc1 nanosleep(c7845000,f645bcf8,8,c0caa04f,c0d90000,...) at nanosleep+0x6f syscall(f645bd38) at syscall+0x2b4 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (240, FreeBSD ELF32, nanosleep), eip = 0x2816e887, esp = 0xbfbfea2c, ebp = 0xbfbfea58 --- Tracing command run pid 175 tid 100077 td 0xc74e9480 sched_switch(c74e9480,0,104,191,8c1f6b50,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,5c,...) at mi_switch+0x200 sleepq_switch(c74e9480,0,c0ca738e,1a0,5c,...) at sleepq_switch+0x15f sleepq_catch_signals(c0ca738e,160,0,100,100,...) at sleepq_catch_signals+0xb7 sleepq_wait_sig(c7796000,5c,c0ca9b9b,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7796000,c7796088,15c,c0ca9b9b,0,...) at _sleep+0x354 kern_wait(c74e9480,118,f6439c74,0,0,...) at kern_wait+0xb76 wait4(c74e9480,f6439cf8,10,c0caa400,c0d8e684,...) at wait4+0x3b syscall(f6439d38) at syscall+0x2b4 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x28100e9b, esp = 0xbfbfe52c, ebp = 0xbfbfe548 --- Tracing command run pid 174 tid 100138 td 0xc7806480 sched_switch(c7806480,0,104,191,bc749dba,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,5c,...) at mi_switch+0x200 sleepq_switch(c7806480,0,c0ca738e,1a0,5c,...) at sleepq_switch+0x15f sleepq_catch_signals(c0ca738e,160,0,100,100,...) at sleepq_catch_signals+0xb7 sleepq_wait_sig(c7801aa0,5c,c0ca9b9b,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7801aa0,c7801b28,15c,c0ca9b9b,0,...) at _sleep+0x354 kern_wait(c7806480,af,f652bc74,0,0,...) at kern_wait+0xb76 wait4(c7806480,f652bcf8,10,c7806480,c0d8e684,...) at wait4+0x3b syscall(f652bd38) at syscall+0x2b4 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x28100e9b, esp = 0xbfbfe9dc, ebp = 0xbfbfe9f8 --- Tracing command run pid 173 tid 100137 td 0xc78066c0 sched_switch(c78066c0,0,104,191,96f498e2,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,5c,...) at mi_switch+0x200 sleepq_switch(c78066c0,0,c0ca738e,1a0,5c,...) at sleepq_switch+0x15f sleepq_catch_signals(c0ca738e,160,0,100,100,...) at sleepq_catch_signals+0xb7 sleepq_wait_sig(c7801d48,5c,c0ca9b9b,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7801d48,c7801dd0,15c,c0ca9b9b,0,...) at _sleep+0x354 kern_wait(c78066c0,ae,f6527c74,0,0,...) at kern_wait+0xb76 wait4(c78066c0,f6527cf8,10,c78066c0,c0d8e684,...) at wait4+0x3b syscall(f6527d38) at syscall+0x2b4 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x28100e9b, esp = 0xbfbfea0c, ebp = 0xbfbfea28 --- Tracing command bash pid 172 tid 100081 td 0xc7845240 Tracing command su pid 171 tid 100159 td 0xc7a486c0 Tracing command sh pid 25 tid 100079 td 0xc74e9000 Tracing command sh pid 21 tid 100075 td 0xc7807000 Tracing command flowcleaner pid 20 tid 100074 td 0xc74e96c0 sched_switch(c74e96c0,0,104,191,4ecd6c7e,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c74e96c0,0,c0ca738e,283,c74e96c0,...) at sleepq_switch+0x15f sleepq_timedwait(c0f6ce08,0,f4241cc4,1,0,...) at sleepq_timedwait+0x6b _cv_timedwait(c0f6ce08,c0f6ce10,2710,3f0,0,...) at _cv_timedwait+0x250 flowtable_cleaner(0,f4241d38,c0c9e2b4,343,c77962a8,...) at flowtable_cleaner+0x1bf fork_exit(c093bc80,0,f4241d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4241d70, ebp = 0 --- Tracing command softdepflush pid 19 tid 100073 td 0xc74e9900 sched_switch(c74e9900,0,104,191,3eff4b1c,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,44,...) at mi_switch+0x200 sleepq_switch(c74e9900,0,c0ca738e,283,0,...) at sleepq_switch+0x15f sleepq_timedwait(c0f78560,44,c0cca468,0,0,...) at sleepq_timedwait+0x6b _sleep(c0f78560,c0f78504,44,c0cca468,3e8,...) at _sleep+0x339 softdep_flush(0,f423ed38,c0c9e2b4,343,c7796550,...) at softdep_flush+0x244 fork_exit(c0acbc80,0,f423ed38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf423ed70, ebp = 0 --- Tracing command syncer pid 18 tid 100072 td 0xc74e9b40 sched_switch(c74e9b40,0,104,191,74b715d9,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c74e9b40,0,c0ca738e,283,c74e9b40,...) at sleepq_switch+0x15f sleepq_timedwait(c0f6cc18,0,f423bc88,1,0,...) at sleepq_timedwait+0x6b _cv_timedwait(c0f6cc18,c0f6cc04,3e8,6ec,4e20,...) at _cv_timedwait+0x250 sched_sync(0,f423bd38,c0c9e2b4,343,c77967f8,...) at sched_sync+0x502 fork_exit(c0926700,0,f423bd38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf423bd70, ebp = 0 --- Tracing command vnlru pid 17 tid 100071 td 0xc74e9d80 sched_switch(c74e9d80,0,104,191,774a4a7c,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,50,...) at mi_switch+0x200 sleepq_switch(c74e9d80,0,c0ca738e,283,0,...) at sleepq_switch+0x15f sleepq_timedwait(c7796aa0,50,c0cb13b9,0,0,...) at sleepq_timedwait+0x6b _sleep(c7796aa0,c0f6cbd8,250,c0cb13b9,3e8,...) at _sleep+0x339 vnlru_proc(0,f4238d38,c0c9e2b4,343,c7796aa0,...) at vnlru_proc+0xe7 fork_exit(c09272f0,0,f4238d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4238d70, ebp = 0 --- Tracing command bufdaemon pid 16 tid 100070 td 0xc74eb000 sched_switch(c74eb000,0,104,191,3cd9bdba,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,44,...) at mi_switch+0x200 sleepq_switch(c74eb000,0,c0ca738e,283,0,...) at sleepq_switch+0x15f sleepq_timedwait(c0f6c948,44,c0cae91e,0,0,...) at sleepq_timedwait+0x6b _sleep(c0f6c948,c0f6c94c,44,c0cae91e,3e8,...) at _sleep+0x339 buf_daemon(0,f4235d38,c0c9e2b4,343,c7796d48,...) at buf_daemon+0x138 fork_exit(c090e720,0,f4235d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4235d70, ebp = 0 --- Tracing command pagezero pid 15 tid 100069 td 0xc74eb240 sched_switch(c74eb240,0,104,191,6b07ff9d,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c74eb240,0,c0ca738e,283,0,...) at sleepq_switch+0x15f sleepq_timedwait(c0f79398,0,c0cd051d,0,0,...) at sleepq_timedwait+0x6b _sleep(c0f79398,c0f78e80,0,c0cd051d,493e0,...) at _sleep+0x339 vm_pagezero(0,f4232d38,c0c9e2b4,343,c717a2a8,...) at vm_pagezero+0xdc fork_exit(c0b0dbf0,0,f4232d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4232d70, ebp = 0 --- Tracing command vmdaemon pid 9 tid 100068 td 0xc74eb480 sched_switch(c74eb480,0,104,191,e5847dc5,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,68,...) at mi_switch+0x200 sleepq_switch(c74eb480,0,c0ca738e,260,0,...) at sleepq_switch+0x15f sleepq_wait(c0f78fc4,68,c0cae91e,0,0,...) at sleepq_wait+0x63 _sleep(c0f78fc4,c0f78fc8,68,c0cae91e,0,...) at _sleep+0x36b vm_daemon(0,f422fd38,c0c9e2b4,343,c717a550,...) at vm_daemon+0x59 fork_exit(c0b063c0,0,f422fd38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf422fd70, ebp = 0 --- Tracing command pagedaemon pid 8 tid 100067 td 0xc74eb6c0 sched_switch(c74eb6c0,0,104,191,821f6ac8,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,44,...) at mi_switch+0x200 sleepq_switch(c74eb6c0,0,c0ca738e,283,0,...) at sleepq_switch+0x15f sleepq_timedwait(c0f78f8c,44,c0cae91e,0,0,...) at sleepq_timedwait+0x6b _sleep(c0f78f8c,c0f78e80,44,c0cae91e,1388,...) at _sleep+0x339 vm_pageout(0,f422cd38,c0c9e2b4,343,c717a7f8,...) at vm_pageout+0x2bb fork_exit(c0b07270,0,f422cd38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf422cd70, ebp = 0 --- Tracing command fdc0 pid 7 tid 100064 td 0xc74ebd80 sched_switch(c74ebd80,0,104,191,3a3c5412,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,4c,...) at mi_switch+0x200 sleepq_switch(c74ebd80,0,c0ca738e,283,0,...) at sleepq_switch+0x15f sleepq_timedwait(c73c263c,4c,c0c9873a,0,0,...) at sleepq_timedwait+0x6b _sleep(c73c263c,c73c26f0,4c,c0c9873a,3e8,...) at _sleep+0x339 fdc_thread(c73c2600,f41c3d38,c0c9e2b4,343,c717aaa0,...) at fdc_thread+0x27d fork_exit(c0b8b220,c73c2600,f41c3d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf41c3d70, ebp = 0 --- Tracing command fw0_probe pid 6 tid 100062 td 0xc73bc480 sched_switch(c73bc480,0,104,191,7565ece9,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,5c,...) at mi_switch+0x200 sleepq_switch(c73bc480,0,c0ca738e,1a0,5c,...) at sleepq_switch+0x15f sleepq_catch_signals(c0ca738e,160,0,100,100,...) at sleepq_catch_signals+0xb7 sleepq_wait_sig(c73f6000,5c,c0c9873a,100,0,...) at sleepq_wait_sig+0x17 _sleep(c73f6000,c73fa488,15c,c0c9873a,0,...) at _sleep+0x354 fw_bus_probe_thread(c73f6000,f41b3d38,c0c9e2b4,343,c717ad48,...) at fw_bus_probe_thread+0xa08 fork_exit(c065ba00,c73f6000,f41b3d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf41b3d70, ebp = 0 --- Tracing command usb pid 14 tid 100058 td 0xc73bcd80 sched_switch(c73bcd80,0,104,191,aa74b93,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c73bcd80,0,c0ca738e,260,c73bcd80,...) at sleepq_switch+0x15f sleepq_wait(c73d6d0c,0,f419ccbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73d6d0c,c73d6dac,c0c9142a,6c,c73d6d14,...) at _cv_wait+0x240 usb_process(c73d6d04,f419cd38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73d6d04,f419cd38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf419cd70, ebp = 0 --- Tracing command usb pid 14 tid 100057 td 0xc73ce000 sched_switch(c73ce000,0,104,191,7afe8f23,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c73ce000,0,c0ca738e,260,c73ce000,...) at sleepq_switch+0x15f sleepq_wait(c73d6cdc,0,f4199cbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73d6cdc,c73d6dac,c0c9142a,6c,c73d6ce4,...) at _cv_wait+0x240 usb_process(c73d6cd4,f4199d38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73d6cd4,f4199d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4199d70, ebp = 0 --- Tracing command usb pid 14 tid 100056 td 0xc73ce240 sched_switch(c73ce240,0,104,191,a411d34,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c73ce240,0,c0ca738e,260,c73ce240,...) at sleepq_switch+0x15f sleepq_wait(c73d6cac,0,f4196cbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73d6cac,c73d6dac,c0c9142a,6c,c73d6cb4,...) at _cv_wait+0x240 usb_process(c73d6ca4,f4196d38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73d6ca4,f4196d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4196d70, ebp = 0 --- Tracing command usb pid 14 tid 100055 td 0xc73ce480 sched_switch(c73ce480,0,104,191,a410a5f,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c73ce480,0,c0ca738e,260,c73ce480,...) at sleepq_switch+0x15f sleepq_wait(c73d6c7c,0,f4193cbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73d6c7c,c73d6dac,c0c9142a,6c,c73d6c84,...) at _cv_wait+0x240 usb_process(c73d6c74,f4193d38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73d6c74,f4193d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4193d70, ebp = 0 --- Tracing command usb pid 14 tid 100053 td 0xc73ce900 sched_switch(c73ce900,0,104,191,a40f659,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c73ce900,0,c0ca738e,260,c73ce900,...) at sleepq_switch+0x15f sleepq_wait(c73c8b5c,0,f418bcbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73c8b5c,c73c8bfc,c0c9142a,6c,c73c8b64,...) at _cv_wait+0x240 usb_process(c73c8b54,f418bd38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73c8b54,f418bd38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf418bd70, ebp = 0 --- Tracing command usb pid 14 tid 100052 td 0xc73ceb40 sched_switch(c73ceb40,0,104,191,70e7f801,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c73ceb40,0,c0ca738e,260,c73ceb40,...) at sleepq_switch+0x15f sleepq_wait(c73c8b2c,0,f4188cbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73c8b2c,c73c8bfc,c0c9142a,6c,c73c8b34,...) at _cv_wait+0x240 usb_process(c73c8b24,f4188d38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73c8b24,f4188d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4188d70, ebp = 0 --- Tracing command usb pid 14 tid 100051 td 0xc73ced80 sched_switch(c73ced80,0,104,191,9dd8e80,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c73ced80,0,c0ca738e,260,c73ced80,...) at sleepq_switch+0x15f sleepq_wait(c73c8afc,0,f4185cbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73c8afc,c73c8bfc,c0c9142a,6c,c73c8b04,...) at _cv_wait+0x240 usb_process(c73c8af4,f4185d38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73c8af4,f4185d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4185d70, ebp = 0 --- Tracing command usb pid 14 tid 100050 td 0xc736e6c0 sched_switch(c736e6c0,0,104,191,9dd7da8,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c736e6c0,0,c0ca738e,260,c736e6c0,...) at sleepq_switch+0x15f sleepq_wait(c73c8acc,0,f4182cbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73c8acc,c73c8bfc,c0c9142a,6c,c73c8ad4,...) at _cv_wait+0x240 usb_process(c73c8ac4,f4182d38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73c8ac4,f4182d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4182d70, ebp = 0 --- Tracing command usb pid 14 tid 100049 td 0xc736e900 sched_switch(c736e900,0,104,191,9dd6aa8,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c736e900,0,c0ca738e,260,c736e900,...) at sleepq_switch+0x15f sleepq_wait(c73c4b5c,0,f417ecbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73c4b5c,c73c4bfc,c0c9142a,6c,c73c4b64,...) at _cv_wait+0x240 usb_process(c73c4b54,f417ed38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73c4b54,f417ed38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf417ed70, ebp = 0 --- Tracing command usb pid 14 tid 100048 td 0xc736eb40 sched_switch(c736eb40,0,104,191,709590ad,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c736eb40,0,c0ca738e,260,c736eb40,...) at sleepq_switch+0x15f sleepq_wait(c73c4b2c,0,f417bcbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73c4b2c,c73c4bfc,c0c9142a,6c,c73c4b34,...) at _cv_wait+0x240 usb_process(c73c4b24,f417bd38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73c4b24,f417bd38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf417bd70, ebp = 0 --- Tracing command usb pid 14 tid 100047 td 0xc736ed80 sched_switch(c736ed80,0,104,191,97a5309,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c736ed80,0,c0ca738e,260,c736ed80,...) at sleepq_switch+0x15f sleepq_wait(c73c4afc,0,f4178cbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73c4afc,c73c4bfc,c0c9142a,6c,c73c4b04,...) at _cv_wait+0x240 usb_process(c73c4af4,f4178d38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73c4af4,f4178d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4178d70, ebp = 0 --- Tracing command usb pid 14 tid 100046 td 0xc73bb000 sched_switch(c73bb000,0,104,191,97a41fe,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c73bb000,0,c0ca738e,260,c73bb000,...) at sleepq_switch+0x15f sleepq_wait(c73c4acc,0,f4175cbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73c4acc,c73c4bfc,c0c9142a,6c,c73c4ad4,...) at _cv_wait+0x240 usb_process(c73c4ac4,f4175d38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73c4ac4,f4175d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4175d70, ebp = 0 --- Tracing command usb pid 14 tid 100045 td 0xc73bb240 sched_switch(c73bb240,0,104,191,97a2fbe,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c73bb240,0,c0ca738e,260,c73bb240,...) at sleepq_switch+0x15f sleepq_wait(c73bdb5c,0,f4171cbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73bdb5c,c73bdbfc,c0c9142a,6c,c73bdb64,...) at _cv_wait+0x240 usb_process(c73bdb54,f4171d38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73bdb54,f4171d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4171d70, ebp = 0 --- Tracing command usb pid 14 tid 100044 td 0xc73bb480 sched_switch(c73bb480,0,104,191,7043219e,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c73bb480,0,c0ca738e,260,c73bb480,...) at sleepq_switch+0x15f sleepq_wait(c73bdb2c,0,f416ecbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73bdb2c,c73bdbfc,c0c9142a,6c,c73bdb34,...) at _cv_wait+0x240 usb_process(c73bdb24,f416ed38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73bdb24,f416ed38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf416ed70, ebp = 0 --- Tracing command usb pid 14 tid 100043 td 0xc73bb6c0 sched_switch(c73bb6c0,0,104,191,9167d5b,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c73bb6c0,0,c0ca738e,260,c73bb6c0,...) at sleepq_switch+0x15f sleepq_wait(c73bdafc,0,f416bcbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73bdafc,c73bdbfc,c0c9142a,6c,c73bdb04,...) at _cv_wait+0x240 usb_process(c73bdaf4,f416bd38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73bdaf4,f416bd38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf416bd70, ebp = 0 --- Tracing command usb pid 14 tid 100042 td 0xc73bb900 sched_switch(c73bb900,0,104,191,9166bdb,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c73bb900,0,c0ca738e,260,c73bb900,...) at sleepq_switch+0x15f sleepq_wait(c73bdacc,0,f4168cbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73bdacc,c73bdbfc,c0c9142a,6c,c73bdad4,...) at _cv_wait+0x240 usb_process(c73bdac4,f4168d38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73bdac4,f4168d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4168d70, ebp = 0 --- Tracing command usb pid 14 tid 100040 td 0xc73bbd80 sched_switch(c73bbd80,0,104,191,91657c0,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c73bbd80,0,c0ca738e,260,c73bbd80,...) at sleepq_switch+0x15f sleepq_wait(c73b8b5c,0,f4161cbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73b8b5c,c73b8bfc,c0c9142a,6c,c73b8b64,...) at _cv_wait+0x240 usb_process(c73b8b54,f4161d38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73b8b54,f4161d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4161d70, ebp = 0 --- Tracing command usb pid 14 tid 100039 td 0xc73bc000 sched_switch(c73bc000,0,104,191,6ff0cf07,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c73bc000,0,c0ca738e,260,c73bc000,...) at sleepq_switch+0x15f sleepq_wait(c73b8b2c,0,f415ecbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73b8b2c,c73b8bfc,c0c9142a,6c,c73b8b34,...) at _cv_wait+0x240 usb_process(c73b8b24,f415ed38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73b8b24,f415ed38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf415ed70, ebp = 0 --- Tracing command usb pid 14 tid 100038 td 0xc7352d80 sched_switch(c7352d80,0,104,191,8b27743,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c7352d80,0,c0ca738e,260,c7352d80,...) at sleepq_switch+0x15f sleepq_wait(c73b8afc,0,f415bcbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73b8afc,c73b8bfc,c0c9142a,6c,c73b8b04,...) at _cv_wait+0x240 usb_process(c73b8af4,f415bd38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73b8af4,f415bd38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf415bd70, ebp = 0 --- Tracing command usb pid 14 tid 100037 td 0xc736c000 sched_switch(c736c000,0,104,191,8b265de,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c736c000,0,c0ca738e,260,c736c000,...) at sleepq_switch+0x15f sleepq_wait(c73b8acc,0,f4158cbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73b8acc,c73b8bfc,c0c9142a,6c,c73b8ad4,...) at _cv_wait+0x240 usb_process(c73b8ac4,f4158d38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73b8ac4,f4158d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4158d70, ebp = 0 --- Tracing command usb pid 14 tid 100035 td 0xc736c480 sched_switch(c736c480,0,104,191,8b252cf,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c736c480,0,c0ca738e,260,c736c480,...) at sleepq_switch+0x15f sleepq_wait(c73a9b5c,0,f4151cbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73a9b5c,c73a9bfc,c0c9142a,6c,c73a9b64,...) at _cv_wait+0x240 usb_process(c73a9b54,f4151d38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73a9b54,f4151d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4151d70, ebp = 0 --- Tracing command usb pid 14 tid 100034 td 0xc736c6c0 sched_switch(c736c6c0,0,104,191,6fba32df,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c736c6c0,0,c0ca738e,260,c736c6c0,...) at sleepq_switch+0x15f sleepq_wait(c73a9b2c,0,f414ecbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73a9b2c,c73a9bfc,c0c9142a,6c,c73a9b34,...) at _cv_wait+0x240 usb_process(c73a9b24,f414ed38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73a9b24,f414ed38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf414ed70, ebp = 0 --- Tracing command usb pid 14 tid 100033 td 0xc736c900 sched_switch(c736c900,0,104,191,8487c76,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c736c900,0,c0ca738e,260,c736c900,...) at sleepq_switch+0x15f sleepq_wait(c73a9afc,0,f414bcbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73a9afc,c73a9bfc,c0c9142a,6c,c73a9b04,...) at _cv_wait+0x240 usb_process(c73a9af4,f414bd38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73a9af4,f414bd38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf414bd70, ebp = 0 --- Tracing command usb pid 14 tid 100032 td 0xc736cb40 sched_switch(c736cb40,0,104,191,8486adc,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c736cb40,0,c0ca738e,260,c736cb40,...) at sleepq_switch+0x15f sleepq_wait(c73a9acc,0,f4148cbc,1,0,...) at sleepq_wait+0x63 _cv_wait(c73a9acc,c73a9bfc,c0c9142a,6c,c73a9ad4,...) at _cv_wait+0x240 usb_process(c73a9ac4,f4148d38,c0c9e2b4,343,c7348000,...) at usb_process+0x193 fork_exit(c07c2120,c73a9ac4,f4148d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4148d70, ebp = 0 --- Tracing command xpt_thrd pid 5 tid 100023 td 0xc7352000 sched_switch(c7352000,0,104,191,8485458,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,4c,...) at mi_switch+0x200 sleepq_switch(c7352000,0,c0ca738e,260,0,...) at sleepq_switch+0x15f sleepq_wait(c0dcc4d4,4c,c0c3cdfa,0,0,...) at sleepq_wait+0x63 _sleep(c0dcc4d4,c0dcc4ec,4c,c0c3cdfa,0,...) at _sleep+0x36b xpt_scanner_thread(0,c6e41d38,c0c9e2b4,343,c73482a8,...) at xpt_scanner_thread+0x4a fork_exit(c04849a0,0,c6e41d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e41d70, ebp = 0 --- Tracing command yarrow pid 13 tid 100017 td 0xc717d240 sched_switch(c717d240,0,104,191,93c410b9,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c717d240,0,c0ca738e,283,2,...) at sleepq_switch+0x15f sleepq_timedwait(c0e00124,0,c0c9873a,2,0,...) at sleepq_timedwait+0x6b _sleep(c0e00124,0,0,c0c9873a,64,...) at _sleep+0x339 pause(c0c9873a,64,c0c85125,111,0,...) at pause+0x47 random_kthread(0,c6e2fd38,c0c9e2b4,343,c7348550,...) at random_kthread+0x1ef fork_exit(c0738c80,0,c6e2fd38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e2fd70, ebp = 0 --- Tracing command g_down pid 4 tid 100015 td 0xc717d6c0 sched_switch(c717d6c0,0,104,191,9e3bec99,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,4c,...) at mi_switch+0x200 sleepq_switch(c717d6c0,0,c0ca738e,260,0,...) at sleepq_switch+0x15f sleepq_wait(c0dfdee4,4c,c0c9873a,0,0,...) at sleepq_wait+0x63 _sleep(c0dfdee4,c0dfde48,24c,c0c9873a,0,...) at _sleep+0x36b g_io_schedule_down(c717d6c0,0,c0c99e02,74,0,...) at g_io_schedule_down+0x56 g_down_procbody(0,c6e29d38,c0c9e2b4,343,c7179000,...) at g_down_procbody+0x8d fork_exit(c082e660,0,c6e29d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e29d70, ebp = 0 --- Tracing command g_up pid 3 tid 100014 td 0xc717d900 sched_switch(c717d900,0,104,191,9e466fcd,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,4c,...) at mi_switch+0x200 sleepq_switch(c717d900,0,c0ca738e,260,0,...) at sleepq_switch+0x15f sleepq_wait(c0dfdee0,4c,c0c9873a,0,0,...) at sleepq_wait+0x63 _sleep(c0dfdee0,c0dfde68,24c,c0c9873a,0,...) at _sleep+0x36b g_io_schedule_up(c717d900,0,c0c99e02,5d,0,...) at g_io_schedule_up+0x11e g_up_procbody(0,c6e26d38,c0c9e2b4,343,c71792a8,...) at g_up_procbody+0x8d fork_exit(c082e6f0,0,c6e26d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e26d70, ebp = 0 --- Tracing command g_event pid 2 tid 100013 td 0xc717db40 sched_switch(c717db40,0,104,191,920d0a54,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,4c,...) at mi_switch+0x200 sleepq_switch(c717db40,0,c0ca738e,283,0,...) at sleepq_switch+0x15f sleepq_timedwait(c0dfded8,4c,c0c9873a,0,0,...) at sleepq_timedwait+0x6b _sleep(c0dfded8,0,4c,c0c9873a,64,...) at _sleep+0x339 g_event_procbody(0,c6e23d38,c0c9e2b4,343,c7179550,...) at g_event_procbody+0xcb fork_exit(c082e780,0,c6e23d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e23d70, ebp = 0 --- Tracing command intr pid 12 tid 100066 td 0xc74eb900 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100065 td 0xc74ebb40 sched_switch(c74ebb40,0,109,191,8442067,...) at sched_switch+0x406 mi_switch(109,0,c0c9e533,52d,c7177070,...) at mi_switch+0x200 ithread_loop(c74e24b0,f41c6d38,c0c9e2b4,343,c71797f8,...) at ithread_loop+0x1f6 fork_exit(c086a540,c74e24b0,f41c6d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf41c6d70, ebp = 0 --- Tracing command intr pid 12 tid 100063 td 0xc73bc240 sched_switch(c73bc240,0,109,191,cf073686,...) at sched_switch+0x406 mi_switch(109,0,c0c9e533,52d,c74dc7f0,...) at mi_switch+0x200 ithread_loop(c74e2760,f41b6d38,c0c9e2b4,343,c71797f8,...) at ithread_loop+0x1f6 fork_exit(c086a540,c74e2760,f41b6d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf41b6d70, ebp = 0 --- Tracing command intr pid 12 tid 100060 td 0xc73bc900 sched_switch(c73bc900,0,109,191,80923f0,...) at sched_switch+0x406 mi_switch(109,0,c0c9e533,52d,c71c00f0,...) at mi_switch+0x200 ithread_loop(c73edc00,f41aad38,c0c9e2b4,343,c71797f8,...) at ithread_loop+0x1f6 fork_exit(c086a540,c73edc00,f41aad38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf41aad70, ebp = 0 --- Tracing command intr pid 12 tid 100059 td 0xc73bcb40 sched_switch(c73bcb40,0,109,191,7807c9bb,...) at sched_switch+0x406 mi_switch(109,0,c0c9e533,52d,c71c03f0,...) at mi_switch+0x200 ithread_loop(c73ed460,f41a2d38,c0c9e2b4,343,c71797f8,...) at ithread_loop+0x1f6 fork_exit(c086a540,c73ed460,f41a2d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf41a2d70, ebp = 0 --- Tracing command intr pid 12 tid 100054 td 0xc73ce6c0 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100041 td 0xc73bbb40 sched_switch(c73bbb40,0,109,191,2dace3df,...) at sched_switch+0x406 mi_switch(109,0,c0c9e533,52d,c71c01f0,...) at mi_switch+0x200 ithread_loop(c73a1720,f4165d38,c0c9e2b4,343,c71797f8,...) at ithread_loop+0x1f6 fork_exit(c086a540,c73a1720,f4165d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4165d70, ebp = 0 --- Tracing command intr pid 12 tid 100036 td 0xc736c240 sched_switch(c736c240,0,109,191,2cfaa8e7,...) at sched_switch+0x406 mi_switch(109,0,c0c9e533,52d,c71c0270,...) at mi_switch+0x200 ithread_loop(c73a1a40,f4155d38,c0c9e2b4,343,c71797f8,...) at ithread_loop+0x1f6 fork_exit(c086a540,c73a1a40,f4155d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4155d70, ebp = 0 --- Tracing command intr pid 12 tid 100031 td 0xc736cd80 sched_switch(c736cd80,0,109,191,8669593f,...) at sched_switch+0x406 mi_switch(109,0,c0c9e533,52d,c71c02f0,...) at mi_switch+0x200 ithread_loop(c73af120,f4145d38,c0c9e2b4,343,c71797f8,...) at ithread_loop+0x1f6 fork_exit(c086a540,c73af120,f4145d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf4145d70, ebp = 0 --- Tracing command intr pid 12 tid 100030 td 0xc736e000 sched_switch(c736e000,0,109,191,9e454b22,...) at sched_switch+0x406 mi_switch(109,0,c0c9e533,52d,c71bfef0,...) at mi_switch+0x200 ithread_loop(c73a1510,c6f87d38,c0c9e2b4,343,c71797f8,...) at ithread_loop+0x1f6 fork_exit(c086a540,c73a1510,c6f87d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f87d70, ebp = 0 --- Tracing command intr pid 12 tid 100029 td 0xc736e240 sched_switch(c736e240,0,109,191,7f58cd65,...) at sched_switch+0x406 mi_switch(109,0,c0c9e533,52d,c738e170,...) at mi_switch+0x200 ithread_loop(c738f8f0,c6e81d38,c0c9e2b4,343,c71797f8,...) at ithread_loop+0x1f6 fork_exit(c086a540,c738f8f0,c6e81d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e81d70, ebp = 0 --- Tracing command intr pid 12 tid 100028 td 0xc736e480 sched_switch(c736e480,0,109,191,844bfbb,...) at sched_switch+0x406 mi_switch(109,0,c0c9e533,52d,c7176b70,...) at mi_switch+0x200 ithread_loop(c7178610,c6e77d38,c0c9e2b4,343,c71797f8,...) at ithread_loop+0x1f6 fork_exit(c086a540,c7178610,c6e77d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e77d70, ebp = 0 --- Tracing command intr pid 12 tid 100024 td 0xc7201d80 sched_switch(c7201d80,0,109,191,2e78c3d9,...) at sched_switch+0x406 mi_switch(109,0,c0c9e533,52d,c73537f0,...) at mi_switch+0x200 ithread_loop(c71783c0,c6e44d38,c0c9e2b4,343,c71797f8,...) at ithread_loop+0x1f6 fork_exit(c086a540,c71783c0,c6e44d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e44d70, ebp = 0 --- Tracing command intr pid 12 tid 100022 td 0xc7352240 sched_switch(c7352240,0,109,191,7e9a6141,...) at sched_switch+0x406 mi_switch(109,0,c0c9e533,52d,c7353970,...) at mi_switch+0x200 ithread_loop(c710ea10,c6e3ed38,c0c9e2b4,343,c71797f8,...) at ithread_loop+0x1f6 fork_exit(c086a540,c710ea10,c6e3ed38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e3ed70, ebp = 0 --- Tracing command intr pid 12 tid 100021 td 0xc7352480 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100019 td 0xc7352900 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100012 td 0xc717dd80 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100011 td 0xc7201000 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100010 td 0xc7201240 sched_switch(c7201240,0,109,191,8ee58807,...) at sched_switch+0x406 mi_switch(109,0,c0c9e533,52d,c71bfc70,...) at mi_switch+0x200 ithread_loop(c71781e0,c6e1ad38,c0c9e2b4,343,c71797f8,...) at ithread_loop+0x1f6 fork_exit(c086a540,c71781e0,c6e1ad38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e1ad70, ebp = 0 --- Tracing command intr pid 12 tid 100009 td 0xc7201480 sched_switch(c7201480,0,109,191,8db8e439,...) at sched_switch+0x406 mi_switch(109,0,c0c9e533,52d,c71bfcf0,...) at mi_switch+0x200 ithread_loop(c71781f0,c6e17d38,c0c9e2b4,343,c71797f8,...) at ithread_loop+0x1f6 fork_exit(c086a540,c71781f0,c6e17d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e17d70, ebp = 0 --- Tracing command intr pid 12 tid 100008 td 0xc717b000 sched_switch(c717b000,0,109,191,93c6b0c0,...) at sched_switch+0x406 mi_switch(109,0,c0c9e533,52d,c71bfd70,...) at mi_switch+0x200 ithread_loop(c7178200,c6e14d38,c0c9e2b4,343,c71797f8,...) at ithread_loop+0x1f6 fork_exit(c086a540,c7178200,c6e14d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e14d70, ebp = 0 --- Tracing command intr pid 12 tid 100007 td 0xc717b240 sched_switch(c717b240,0,109,191,94a2a83d,...) at sched_switch+0x406 mi_switch(109,0,c0c9e533,52d,c71bfdf0,...) at mi_switch+0x200 ithread_loop(c7178210,c6e11d38,c0c9e2b4,343,c71797f8,...) at ithread_loop+0x1f6 fork_exit(c086a540,c7178210,c6e11d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e11d70, ebp = 0 --- Tracing command idle pid 11 tid 100006 td 0xc717b480 sched_switch(c717b480,0,108,18c,9eb3d74b,...) at sched_switch+0x406 mi_switch(108,0,c0ca4980,3ae,c717b480,...) at mi_switch+0x200 sched_idletd(0,c6e0dd38,c0c9e2b4,343,c7179aa0,...) at sched_idletd+0x19b fork_exit(c08b4fd0,0,c6e0dd38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e0dd70, ebp = 0 --- Tracing command idle pid 11 tid 100005 td 0xc717b6c0 sched_switch(c717b6c0,0,108,18c,71a0d1f2,...) at sched_switch+0x406 mi_switch(108,0,c0ca4980,3ae,c717b6c0,...) at mi_switch+0x200 sched_idletd(0,c6e0ad38,c0c9e2b4,343,c7179aa0,...) at sched_idletd+0x19b fork_exit(c08b4fd0,0,c6e0ad38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e0ad70, ebp = 0 --- Tracing command idle pid 11 tid 100004 td 0xc717b900 sched_switch(c717b900,0,108,18c,d2d1bc0c,...) at sched_switch+0x406 mi_switch(108,0,c0ca4980,3ae,c717b900,...) at mi_switch+0x200 sched_idletd(0,c6e07d38,c0c9e2b4,343,c7179aa0,...) at sched_idletd+0x19b fork_exit(c08b4fd0,0,c6e07d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e07d70, ebp = 0 --- Tracing command idle pid 11 tid 100003 td 0xc717bb40 sched_switch(c717bb40,0,108,18c,b426c504,...) at sched_switch+0x406 mi_switch(108,0,c0ca4980,3ae,c717bb40,...) at mi_switch+0x200 sched_idletd(0,c6e04d38,c0c9e2b4,343,c7179aa0,...) at sched_idletd+0x19b fork_exit(c08b4fd0,0,c6e04d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e04d70, ebp = 0 --- Tracing command init pid 1 tid 100002 td 0xc717bd80 sched_switch(c717bd80,0,104,191,3c4a8060,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,5c,...) at mi_switch+0x200 sleepq_switch(c717bd80,0,c0ca738e,1a0,5c,...) at sleepq_switch+0x15f sleepq_catch_signals(c0ca738e,160,0,100,100,...) at sleepq_catch_signals+0xb7 sleepq_wait_sig(c7179d48,5c,c0ca9b9b,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7179d48,c7179dd0,15c,c0ca9b9b,0,...) at _sleep+0x354 kern_wait(c717bd80,ffffffff,c6e00c74,2,0,...) at kern_wait+0xb76 wait4(c717bd80,c6e00cf8,10,c717bd80,c0d8e684,...) at wait4+0x3b syscall(c6e00d38) at syscall+0x2b4 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (7, FreeBSD ELF32, wait4), eip = 0x8054eaf, esp = 0xbfbfe86c, ebp = 0xbfbfe888 --- Tracing command audit pid 10 tid 100001 td 0xc717d000 sched_switch(c717d000,0,104,191,84610cb,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c717d000,0,c0ca738e,260,c717d000,...) at sleepq_switch+0x15f sleepq_wait(c0f77e80,0,c6dfdc9c,1,0,...) at sleepq_wait+0x63 _cv_wait(c0f77e80,c0f77e64,c0cc76c9,194,0,...) at _cv_wait+0x240 audit_worker(0,c6dfdd38,c0c9e2b4,343,c717a000,...) at audit_worker+0x84 fork_exit(c0a9afc0,0,c6dfdd38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6dfdd70, ebp = 0 --- Tracing command kernel pid 0 tid 100061 td 0xc73bc6c0 sched_switch(c73bc6c0,0,104,191,8f458620,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c73bc6c0,0,c0ca738e,260,c73bc6c0,...) at sleepq_switch+0x15f sleepq_wait(c73a3940,0,c0ca39e7,c0c9873a,0,...) at sleepq_wait+0x63 msleep_spin(c73a3940,c73a3958,c0c9873a,0,c0ca1529,...) at msleep_spin+0x21d taskqueue_thread_loop(c73fa49c,f41b0d38,c0c9e2b4,343,c0dfdfc0,...) at taskqueue_thread_loop+0x94 fork_exit(c08ce8f0,c73fa49c,f41b0d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf41b0d70, ebp = 0 --- Tracing command kernel pid 0 tid 100027 td 0xc72016c0 sched_switch(c72016c0,0,104,191,75713e19,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c72016c0,0,c0ca738e,260,c72016c0,...) at sleepq_switch+0x15f sleepq_wait(c7346080,0,c0ca39e7,c0c9873a,0,...) at sleepq_wait+0x63 msleep_spin(c7346080,c7346098,c0c9873a,0,c0ca1529,...) at msleep_spin+0x21d taskqueue_thread_loop(c0dcf320,c6e4dd38,c0c9e2b4,343,c0dfdfc0,...) at taskqueue_thread_loop+0x94 fork_exit(c08ce8f0,c0dcf320,c6e4dd38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e4dd70, ebp = 0 --- Tracing command kernel pid 0 tid 100026 td 0xc7201900 sched_switch(c7201900,0,104,191,757131be,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c7201900,0,c0ca738e,260,c7201900,...) at sleepq_switch+0x15f sleepq_wait(c7346080,0,c0ca39e7,c0c9873a,0,...) at sleepq_wait+0x63 msleep_spin(c7346080,c7346098,c0c9873a,0,c0ca1529,...) at msleep_spin+0x21d taskqueue_thread_loop(c0dcf320,c6e4ad38,c0c9e2b4,343,c0dfdfc0,...) at taskqueue_thread_loop+0x94 fork_exit(c08ce8f0,c0dcf320,c6e4ad38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e4ad70, ebp = 0 --- Tracing command kernel pid 0 tid 100025 td 0xc7201b40 sched_switch(c7201b40,0,104,191,75712264,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c7201b40,0,c0ca738e,260,c7201b40,...) at sleepq_switch+0x15f sleepq_wait(c7346080,0,c0ca39e7,c0c9873a,0,...) at sleepq_wait+0x63 msleep_spin(c7346080,c7346098,c0c9873a,0,c0ca1529,...) at msleep_spin+0x21d taskqueue_thread_loop(c0dcf320,c6e47d38,c0c9e2b4,343,c0dfdfc0,...) at taskqueue_thread_loop+0x94 fork_exit(c08ce8f0,c0dcf320,c6e47d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e47d70, ebp = 0 --- Tracing command kernel pid 0 tid 100020 td 0xc73526c0 sched_switch(c73526c0,0,104,191,2e7a9382,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c73526c0,0,c0ca738e,260,0,...) at sleepq_switch+0x15f sleepq_wait(c7346300,0,c0c9873a,0,0,...) at sleepq_wait+0x63 _sleep(c7346300,c7346318,0,c0c9873a,0,...) at _sleep+0x36b taskqueue_thread_loop(c0e12b48,c6e38d38,c0c9e2b4,343,c0dfdfc0,...) at taskqueue_thread_loop+0xba fork_exit(c08ce8f0,c0e12b48,c6e38d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e38d70, ebp = 0 --- Tracing command kernel pid 0 tid 100018 td 0xc7352b40 sched_switch(c7352b40,0,104,191,75662dd0,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c7352b40,0,c0ca738e,260,0,...) at sleepq_switch+0x15f sleepq_wait(c7346580,0,c0c9873a,0,0,...) at sleepq_wait+0x63 _sleep(c7346580,c7346598,0,c0c9873a,0,...) at _sleep+0x36b taskqueue_thread_loop(c0dfe850,c6e32d38,c0c9e2b4,343,c0dfdfc0,...) at taskqueue_thread_loop+0xba fork_exit(c08ce8f0,c0dfe850,c6e32d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e32d70, ebp = 0 --- Tracing command kernel pid 0 tid 100016 td 0xc717d480 sched_switch(c717d480,0,104,191,34a445c2,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,0,...) at mi_switch+0x200 sleepq_switch(c717d480,0,c0ca738e,260,0,...) at sleepq_switch+0x15f sleepq_wait(c7160e40,0,c0c9873a,0,0,...) at sleepq_wait+0x63 _sleep(c7160e40,c7160e58,0,c0c9873a,0,...) at _sleep+0x36b taskqueue_thread_loop(c0e115e0,c6e2cd38,c0c9e2b4,343,c0dfdfc0,...) at taskqueue_thread_loop+0xba fork_exit(c08ce8f0,c0e115e0,c6e2cd38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6e2cd70, ebp = 0 --- Tracing command kernel pid 0 tid 100000 td 0xc0dfe270 sched_switch(c0dfe270,0,104,191,3d75cc2,...) at sched_switch+0x406 mi_switch(104,0,c0ca738e,1eb,44,...) at mi_switch+0x200 sleepq_switch(c0dfe270,0,c0ca738e,283,0,...) at sleepq_switch+0x15f sleepq_timedwait(c0dfdfc0,44,c0ca51f5,0,0,...) at sleepq_timedwait+0x6b _sleep(c0dfdfc0,0,44,c0ca51f5,2710,...) at _sleep+0x339 scheduler(0,141ec00,141ec00,141e000,1425000,...) at scheduler+0x23e mi_startup() at mi_startup+0x96 begin() at begin+0x2c db> call doadump Physical memory: 3439 MB Dumping 621 MB: 605 589 573 557 541 525 509 493 477 461 445 429 413 397 381 365 349 333 317 301 285 269 253 237 221 205 189 173 157 141 125 109 93 77 61 45 29 13 Dump complete = 0xf db> reset (kgdb) bt #0 doadump () at pcpu.h:246 #1 0xc04d0d59 in db_fncall (dummy1=0x1, dummy2=0x0, dummy3=0xc0fccce0, dummy4=0xf655a944 "") at ../../../ddb/db_command.c:548 #2 0xc04d1151 in db_command (last_cmdp=0xc0dcd4fc, cmd_table=0x0, dopager=0x1) at ../../../ddb/db_command.c:445 #3 0xc04d12aa in db_command_loop () at ../../../ddb/db_command.c:498 #4 0xc04d314d in db_trap (type=0xc, code=0x0) at ../../../ddb/db_main.c:229 #5 0xc08c1f26 in kdb_trap (type=0xc, code=0x0, tf=0xf655ab30) at ../../../kern/subr_kdb.c:535 #6 0xc0bcf40f in trap_fatal (frame=0xf655ab30, eva=0x8) at ../../../i386/i386/trap.c:927 #7 0xc0bcfd0c in trap (frame=0xf655ab30) at ../../../i386/i386/trap.c:328 #8 0xc0bb1c0b in calltrap () at ../../../i386/i386/exception.s:165 #9 0xc0923a40 in v_record_ref (vp=0xc7fdccf0, val=0xffffffff, op=0xc0cb143c "vput") at ../../../kern/vfs_subr.c:835 #10 0xc0927d4b in vput (vp=0xc7fdccf0) at ../../../kern/vfs_subr.c:2254 #11 0xc092a2c3 in kern_unlinkat (td=0xc7fc0000, fd=0xffffff9c, path=0xbfbfe984
, pathseg=UIO_USERSPACE) at ../../../kern/vfs_syscalls.c:1887 #12 0xc092a357 in kern_unlink (td=0xc7fc0000, path=0xbfbfe984
, pathseg=UIO_USERSPACE) at ../../../kern/vfs_syscalls.c:1825 #13 0xc092a382 in unlink (td=0xc7fc0000, uap=0xf655acf8) at ../../../kern/vfs_syscalls.c:1795 #14 0xc0bcf914 in syscall (frame=0xf655ad38) at ../../../i386/i386/trap.c:1076 #15 0xc0bb1c70 in Xint0x80_syscall () at ../../../i386/i386/exception.s:261 #16 0x00000033 in ?? () Previous frame inner to this frame (corrupt stack?) (kgdb) f 9 #9 0xc0923a40 in v_record_ref (vp=0xc7fdccf0, val=0xffffffff, op=0xc0cb143c "vput") at ../../../kern/vfs_subr.c:835 835 r = malloc(sizeof(struct debug_ref), M_RECORD_REF, M_NOWAIT | (kgdb) l 830 { 831 struct debug_ref *r; 832 833 if (vp->v_type != VREG && vp->v_type != VBAD) 834 return; 835 r = malloc(sizeof(struct debug_ref), M_RECORD_REF, M_NOWAIT | 836 M_USE_RESERVE); 837 r->val = val; 838 r->op = op; 839 stack_save(&r->stack); (kgdb) p r $1 = (struct debug_ref *) 0x0 (kgdb) git diff master diff --git a/sys/conf/files b/sys/conf/files index 31d277a..151b41a 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -2040,6 +2040,7 @@ kern/kern_poll.c optional device_polling kern/kern_priv.c standard kern/kern_proc.c standard kern/kern_prot.c standard +kern/kern_rangelock.c standard kern/kern_resource.c standard kern/kern_rmlock.c standard kern/kern_rwlock.c standard @@ -2731,6 +2732,7 @@ vm/vm_page.c standard vm/vm_pageout.c standard vm/vm_pager.c standard vm/vm_phys.c standard +vm/vm_readwrite.c standard vm/vm_reserv.c standard vm/vm_unix.c standard vm/vm_zeroidle.c standard diff --git a/sys/dev/md/md.c b/sys/dev/md/md.c index 2006099..d3eb99d 100644 --- a/sys/dev/md/md.c +++ b/sys/dev/md/md.c @@ -85,6 +85,7 @@ #include #include #include +#include #include #include #include @@ -587,7 +588,7 @@ mdstart_swap(struct md_s *sc, struct bio *bp) { struct sf_buf *sf; int rv, offs, len, lastend; - vm_pindex_t i, lastp; + vm_pindex_t i, firstp, lastp; vm_page_t m; u_char *p; @@ -610,18 +611,26 @@ mdstart_swap(struct md_s *sc, struct bio *bp) * we're operating on complete aligned pages). */ offs = bp->bio_offset % PAGE_SIZE; + firstp = bp->bio_offset / PAGE_SIZE; lastp = (bp->bio_offset + bp->bio_length - 1) / PAGE_SIZE; lastend = (bp->bio_offset + bp->bio_length - 1) % PAGE_SIZE + 1; + vm_page_t ma[lastp - firstp + 1]; + rv = VM_PAGER_OK; VM_OBJECT_LOCK(sc->object); vm_object_pip_add(sc->object, 1); - for (i = bp->bio_offset / PAGE_SIZE; i <= lastp; i++) { + for (i = firstp; i <= lastp; i++) { len = ((i == lastp) ? lastend : PAGE_SIZE) - offs; - m = vm_page_grab(sc->object, i, - VM_ALLOC_NORMAL|VM_ALLOC_RETRY); + /* + * Write cleans pages of the buffer, give it a + * priority. + */ + m = vm_page_grab(sc->object, i, (bp->bio_cmd == BIO_WRITE ? + VM_ALLOC_SYSTEM : VM_ALLOC_NORMAL) | VM_ALLOC_RETRY); VM_OBJECT_UNLOCK(sc->object); + ma[i - firstp] = m; sched_pin(); sf = sf_buf_alloc(m, SFB_CPUPRIVATE); VM_OBJECT_LOCK(sc->object); @@ -683,6 +692,12 @@ printf("wire_count %d busy %d flags %x hold_count %d act_count %d queue %d valid } vm_object_pip_subtract(sc->object, 1); vm_object_set_writeable_dirty(sc->object); + if (rv != VM_PAGER_ERROR && bp->bio_cmd == BIO_WRITE && + vm_page_count_severe()) { + vm_page_lock_queues(); + vm_pageout_flush(ma, lastp - firstp + 1, IO_SYNC); + vm_page_unlock_queues(); + } VM_OBJECT_UNLOCK(sc->object); return (rv != VM_PAGER_ERROR ? 0 : ENOSPC); } diff --git a/sys/kern/kern_rangelock.c b/sys/kern/kern_rangelock.c new file mode 100644 index 0000000..86f0869 --- /dev/null +++ b/sys/kern/kern_rangelock.c @@ -0,0 +1,186 @@ +/*- + * Copyright (c) 2009 Konstantin Belousov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice unmodified, this list of conditions, and the following + * disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include + +uma_zone_t rl_entry_zone; + +static void +rangelock_sys_init(void) +{ + + rl_entry_zone = uma_zcreate("rl_entry", sizeof(struct rl_q_entry), + NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0); +} +SYSINIT(vfs, SI_SUB_VFS, SI_ORDER_ANY, rangelock_sys_init, NULL); + +void +rangelock_init(struct rangelock *lock) +{ + + TAILQ_INIT(&lock->rl_waiters); + lock->rl_currdep = NULL; +} + +void +rangelock_destroy(struct rangelock *lock) +{ + + KASSERT(TAILQ_EMPTY(&lock->rl_waiters), ("Dangling waiters")); +} + +static int +rangelock_incompatible(const struct rl_q_entry *e1, + const struct rl_q_entry *e2) +{ + + if ((e1->rl_q_flags & RL_LOCK_TYPE_MASK) == RL_LOCK_READ && + (e2->rl_q_flags & RL_LOCK_TYPE_MASK) == RL_LOCK_READ) + return (0); +#define IN_RANGE(a, e) (a >= e->rl_q_start && a < e->rl_q_end) + if (IN_RANGE(e1->rl_q_start, e2) || IN_RANGE(e2->rl_q_start, e1) || + IN_RANGE(e1->rl_q_end, e2) || IN_RANGE(e2->rl_q_end, e1)) + return (1); +#undef IN_RANGE + return (0); +} + +static void +rangelock_calc_block(struct rangelock *lock) +{ + struct rl_q_entry *entry, *entry1, *whead; + + if (lock->rl_currdep == TAILQ_FIRST(&lock->rl_waiters) && + lock->rl_currdep != NULL) + lock->rl_currdep = TAILQ_NEXT(lock->rl_currdep, rl_q_link); + for (entry = lock->rl_currdep; entry; + entry = TAILQ_NEXT(entry, rl_q_link)) { + TAILQ_FOREACH(entry1, &lock->rl_waiters, rl_q_link) { + if (rangelock_incompatible(entry, entry1)) + goto out; + if (entry1 == entry) + break; + } + } +out: + lock->rl_currdep = entry; + TAILQ_FOREACH(whead, &lock->rl_waiters, rl_q_link) { + if (whead == lock->rl_currdep) + break; + if (!(whead->rl_q_flags & RL_LOCK_GRANTED)) { + whead->rl_q_flags |= RL_LOCK_GRANTED; + wakeup(whead); + } + } +} + +static void +rangelock_unlock_vp_locked(struct vnode *vp, struct rl_q_entry *entry) +{ + + ASSERT_VI_LOCKED(vp, "rangelock"); + KASSERT(entry != vp->v_rl.rl_currdep, ("stuck currdep")); + TAILQ_REMOVE(&vp->v_rl.rl_waiters, entry, rl_q_link); + rangelock_calc_block(&vp->v_rl); + VI_UNLOCK(vp); + uma_zfree(rl_entry_zone, entry); +} + +void +rangelock_unlock(struct vnode *vp, void *cookie) +{ + struct rl_q_entry *entry; + + entry = cookie; + VI_LOCK(vp); + rangelock_unlock_vp_locked(vp, entry); +} + +void * +rangelock_unlock_range(struct vnode *vp, void *cookie, off_t base, size_t len) +{ + struct rl_q_entry *entry; + + entry = cookie; + VI_LOCK(vp); + KASSERT(entry->rl_q_flags & RL_LOCK_GRANTED, ("XXX")); + KASSERT(entry->rl_q_start == base, ("XXX")); + KASSERT(entry->rl_q_end >= base + len, ("XXX")); + if (entry->rl_q_end == base + len) { + rangelock_unlock_vp_locked(vp, cookie); + return (NULL); + } + entry->rl_q_end = base + len; + rangelock_calc_block(&vp->v_rl); + VI_UNLOCK(vp); + return (cookie); +} + +static void * +rangelock_enqueue(struct vnode *vp, struct rl_q_entry *entry) +{ + + VI_LOCK(vp); + TAILQ_INSERT_TAIL(&vp->v_rl.rl_waiters, entry, rl_q_link); + if (vp->v_rl.rl_currdep == NULL) + vp->v_rl.rl_currdep = entry; + rangelock_calc_block(&vp->v_rl); + while (!(entry->rl_q_flags & RL_LOCK_GRANTED)) + msleep(entry, &vp->v_interlock, 0, "range", 0); + VI_UNLOCK(vp); + return (entry); +} + +void * +rangelock_rlock(struct vnode *vp, off_t base, size_t len) +{ + struct rl_q_entry *entry; + + entry = uma_zalloc(rl_entry_zone, M_WAITOK); + entry->rl_q_flags = RL_LOCK_READ; + entry->rl_q_start = base; + entry->rl_q_end = base + len; + return (rangelock_enqueue(vp, entry)); +} + +void * +rangelock_wlock(struct vnode *vp, off_t base, size_t len) +{ + struct rl_q_entry *entry; + + entry = uma_zalloc(rl_entry_zone, M_WAITOK); + entry->rl_q_flags = RL_LOCK_WRITE; + entry->rl_q_start = base; + entry->rl_q_end = base + len; + return (rangelock_enqueue(vp, entry)); +} diff --git a/sys/kern/vfs_cluster.c b/sys/kern/vfs_cluster.c index 1ab263c..d249e44 100644 --- a/sys/kern/vfs_cluster.c +++ b/sys/kern/vfs_cluster.c @@ -71,8 +71,8 @@ static int write_behind = 1; SYSCTL_INT(_vfs, OID_AUTO, write_behind, CTLFLAG_RW, &write_behind, 0, "Cluster write-behind; 0: disable, 1: enable, 2: backed off"); -static int read_max = 8; -SYSCTL_INT(_vfs, OID_AUTO, read_max, CTLFLAG_RW, &read_max, 0, +int vfs_read_max = 8; +SYSCTL_INT(_vfs, OID_AUTO, read_max, CTLFLAG_RW, &vfs_read_max, 0, "Cluster read-ahead max block count"); /* Page expended to mark partially backed buffers */ @@ -109,7 +109,7 @@ cluster_read(vp, filesize, lblkno, size, cred, totread, seqcount, bpp) */ racluster = vp->v_mount->mnt_iosize_max / size; maxra = seqcount; - maxra = min(read_max, maxra); + maxra = min(vfs_read_max, maxra); maxra = min(nbuf/8, maxra); if (((u_quad_t)(lblkno + maxra + 1) * size) > filesize) maxra = (filesize / size) - lblkno; @@ -803,7 +803,9 @@ cluster_wbuild(vp, size, start_lbn, len) (tbp->b_bcount != tbp->b_bufsize) || (tbp->b_bcount != size) || (len == 1) || - ((bp = getpbuf(&cluster_pbuf_freecnt)) == NULL)) { + ((bp = (vp->v_vflag & VV_MD) ? + trypbuf(&cluster_pbuf_freecnt) : + getpbuf(&cluster_pbuf_freecnt)) == NULL)) { totalwritten += tbp->b_bufsize; bawrite(tbp); ++start_lbn; diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c index b80d03d..3636360 100644 --- a/sys/kern/vfs_default.c +++ b/sys/kern/vfs_default.c @@ -77,6 +77,8 @@ static int dirent_exists(struct vnode *vp, const char *dirname, #define DIRENT_MINSIZE (sizeof(struct dirent) - (MAXNAMLEN+1) + 4) +static int vop_stdextend(struct vop_extend_args *ap); + /* * This vnode table stores what we want to do if the filesystem doesn't * implement a particular VOP. @@ -118,6 +120,7 @@ struct vop_vector default_vnodeops = { .vop_unlock = vop_stdunlock, .vop_vptocnp = vop_stdvptocnp, .vop_vptofh = vop_stdvptofh, + .vop_extend = vop_stdextend, }; /* @@ -825,6 +828,23 @@ out: return (error); } +static int +vop_stdextend(struct vop_extend_args *ap) +{ + struct vattr vattr, oattr; + int error; + + + error = VOP_GETATTR(ap->a_vp, &oattr, ap->a_cred); + if (error != 0) + return (error); + if (oattr.va_size >= ap->a_size) + return (0); + VATTR_NULL(&vattr); + vattr.va_size = ap->a_size; + return (VOP_SETATTR(ap->a_vp, &vattr, ap->a_cred)); +} + /* * vfs default ops * used to fill the vfs function table to get reasonable default return values. diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 87328c1..587346a 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -66,6 +66,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -823,6 +824,22 @@ static struct kproc_desc vnlru_kp = { SYSINIT(vnlru, SI_SUB_KTHREAD_UPDATE, SI_ORDER_FIRST, kproc_start, &vnlru_kp); +MALLOC_DEFINE(M_RECORD_REF, "recordref", "recordref"); +static void +v_record_ref(struct vnode *vp, int val, const char *op) +{ + struct debug_ref *r; + + if (vp->v_type != VREG && vp->v_type != VBAD) + return; + r = malloc(sizeof(struct debug_ref), M_RECORD_REF, M_NOWAIT | + M_USE_RESERVE); + r->val = val; + r->op = op; + stack_save(&r->stack); + TAILQ_INSERT_TAIL(&vp->v_debug_ref, r, link); +} + /* * Routines having to do with the management of the vnode table. */ @@ -831,6 +848,7 @@ void vdestroy(struct vnode *vp) { struct bufobj *bo; + struct debug_ref *r, *r1; CTR2(KTR_VFS, "%s: vp %p", __func__, vp); mtx_lock(&vnode_free_list_mtx); @@ -861,9 +879,13 @@ vdestroy(struct vnode *vp) /* XXX Elsewhere we can detect an already freed vnode via NULL v_op. */ vp->v_op = NULL; #endif + rangelock_destroy(&vp->v_rl); lockdestroy(vp->v_vnlock); mtx_destroy(&vp->v_interlock); mtx_destroy(BO_MTX(bo)); + TAILQ_FOREACH_SAFE(r, &vp->v_debug_ref, link, r1) { + free(r, M_RECORD_REF); + } uma_zfree(vnode_zone, vp); } @@ -1015,6 +1037,8 @@ alloc: if ((mp->mnt_kern_flag & MNTK_NOKNOTE) != 0) vp->v_vflag |= VV_NOKNOTE; } + rangelock_init(&vp->v_rl); + TAILQ_INIT(&vp->v_debug_ref); *vpp = vp; return (0); @@ -2111,6 +2135,7 @@ vget(struct vnode *vp, int flags, struct thread *td) vinactive(vp, td); vp->v_iflag &= ~VI_OWEINACT; } + v_record_ref(vp, 1, "vget"); VI_UNLOCK(vp); return (0); } @@ -2125,6 +2150,7 @@ vref(struct vnode *vp) CTR2(KTR_VFS, "%s: vp %p", __func__, vp); VI_LOCK(vp); v_incr_usecount(vp); + v_record_ref(vp, 1, "vref"); VI_UNLOCK(vp); } @@ -2163,6 +2189,7 @@ vrele(struct vnode *vp) VFS_ASSERT_GIANT(vp->v_mount); VI_LOCK(vp); + v_record_ref(vp, -1, "vrele"); /* Skip this v_writecount check if we're going to panic below. */ VNASSERT(vp->v_writecount < vp->v_usecount || vp->v_usecount < 1, vp, @@ -2224,6 +2251,7 @@ vput(struct vnode *vp) VFS_ASSERT_GIANT(vp->v_mount); CTR2(KTR_VFS, "%s: vp %p", __func__, vp); VI_LOCK(vp); + v_record_ref(vp, -1, "vput"); /* Skip this v_writecount check if we're going to panic below. */ VNASSERT(vp->v_writecount < vp->v_usecount || vp->v_usecount < 1, vp, ("vput: missed vn_close")); @@ -2650,6 +2678,8 @@ vn_printf(struct vnode *vp, const char *fmt, ...) va_list ap; char buf[256], buf2[16]; u_long flags; + int ref; + struct debug_ref *r; va_start(ap, fmt); vprintf(fmt, ap); @@ -2718,6 +2748,13 @@ vn_printf(struct vnode *vp, const char *fmt, ...) lockmgr_printinfo(vp->v_vnlock); if (vp->v_data != NULL) VOP_PRINT(vp); + /* Getnewvnode() initial reference is not recorded due to VNON */ + ref = 1; + TAILQ_FOREACH(r, &vp->v_debug_ref, link) { + ref += r->val; + printf("REF %d %s\n", ref, r->op); + stack_print(&r->stack); + } } #ifdef DDB diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index d0b713c..454f4c8 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -37,12 +37,14 @@ #include __FBSDID("$FreeBSD$"); +#include #include #include #include #include #include #include +#include #include #include #include @@ -62,6 +64,13 @@ __FBSDID("$FreeBSD$"); #include +#include +#include + +static int vmio_enabled = 1; +SYSCTL_INT(_vfs, OID_AUTO, vmio_enabled, CTLFLAG_RW, &vmio_enabled, 0, + "Use vm pages copyin/out instead of vops for read/write"); + static fo_rdwr_t vn_read; static fo_rdwr_t vn_write; static fo_truncate_t vn_truncate; @@ -83,6 +92,9 @@ struct fileops vnops = { .fo_flags = DFLAG_PASSABLE | DFLAG_SEEKABLE }; +static int vn_write_chunk(struct vnode *, struct uio *, struct ucred *, + struct ucred *, int); + int vn_open(ndp, flagp, cmode, fp) struct nameidata *ndp; @@ -333,7 +345,7 @@ sequential_heuristic(struct uio *uio, struct file *fp) * closely related to the best I/O size for real disks than * to any block size used by software. */ - fp->f_seqcount += howmany(uio->uio_resid, 16384); + fp->f_seqcount += howmany(uio->uio_resid, FRA_BLOCK_SZ); if (fp->f_seqcount > IO_SEQMAX) fp->f_seqcount = IO_SEQMAX; return (fp->f_seqcount << IO_SEQSHIFT); @@ -351,76 +363,71 @@ sequential_heuristic(struct uio *uio, struct file *fp) * Package up an I/O request on a vnode into a uio and do it. */ int -vn_rdwr(rw, vp, base, len, offset, segflg, ioflg, active_cred, file_cred, - aresid, td) - enum uio_rw rw; - struct vnode *vp; - void *base; - int len; - off_t offset; - enum uio_seg segflg; - int ioflg; - struct ucred *active_cred; - struct ucred *file_cred; - int *aresid; - struct thread *td; +vn_rdwr(enum uio_rw rw, struct vnode *vp, void *base, int len, off_t offset, + enum uio_seg segflg, int ioflg, struct ucred *active_cred, + struct ucred *file_cred, int *aresid, struct thread *td) { struct uio auio; struct iovec aiov; struct mount *mp; struct ucred *cred; + void *rl_cookie; int error, lock_flags; VFS_ASSERT_GIANT(vp->v_mount); + auio.uio_iov = &aiov; + auio.uio_iovcnt = 1; + aiov.iov_base = base; + aiov.iov_len = len; + auio.uio_resid = len; + auio.uio_offset = offset; + auio.uio_segflg = segflg; + auio.uio_rw = rw; + auio.uio_td = td; + error = 0; + if ((ioflg & IO_NODELOCKED) == 0) { + if (rw == UIO_READ) + rl_cookie = rangelock_rlock(vp, offset, len); + else + rl_cookie = rangelock_wlock(vp, offset, len); mp = NULL; if (rw == UIO_WRITE) { if (vp->v_type != VCHR && (error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) - return (error); + goto out; if (MNT_SHARED_WRITES(mp) || - ((mp == NULL) && MNT_SHARED_WRITES(vp->v_mount))) { + ((mp == NULL) && MNT_SHARED_WRITES(vp->v_mount))) lock_flags = LK_SHARED; - } else { + else lock_flags = LK_EXCLUSIVE; - } - vn_lock(vp, lock_flags | LK_RETRY); } else - vn_lock(vp, LK_SHARED | LK_RETRY); + lock_flags = LK_SHARED; + vn_lock(vp, lock_flags | LK_RETRY); + } else + rl_cookie = NULL; - } ASSERT_VOP_LOCKED(vp, "IO_NODELOCKED with no vp lock held"); - auio.uio_iov = &aiov; - auio.uio_iovcnt = 1; - aiov.iov_base = base; - aiov.iov_len = len; - auio.uio_resid = len; - auio.uio_offset = offset; - auio.uio_segflg = segflg; - auio.uio_rw = rw; - auio.uio_td = td; - error = 0; #ifdef MAC if ((ioflg & IO_NOMACCHECK) == 0) { - if (rw == UIO_READ) - error = mac_vnode_check_read(active_cred, file_cred, - vp); - else + if (rw == UIO_WRITE) error = mac_vnode_check_write(active_cred, file_cred, vp); } #endif if (error == 0) { - if (file_cred) + if (file_cred != NULL) cred = file_cred; else cred = active_cred; if (rw == UIO_READ) - error = VOP_READ(vp, &auio, ioflg, cred); + error = vn_read_chunk(vp, &auio, active_cred, cred, + ioflg | IO_NODELOCKED); else - error = VOP_WRITE(vp, &auio, ioflg, cred); + error = vn_write_chunk(vp, &auio, active_cred, cred, + ioflg | IO_NODELOCKED); } if (aresid) *aresid = auio.uio_resid; @@ -428,10 +435,13 @@ vn_rdwr(rw, vp, base, len, offset, segflg, ioflg, active_cred, file_cred, if (auio.uio_resid && error == 0) error = EIO; if ((ioflg & IO_NODELOCKED) == 0) { - if (rw == UIO_WRITE && vp->v_type != VCHR) - vn_finished_write(mp); VOP_UNLOCK(vp, 0); + if (mp != NULL) + vn_finished_write(mp); } + out: + if (rl_cookie != NULL) + rangelock_unlock(vp, rl_cookie); return (error); } @@ -493,68 +503,148 @@ vn_rdwr_inchunks(rw, vp, base, len, offset, segflg, ioflg, active_cred, return (error); } +static struct mtx * +vn_lock_foffset(struct file *fp) +{ + struct mtx *mtxp; + + mtxp = mtx_pool_find(mtxpool_sleep, fp); + mtx_lock(mtxp); + while (fp->f_vnread_flags & FOFFSET_LOCKED) { + fp->f_vnread_flags |= FOFFSET_LOCK_WAITING; + msleep(&fp->f_vnread_flags, mtxp, PUSER -1, + "vnread offlock", 0); + } + fp->f_vnread_flags |= FOFFSET_LOCKED; + mtx_unlock(mtxp); + return (mtxp); +} + +static void +vn_unlock_foffset(struct file *fp, struct mtx *mtxp) +{ + + mtx_lock(mtxp); + if (fp->f_vnread_flags & FOFFSET_LOCK_WAITING) + wakeup(&fp->f_vnread_flags); + fp->f_vnread_flags = 0; + mtx_unlock(mtxp); +} + +int +vn_read_chunk(struct vnode *vp, struct uio *uio, struct ucred *active_cred, + struct ucred *fcred, int ioflag) +{ + int error, vfslocked; + + error = 0; + vfslocked = 0; /* gcc */ + + if ((ioflag & IO_NODELOCKED) == 0) { + vfslocked = VFS_LOCK_GIANT(vp->v_mount); + vn_lock(vp, LK_SHARED | LK_RETRY); + } + +#ifdef MAC + if ((ioflag & IO_NOMACCHECK) == 0) + error = mac_vnode_check_read(active_cred, fcred, vp); +#endif + if (error == 0) { + if (!vmio_enabled || + (error = vnode_pager_read(vp, uio, ioflag)) == EOPNOTSUPP) + error = VOP_READ(vp, uio, ioflag, fcred); + } + if ((ioflag & IO_NODELOCKED) == 0) { + VOP_UNLOCK(vp, 0); + VFS_UNLOCK_GIANT(vfslocked); + } + return (error); +} + /* * File table vnode read routine. */ static int -vn_read(fp, uio, active_cred, flags, td) - struct file *fp; - struct uio *uio; - struct ucred *active_cred; - struct thread *td; - int flags; +vn_read(struct file *fp, struct uio *uio, struct ucred *active_cred, int flags, + struct thread *td) { struct vnode *vp; - int error, ioflag; struct mtx *mtxp; - int vfslocked; + void *rl_cookie; + int ioflag; + int error; KASSERT(uio->uio_td == td, ("uio_td %p is not td %p", uio->uio_td, td)); - mtxp = NULL; - vp = fp->f_vnode; ioflag = 0; if (fp->f_flag & FNONBLOCK) ioflag |= IO_NDELAY; if (fp->f_flag & O_DIRECT) ioflag |= IO_DIRECT; - vfslocked = VFS_LOCK_GIANT(vp->v_mount); + vp = fp->f_vnode; + /* * According to McKusick the vn lock was protecting f_offset here. * It is now protected by the FOFFSET_LOCKED flag. */ if ((flags & FOF_OFFSET) == 0) { - mtxp = mtx_pool_find(mtxpool_sleep, fp); - mtx_lock(mtxp); - while(fp->f_vnread_flags & FOFFSET_LOCKED) { - fp->f_vnread_flags |= FOFFSET_LOCK_WAITING; - msleep(&fp->f_vnread_flags, mtxp, PUSER -1, - "vnread offlock", 0); - } - fp->f_vnread_flags |= FOFFSET_LOCKED; - mtx_unlock(mtxp); - vn_lock(vp, LK_SHARED | LK_RETRY); + mtxp = vn_lock_foffset(fp); uio->uio_offset = fp->f_offset; } else - vn_lock(vp, LK_SHARED | LK_RETRY); - + mtxp = NULL; /* gcc */ + if (vp->v_type == VREG) + rl_cookie = rangelock_rlock(vp, uio->uio_offset, + uio->uio_resid); + else + rl_cookie = NULL; ioflag |= sequential_heuristic(uio, fp); + error = vn_read_chunk(vp, uio, active_cred, fp->f_cred, ioflag); + fp->f_nextoff = uio->uio_offset; + if (rl_cookie != NULL) + rangelock_unlock(vp, rl_cookie); + if ((flags & FOF_OFFSET) == 0) { + fp->f_offset = uio->uio_offset; + vn_unlock_foffset(fp, mtxp); + } + return (error); +} + +static int +vn_write_chunk(struct vnode *vp, struct uio *uio, struct ucred *active_cred, + struct ucred *fcred, int ioflag) +{ + struct mount *mp, *mp1; + int error, lock_flags, vfslocked; + + mp = NULL; + vfslocked = VFS_LOCK_GIANT(vp->v_mount); + if (vp->v_type == VREG) + bwillwrite(); + if (vp->v_type != VCHR && + (error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) + goto unlock; + if (MNT_SHARED_WRITES(mp) || + (mp == NULL && (mp1 = vp->v_mount) != NULL && + MNT_SHARED_WRITES(mp1))) + lock_flags = LK_SHARED; + else + lock_flags = LK_EXCLUSIVE; + vn_lock(vp, lock_flags | LK_RETRY); #ifdef MAC - error = mac_vnode_check_read(active_cred, fp->f_cred, vp); - if (error == 0) + error = mac_vnode_check_write(active_cred, fcred, vp); +#else + error = 0; #endif - error = VOP_READ(vp, uio, ioflag, fp->f_cred); - if ((flags & FOF_OFFSET) == 0) { - fp->f_offset = uio->uio_offset; - mtx_lock(mtxp); - if (fp->f_vnread_flags & FOFFSET_LOCK_WAITING) - wakeup(&fp->f_vnread_flags); - fp->f_vnread_flags = 0; - mtx_unlock(mtxp); + if (error == 0) { + if (!vmio_enabled || + (error = vnode_pager_write(vp, uio, ioflag)) == EOPNOTSUPP) + error = VOP_WRITE(vp, uio, ioflag, fcred); } - fp->f_nextoff = uio->uio_offset; VOP_UNLOCK(vp, 0); + if (vp->v_type != VCHR) + vn_finished_write(mp); +unlock: VFS_UNLOCK_GIANT(vfslocked); return (error); } @@ -563,24 +653,17 @@ vn_read(fp, uio, active_cred, flags, td) * File table vnode write routine. */ static int -vn_write(fp, uio, active_cred, flags, td) - struct file *fp; - struct uio *uio; - struct ucred *active_cred; - struct thread *td; - int flags; +vn_write(struct file *fp, struct uio *uio, struct ucred *active_cred, int flags, + struct thread *td) { struct vnode *vp; - struct mount *mp; - int error, ioflag, lock_flags; - int vfslocked; + struct mtx *mtxp; + void *rl_cookie; + int error, ioflag; KASSERT(uio->uio_td == td, ("uio_td %p is not td %p", uio->uio_td, td)); vp = fp->f_vnode; - vfslocked = VFS_LOCK_GIANT(vp->v_mount); - if (vp->v_type == VREG) - bwillwrite(); ioflag = IO_UNIT; if (vp->v_type == VREG && (fp->f_flag & O_APPEND)) ioflag |= IO_APPEND; @@ -591,36 +674,32 @@ vn_write(fp, uio, active_cred, flags, td) if ((fp->f_flag & O_FSYNC) || (vp->v_mount && (vp->v_mount->mnt_flag & MNT_SYNCHRONOUS))) ioflag |= IO_SYNC; - mp = NULL; - if (vp->v_type != VCHR && - (error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) - goto unlock; - - if ((MNT_SHARED_WRITES(mp) || - ((mp == NULL) && MNT_SHARED_WRITES(vp->v_mount))) && - (flags & FOF_OFFSET) != 0) { - lock_flags = LK_SHARED; - } else { - lock_flags = LK_EXCLUSIVE; - } - - vn_lock(vp, lock_flags | LK_RETRY); - if ((flags & FOF_OFFSET) == 0) + if ((flags & FOF_OFFSET) == 0) { + mtxp = vn_lock_foffset(fp); uio->uio_offset = fp->f_offset; + } else + mtxp = NULL; /* gcc */ ioflag |= sequential_heuristic(uio, fp); -#ifdef MAC - error = mac_vnode_check_write(active_cred, fp->f_cred, vp); - if (error == 0) -#endif - error = VOP_WRITE(vp, uio, ioflag, fp->f_cred); - if ((flags & FOF_OFFSET) == 0) + if (vp->v_type == VREG) { + if ((ioflag & IO_APPEND) || !(flags & FOF_OFFSET)) + /* + * For appenders, punt and lock the whole + * range. It also protects f_offset. + */ + rl_cookie = rangelock_wlock(vp, 0, (size_t)-1); + else + rl_cookie = rangelock_wlock(vp, uio->uio_offset, + uio->uio_resid); + } else + rl_cookie = NULL; + error = vn_write_chunk(vp, uio, active_cred, fp->f_cred, ioflag); + if (rl_cookie != NULL) + rangelock_unlock(vp, rl_cookie); + if ((flags & FOF_OFFSET) == 0) { fp->f_offset = uio->uio_offset; + vn_unlock_foffset(fp, mtxp); + } fp->f_nextoff = uio->uio_offset; - VOP_UNLOCK(vp, 0); - if (vp->v_type != VCHR) - vn_finished_write(mp); -unlock: - VFS_UNLOCK_GIANT(vfslocked); return (error); } @@ -628,25 +707,29 @@ unlock: * File table truncate routine. */ static int -vn_truncate(fp, length, active_cred, td) - struct file *fp; - off_t length; - struct ucred *active_cred; - struct thread *td; +vn_truncate(struct file *fp, off_t length, struct ucred *active_cred, + struct thread *td) { struct vattr vattr; struct mount *mp; struct vnode *vp; + void *rl_cookie; int vfslocked; int error; vp = fp->f_vnode; + + /* + * Lock the range where the shortening take place. Increase of + * file size does not need rangelock, but it is faster to lock + * the range then call VOP_GETATTR to get the current size and + * deal with races. + */ + rl_cookie = rangelock_wlock(vp, length, -1); vfslocked = VFS_LOCK_GIANT(vp->v_mount); error = vn_start_write(vp, &mp, V_WAIT | PCATCH); - if (error) { - VFS_UNLOCK_GIANT(vfslocked); - return (error); - } + if (error) + goto out1; vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); if (vp->v_type == VDIR) { error = EISDIR; @@ -666,7 +749,9 @@ vn_truncate(fp, length, active_cred, td) out: VOP_UNLOCK(vp, 0); vn_finished_write(mp); +out1: VFS_UNLOCK_GIANT(vfslocked); + rangelock_unlock(vp, rl_cookie); return (error); } diff --git a/sys/kern/vnode_if.src b/sys/kern/vnode_if.src index c9f20e3..27e298c 100644 --- a/sys/kern/vnode_if.src +++ b/sys/kern/vnode_if.src @@ -611,3 +611,12 @@ vop_vptocnp { INOUT char *buf; INOUT int *buflen; }; + +%% extend vp L L L + +vop_extend { + IN struct vnode *vp; + IN struct ucred *cred; + IN u_quad_t size; + IN int flags; +}; diff --git a/sys/sys/buf.h b/sys/sys/buf.h index 8f3b1b2..e6fdf7e 100644 --- a/sys/sys/buf.h +++ b/sys/sys/buf.h @@ -257,6 +257,8 @@ extern const char *buf_wmesg; /* Default buffer lock message */ #include /* XXX for curthread */ #include +extern int vfs_read_max; + /* * Initialize a lock. */ diff --git a/sys/sys/file.h b/sys/sys/file.h index 8ad30a5..b9f52ae 100644 --- a/sys/sys/file.h +++ b/sys/sys/file.h @@ -141,6 +141,8 @@ struct file { #define FOFFSET_LOCKED 0x1 #define FOFFSET_LOCK_WAITING 0x2 +#define FRA_BLOCK_SZ 16384 + #endif /* _KERNEL || _WANT_FILE */ /* diff --git a/sys/sys/proc.h b/sys/sys/proc.h index d8e9fc8..44fd9b0 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -352,7 +352,7 @@ do { \ #define TDP_COWINPROGRESS 0x00000010 /* Snapshot copy-on-write in progress. */ #define TDP_ALTSTACK 0x00000020 /* Have alternate signal stack. */ #define TDP_DEADLKTREAT 0x00000040 /* Lock aquisition - deadlock treatment. */ -#define TDP_UNUSED80 0x00000080 /* available. */ +#define TDP_VMIO 0x00000080 /* Busied pages for vnode_pager io. */ #define TDP_NOSLEEPING 0x00000100 /* Thread is not allowed to sleep on a sq. */ #define TDP_OWEUPC 0x00000200 /* Call addupc() at next AST. */ #define TDP_ITHREAD 0x00000400 /* Thread is an interrupt thread. */ diff --git a/sys/sys/rangelock.h b/sys/sys/rangelock.h new file mode 100644 index 0000000..5ec6433 --- /dev/null +++ b/sys/sys/rangelock.h @@ -0,0 +1,48 @@ +/*- + * Copyright (c) 2009 Konstantin Belousov + * All rights reserved. + * + * $FreeBSD$ + */ + +#ifndef _SYS_RANGELOCK_H +#define _SYS_RANGELOCK_H + +#include +#include +#include +#include +#include + +#ifdef _KERNEL + +struct vnode; + +struct rl_q_entry +{ + TAILQ_ENTRY(rl_q_entry) rl_q_link; + size_t rl_q_start, rl_q_end; + int rl_q_flags; +}; + +#define RL_LOCK_READ 0x0001 +#define RL_LOCK_WRITE 0x0002 +#define RL_LOCK_TYPE_MASK 0x0003 +#define RL_LOCK_GRANTED 0x0004 + +struct rangelock +{ + TAILQ_HEAD(, rl_q_entry) rl_waiters; + struct rl_q_entry *rl_currdep; +}; + +void rangelock_init(struct rangelock *lock); +void rangelock_destroy(struct rangelock *lock); +void rangelock_unlock(struct vnode *vp, void *cookie); +void *rangelock_unlock_range(struct vnode *vp, void *cookie, off_t base, + size_t len); +void *rangelock_rlock(struct vnode *vp, off_t base, size_t len); +void *rangelock_wlock(struct vnode *vp, off_t base, size_t len); +#endif + +#endif diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index fc919a9..48c912c 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -96,6 +97,13 @@ struct vpollinfo { #if defined(_KERNEL) || defined(_KVM_VNODE) +struct debug_ref { + TAILQ_ENTRY(debug_ref) link; + int val; + const char *op; + struct stack stack; +}; + struct vnode { /* * Fields which define the identity of the vnode. These fields are @@ -168,7 +176,9 @@ struct vnode { */ struct vpollinfo *v_pollinfo; /* G Poll events, p for *v_pi */ struct label *v_label; /* MAC label for vnode */ - struct lockf *v_lockf; /* Byte-level lock list */ + struct lockf *v_lockf; /* Byte-level adv lock list */ + struct rangelock v_rl; /* Byte-range lock */ + TAILQ_HEAD(, debug_ref) v_debug_ref; }; #endif /* defined(_KERNEL) || defined(_KVM_VNODE) */ @@ -654,6 +664,8 @@ int vn_rdwr_inchunks(enum uio_rw rw, struct vnode *vp, void *base, size_t len, off_t offset, enum uio_seg segflg, int ioflg, struct ucred *active_cred, struct ucred *file_cred, size_t *aresid, struct thread *td); +int vn_read_chunk(struct vnode *vp, struct uio *uio, + struct ucred *active_cred, struct ucred *f_cred, int ioflag); int vn_stat(struct vnode *vp, struct stat *sb, struct ucred *active_cred, struct ucred *file_cred, struct thread *td); int vn_start_write(struct vnode *vp, struct mount **mpp, int flags); diff --git a/sys/ufs/ffs/ffs_balloc.c b/sys/ufs/ffs/ffs_balloc.c index a12f96e..9aca6c1 100644 --- a/sys/ufs/ffs/ffs_balloc.c +++ b/sys/ufs/ffs/ffs_balloc.c @@ -634,7 +634,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, int size, if (lastlbn < NDADDR && lastlbn < lbn) { nb = lastlbn; osize = blksize(fs, ip, nb); - if (osize < fs->fs_bsize && osize > 0) { + if (osize < fs->fs_bsize && osize > 0 && dp->di_db[nb] != 0) { UFS_LOCK(ump); error = ffs_realloccg(ip, nb, dp->di_db[nb], ffs_blkpref_ufs2(ip, lastlbn, (int)nb, @@ -701,9 +701,17 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, int size, nsize, osize, bp); } } else { - if (ip->i_size < smalllblktosize(fs, lbn + 1)) + if (ip->i_size < smalllblktosize(fs, lbn)) nsize = fragroundup(fs, size); - else + else if (ip->i_size < smalllblktosize(fs, lbn + 1)) { + /* + * Allocate entire tail of the file. + * Write may cover subpart of the extended + * area. + */ + nsize = fragroundup(fs, max(size, + blkoff(fs, ip->i_size))); + } else nsize = fs->fs_bsize; UFS_LOCK(ump); error = ffs_alloc(ip, lbn, diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 4d652c1..a3e890e 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -1651,7 +1651,7 @@ softdep_setup_allocdirect(ip, lbn, newblkno, oldblkno, newsize, oldsize, bp) ufs2_daddr_t newblkno; /* disk block number being added */ ufs2_daddr_t oldblkno; /* previous block number, 0 unless frag */ long newsize; /* size of new block */ - long oldsize; /* size of new block */ + long oldsize; /* size of old block */ struct buf *bp; /* bp for allocated block */ { struct allocdirect *adp, *oldadp; @@ -1765,8 +1765,8 @@ allocdirect_merge(adphead, newadp, oldadp) if (newadp->ad_oldblkno != oldadp->ad_newblkno || newadp->ad_oldsize != oldadp->ad_newsize || newadp->ad_lbn >= NDADDR) - panic("%s %jd != new %jd || old size %ld != new %ld", - "allocdirect_merge: old blkno", + panic("allocdirect_merge: old blkno" + " %jd != new %jd || old size %ld != new %ld", (intmax_t)newadp->ad_oldblkno, (intmax_t)oldadp->ad_newblkno, newadp->ad_oldsize, oldadp->ad_newsize); @@ -2813,7 +2813,11 @@ handle_workitem_freeblocks(freeblks, flags) #ifdef INVARIANTS if (freeblks->fb_chkcnt != blocksreleased && ((fs->fs_flags & FS_UNCLEAN) == 0 || (flags & LK_NOWAIT) != 0)) - printf("handle_workitem_freeblocks: block count\n"); + printf("handle_workitem_freeblocks: ino %jd block count " + "check %jd real %jd diff %jd\n", + (intmax_t)freeblks->fb_previousinum, + (intmax_t)freeblks->fb_chkcnt, (intmax_t)blocksreleased, + (intmax_t)(freeblks->fb_chkcnt - blocksreleased)); if (allerror) softdep_error("handle_workitem_freeblks", allerror); #endif /* INVARIANTS */ diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c index 464a761..e864692 100644 --- a/sys/ufs/ffs/ffs_vnops.c +++ b/sys/ufs/ffs/ffs_vnops.c @@ -119,7 +119,7 @@ static vop_listextattr_t ffs_listextattr; static vop_openextattr_t ffs_openextattr; static vop_setextattr_t ffs_setextattr; static vop_vptofh_t ffs_vptofh; - +static vop_extend_t ffs_extend; /* Global vfs data structures for ufs. */ struct vop_vector ffs_vnodeops1 = { @@ -131,6 +131,7 @@ struct vop_vector ffs_vnodeops1 = { .vop_reallocblks = ffs_reallocblks, .vop_write = ffs_write, .vop_vptofh = ffs_vptofh, + .vop_extend = ffs_extend, }; struct vop_vector ffs_fifoops1 = { @@ -156,6 +157,7 @@ struct vop_vector ffs_vnodeops2 = { .vop_openextattr = ffs_openextattr, .vop_setextattr = ffs_setextattr, .vop_vptofh = ffs_vptofh, + .vop_extend = ffs_extend, }; struct vop_vector ffs_fifoops2 = { @@ -1783,3 +1785,66 @@ vop_vptofh { ufhp->ufid_gen = ip->i_gen; return (0); } + +static int +ffs_extend(struct vop_extend_args *ap) +{ + struct vnode *vp; + struct inode *ip; + struct buf *bp; + struct fs *fs; + off_t osize, xosize; + u_quad_t size; + ufs_lbn_t lastlbn; + ufs2_daddr_t nb; + int error, flags; + + vp = ap->a_vp; + ip = VTOI(vp); + size = ap->a_size; + osize = ip->i_size; + if (osize >= size) + return (0); + + vnode_pager_setsize(vp, size); + fs = ip->i_fs; + flags = ap->a_flags & IO_SYNC; + if (flags != 0) + goto slow; + + lastlbn = lblkno(fs, osize); + if (lastlbn < NDADDR) { + xosize = fragroundup(fs, blkoff(fs, osize)); + if (xosize < fs->fs_bsize && xosize > 0) { + if (ip->i_ump->um_fstype == UFS1) + nb = ip->i_din1->di_db[lastlbn]; + else + nb = ip->i_din2->di_db[lastlbn]; + /* Need to extend fragment */ + if (nb != 0) + goto slow; + } + } + ip->i_size = size; + DIP_SET(ip, i_size, size); + ip->i_flag |= IN_CHANGE | IN_UPDATE; + return (0); + + slow: + error = UFS_BALLOC(vp, size - 1, 1, ap->a_cred, flags|BA_CLRBUF, &bp); + if (error) { + vnode_pager_setsize(vp, osize); + return (error); + } + ip->i_size = size; + DIP_SET(ip, i_size, size); + ip->i_flag |= IN_CHANGE | IN_UPDATE; + if (bp->b_bufsize == fs->fs_bsize) + bp->b_flags |= B_CLUSTEROK; + if (flags & IO_SYNC) { + bwrite(bp); + error = ffs_update(vp, 1); + } else + bawrite(bp); + return (error); +} diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c index 2d8f276..982e6d0 100644 --- a/sys/ufs/ufs/ufs_vnops.c +++ b/sys/ufs/ufs/ufs_vnops.c @@ -2006,7 +2006,8 @@ ufs_readdir(ap) uio->uio_iov->iov_len = count; # if (BYTE_ORDER == LITTLE_ENDIAN) if (ap->a_vp->v_mount->mnt_maxsymlinklen > 0) { - error = VOP_READ(ap->a_vp, uio, 0, ap->a_cred); + error = vn_read_chunk(ap->a_vp, uio, ap->a_cred, + ap->a_cred, IO_NODELOCKED); } else { struct dirent *dp, *edp; struct uio auio; @@ -2022,7 +2023,8 @@ ufs_readdir(ap) aiov.iov_len = count; dirbuf = malloc(count, M_TEMP, M_WAITOK); aiov.iov_base = dirbuf; - error = VOP_READ(ap->a_vp, &auio, 0, ap->a_cred); + error = vn_read_chunk(ap->a_vp, &auio, ap->a_cred, + ap->a_cred, IO_NODELOCKED); if (error == 0) { readcnt = count - auio.uio_resid; edp = (struct dirent *)&dirbuf[readcnt]; @@ -2044,7 +2046,8 @@ ufs_readdir(ap) free(dirbuf, M_TEMP); } # else - error = VOP_READ(ap->a_vp, uio, 0, ap->a_cred); + error = vn_read_chunk(ap->a_vp, uio, ap->a_cred, + ap->a_cred, IO_NODELOCKED); # endif if (!error && ap->a_ncookies != NULL) { struct dirent* dpStart; diff --git a/sys/vm/vm_extern.h b/sys/vm/vm_extern.h index ad6087e..e24c62b 100644 --- a/sys/vm/vm_extern.h +++ b/sys/vm/vm_extern.h @@ -84,5 +84,8 @@ void vm_thread_dispose(struct thread *td); int vm_thread_new(struct thread *td, int pages); void vm_thread_swapin(struct thread *td); void vm_thread_swapout(struct thread *td); +int vnode_pager_read(struct vnode *vp, struct uio *uio, int ioflags); +int vnode_pager_write(struct vnode *vp, struct uio *uio, int ioflags); + #endif /* _KERNEL */ #endif /* !_VM_EXTERN_H_ */ diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 0a5a412..fca7d5a 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -157,18 +157,22 @@ static void unlock_and_deallocate(struct faultstate *fs) { - vm_object_pip_wakeup(fs->object); - VM_OBJECT_UNLOCK(fs->object); - if (fs->object != fs->first_object) { - VM_OBJECT_LOCK(fs->first_object); - vm_page_lock_queues(); - vm_page_free(fs->first_m); - vm_page_unlock_queues(); - vm_object_pip_wakeup(fs->first_object); - VM_OBJECT_UNLOCK(fs->first_object); - fs->first_m = NULL; + if (fs->object != NULL) { + vm_object_pip_wakeup(fs->object); + VM_OBJECT_UNLOCK(fs->object); + if (fs->object != fs->first_object && + fs->first_object != NULL) { + VM_OBJECT_LOCK(fs->first_object); + vm_page_lock_queues(); + vm_page_free(fs->first_m); + vm_page_unlock_queues(); + vm_object_pip_wakeup(fs->first_object); + VM_OBJECT_UNLOCK(fs->first_object); + fs->first_m = NULL; + } + vm_object_deallocate(fs->first_object); + fs->object = fs->first_object = NULL; } - vm_object_deallocate(fs->first_object); unlock_map(fs); if (fs->vp != NULL) { vput(fs->vp); @@ -219,14 +223,15 @@ vm_fault(vm_map_t map, vm_offset_t vaddr, vm_prot_t fault_type, int faultcount, ahead, behind; struct faultstate fs; struct vnode *vp; + struct thread *td; int locked, error; hardfault = 0; growstack = TRUE; PCPU_INC(cnt.v_vm_faults); - fs.vp = NULL; - fs.vfslocked = 0; + memset(&fs, 0, sizeof(fs)); faultcount = behind = 0; + td = curthread; RetryFault:; @@ -241,11 +246,14 @@ RetryFault:; if (growstack && result == KERN_INVALID_ADDRESS && map != kernel_map) { result = vm_map_growstack(curproc, vaddr); - if (result != KERN_SUCCESS) + if (result != KERN_SUCCESS) { + unlock_and_deallocate(&fs); return (KERN_FAILURE); + } growstack = FALSE; goto RetryFault; } + unlock_and_deallocate(&fs); return (result); } @@ -367,7 +375,8 @@ RetryFault:; */ vm_page_busy(fs.m); if (fs.m->valid != VM_PAGE_BITS_ALL && - fs.m->object != kernel_object && fs.m->object != kmem_object) { + fs.m->object != kernel_object && + fs.m->object != kmem_object) { goto readrest; } @@ -523,7 +532,7 @@ vnode_lock: locked = LK_SHARED; /* Do not sleep for vnode lock while fs.m is busy */ error = vget(vp, locked | LK_CANRECURSE | - LK_NOWAIT, curthread); + LK_NOWAIT, td); if (error != 0) { int vfslocked; @@ -533,7 +542,7 @@ vnode_lock: release_page(&fs); unlock_and_deallocate(&fs); error = vget(vp, locked | LK_RETRY | - LK_CANRECURSE, curthread); + LK_CANRECURSE, td); vdrop(vp); fs.vp = vp; fs.vfslocked = vfslocked; @@ -937,9 +946,9 @@ vnode_locked: */ unlock_and_deallocate(&fs); if (hardfault) - curthread->td_ru.ru_majflt++; + td->td_ru.ru_majflt++; else - curthread->td_ru.ru_minflt++; + td->td_ru.ru_minflt++; return (KERN_SUCCESS); } diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c index 19edce1..ccf595a 100644 --- a/sys/vm/vm_pageout.c +++ b/sys/vm/vm_pageout.c @@ -349,7 +349,7 @@ more: } vm_page_test_dirty(p); if (p->dirty == 0 || - p->queue != PQ_INACTIVE || + (p->queue != PQ_INACTIVE && p->queue != PQ_ACTIVE) || p->wire_count != 0 || /* may be held by buf cache */ p->hold_count != 0) { /* may be undergoing I/O */ ib = 0; @@ -377,7 +377,7 @@ more: } vm_page_test_dirty(p); if (p->dirty == 0 || - p->queue != PQ_INACTIVE || + (p->queue != PQ_INACTIVE && p->queue != PQ_ACTIVE) || p->wire_count != 0 || /* may be held by buf cache */ p->hold_count != 0) { /* may be undergoing I/O */ break; @@ -484,7 +484,7 @@ vm_pageout_flush(vm_page_t *mc, int count, int flags) if (pageout_status[i] != VM_PAGER_PEND) { vm_object_pip_wakeup(object); vm_page_io_finish(mt); - if (vm_page_count_severe()) + if (mt->queue == PQ_INACTIVE && vm_page_count_severe()) vm_page_try_to_cache(mt); } } @@ -1394,7 +1394,7 @@ vm_pageout() * when paging. */ if (cnt.v_page_count > 1024) - cnt.v_free_min = 4 + (cnt.v_page_count - 1024) / 200; + cnt.v_free_min = 4 + (cnt.v_page_count - 1024) / 100; else cnt.v_free_min = 4; cnt.v_pageout_free_min = (2*MAXBSIZE)/PAGE_SIZE + diff --git a/sys/vm/vm_readwrite.c b/sys/vm/vm_readwrite.c new file mode 100644 index 0000000..ee623cb --- /dev/null +++ b/sys/vm/vm_readwrite.c @@ -0,0 +1,753 @@ +/*- + * Copyright (c) 2008 Jeffrey Roberson + * Copyright (c) 2009 Konstantin Belousov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice unmodified, this list of conditions, and the following + * disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include "opt_vm.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +/* + * XXXKIB TODO + * + * 1. Backpressure for writes + * 2. VOP_REALLOCBLKS + * 3. Unset setuid/setgid bits after write. + * + */ + +static int vmio_run = 0; +SYSCTL_INT(_debug, OID_AUTO, vmio_run, CTLFLAG_RW, &vmio_run, 0, + "Calculate the max sequential run for vnode_pager_read_cluster"); +static int vmio_read_pack = 16; +SYSCTL_INT(_vfs, OID_AUTO, vmio_read_pack, CTLFLAG_RW, &vmio_read_pack, 0, + "Length of the page pack for read"); +static int vmio_write_pack = 16; +SYSCTL_INT(_vfs, OID_AUTO, vmio_write_pack, CTLFLAG_RW, &vmio_write_pack, 0, + "Length of the page pack for write"); + +static u_int +io_page_bits(int i, vm_offset_t off, ssize_t size) +{ + int start, chunk; + + if (i == 0) { + start = off; + chunk = min(PAGE_SIZE - off, size); + } else if (i * PAGE_SIZE < off + size) { + start = 0; + chunk = PAGE_SIZE; + } else if ((i - 1) * PAGE_SIZE < off + size) { + start = 0; + chunk = (size - off) % PAGE_SIZE; + } else + return (0); + return (vm_page_bits(start, chunk)); +} + +#define VN_GRAB_NO_VMWAIT 0x0001 + +/* + * Grab a page, waiting until we are woken up due to the page + * changing state. We keep on waiting, if the page continues + * to be in the object. If the page doesn't exist allocate it. + * + * This routine may block, either waiting for busy vnode page, or for + * a page allocation. Later may be disabled with VN_GRAB_NO_VMWAIT + * flag, when vnode lock is held. To ensure progress, reserve page is + * used for ma[0] when wait is disabled and system cannot provide a + * page. + * + * Returns updated page run length in *wp, and filled in ma page + * array. + */ +static void +vnode_grab_pages(struct vnode *vp, vm_page_t *ma, int *wp, vm_pindex_t pindex, + int flags, vm_page_t *reserv) +{ + vm_object_t object; + vm_page_t m; + vm_pindex_t pi; + int i; + + KASSERT((flags & VN_GRAB_NO_VMWAIT) || reserv == NULL, + ("vnode_grab_pages: NO_VMWAIT and no reserve")); + + object = vp->v_object; + redo: + VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + m = NULL; + for (i = 0, pi = pindex; i < *wp; ) { + if (i > 0) { + m = TAILQ_NEXT(ma[i - 1], listq); + if (m && m->pindex != pi) + m = NULL; + } + if (m == NULL) + m = vm_page_lookup(object, pi); + if (m != NULL) { + if (vm_page_sleep_if_busy(m, TRUE, "pgrnbwt")) + goto redo; + } else { + m = vm_page_alloc(object, pi, VM_ALLOC_NORMAL | + VM_ALLOC_NOBUSY); + } + if (m != NULL) { + ma[i] = m; + i++; + pi++; + continue; + } + if (flags & VN_GRAB_NO_VMWAIT) { + if (i == 0) { + m = *reserv; + *reserv = NULL; + if (object->memattr != VM_MEMATTR_DEFAULT) + pmap_page_set_memattr(m, + object->memattr); + vm_page_insert(m, object, pindex); + ma[i] = m; + i++; + } + break; + } + VM_OBJECT_UNLOCK(object); + VM_WAIT; + VM_OBJECT_LOCK(object); + goto redo; + } + *wp = i; +} + +/* + * Read a cluster starting at 'ma'. Note that we need to always redo + * page grab because our caller dropped object lock while not holding + * vnode lock. + */ +static int +vnode_pager_read_cluster(struct vnode *vp, vm_page_t ma[], vm_pindex_t idx, + int *maxrun, int flags, vm_page_t *reserv) +{ + vm_object_t obj; + daddr_t blkno; + int bsize; + int error; + int run; + int i; + + obj = vp->v_object; + bsize = vp->v_mount->mnt_stat.f_iosize; + error = 0; + blkno = 0; + + if (vmio_run) { + VM_OBJECT_UNLOCK(obj); + error = VOP_BMAP(vp, IDX_TO_OFF(idx)/bsize, NULL, &blkno, &run, + NULL); + VM_OBJECT_LOCK(obj); + run = MIN(run, *maxrun); + if (error || run == 0 || blkno == -1) { +/* printf("vnode_pager_read_cluster short\n"); */ + *maxrun = 1; + vnode_grab_pages(vp, ma, maxrun, idx, + VN_GRAB_NO_VMWAIT, reserv); + error = vm_pager_get_pages(obj, ma, 1, 0); + if (error != VM_PAGER_OK) + return (EIO); + return (0); + } + run = (run + 1) * bsize / PAGE_SIZE; + run = MIN(run, vp->v_mount->mnt_iosize_max / PAGE_SIZE); + } else { + if (*maxrun == 0) + *maxrun = 1; + run = MIN(*maxrun, vp->v_mount->mnt_iosize_max / PAGE_SIZE); + } + if (IDX_TO_OFF(idx) + run * PAGE_SIZE > obj->un_pager.vnp.vnp_size) { + run = (obj->un_pager.vnp.vnp_size - IDX_TO_OFF(idx)) / + PAGE_SIZE; + } + if (run == 0) + run = 1; + vnode_grab_pages(vp, ma, &run, idx, VN_GRAB_NO_VMWAIT, reserv); + for (i = 0; i < run; i++) { + if (i > 0 && ma[i]->valid != 0) { + run = i; + break; + } + vm_page_busy(ma[i]); + } + +/* printf("vnode_pager_read_cluster %d %p %p\n", run, ma, ma[0]); */ + error = vm_pager_get_pages(obj, ma, run, 0); + if (error != VM_PAGER_OK) { + vm_page_lock_queues(); + for (i = 0; i < run; i++) + vm_page_free(ma[i]); + vm_page_unlock_queues(); + return (EIO); + } + KASSERT(ma[0]->valid == VM_PAGE_BITS_ALL, + ("ma[0]->valid %x", ma[0]->valid)); + vm_page_wakeup(ma[0]); + for (i = 1; i < run; i++) { + if (ma[i]->object != obj || + ma[i]->pindex != ma[0]->pindex + i || + !ma[i]->valid) { +/* printf("run %d ma[%d]: obj %p %p pindex %jd p+i %jd valid %x\n", + run, i, obj, ma[i]->object, ma[i]->pindex, ma[0]->pindex + i, ma[i]->valid); */ + break; + } + } + *maxrun = i; + return (0); +} + +int +vnode_pager_read(struct vnode *vp, struct uio *uio, int ioflags) +{ + vm_object_t obj; + vm_offset_t off; + vm_pindex_t idx; + vm_page_t reserv; + ssize_t size; + int error, seqcount, wpmax, wp, i; + u_int bits; + boolean_t obj_locked; + struct thread *td; + + if (ioflags & (IO_EXT|IO_DIRECT)) + return (EOPNOTSUPP); + + ASSERT_VOP_LOCKED(vp, "vnode_pager_read"); + if (vp->v_iflag & VI_DOOMED) + return (EBADF); + + /* + * Ignore non-regular files. + */ + if (vp->v_type != VREG) + return (EOPNOTSUPP); + obj = vp->v_object; + if (obj == NULL) + return (EOPNOTSUPP); + + seqcount = (ioflags >> IO_SEQSHIFT) * FRA_BLOCK_SZ / PAGE_SIZE; + seqcount = min(vfs_read_max, seqcount); + seqcount = min(vp->v_mount->mnt_iosize_max / PAGE_SIZE, seqcount); + VOP_UNLOCK(vp, 0); + + wpmax = vmio_read_pack; + vm_page_t ma[wpmax + 1]; + + error = 0; + obj_locked = FALSE; + reserv = NULL; + td = uio->uio_td; + /* XXXKIB This should be disallowed. */ + if (td == NULL) + td = curthread; + + while (uio->uio_resid > 0) { + wp = wpmax; + if (!obj_locked) { + VM_OBJECT_LOCK(obj); + obj_locked = TRUE; + } + + size = obj->un_pager.vnp.vnp_size - uio->uio_offset; + if (size <= 0) + break; + idx = OFF_TO_IDX(uio->uio_offset); + off = uio->uio_offset - IDX_TO_OFF(idx); + size = MIN(MIN(PAGE_SIZE * wp - off, uio->uio_resid), size); + + wp = (size + off + PAGE_SIZE - 1) / PAGE_SIZE; + vnode_grab_pages(vp, ma, &wp, idx, 0, NULL); + find_valid: + for (i = 0; i < wp; i++) { + bits = io_page_bits(i, off, size); + + /* + * Only do read if first page of array is not + * valid for us. We have to drop object lock + * to obtain vnode lock, that allows the pages + * to change identity or validity bits, and we + * can guarantee allocation of only one + * (reserved) page. + */ + if ((ma[i]->valid & bits) != bits) { + if (i != 0) { + wp = i; + break; + } + if (reserv == NULL) { + reserv = vm_page_alloc(NULL, 0, + VM_ALLOC_NORMAL | VM_ALLOC_NOOBJ); + } + if (obj_locked) { + VM_OBJECT_UNLOCK(obj); + obj_locked = FALSE; + } + if (reserv == NULL) { + while (reserv == NULL) { + VM_WAIT; + reserv = vm_page_alloc(NULL, 0, + VM_ALLOC_NORMAL | + VM_ALLOC_NOOBJ); + } + } + error = vn_lock(vp, LK_SHARED); + if (error != 0) { + error = EBADF; + break; + } + VM_OBJECT_LOCK(obj); + obj_locked = TRUE; + + /* + * Read page, honouring read-ahead settings + * for filedescriptor. + */ + error = vnode_pager_read_cluster(vp, ma, idx, + &wp, VN_GRAB_NO_VMWAIT, &reserv); + VOP_UNLOCK(vp, 0); + if (error != 0) + break; + /* + * No need to redo size calculation. + * Despite both vnode and object locks + * were possibly dropped, range lock shall + * keep file from truncation. + */ + goto find_valid; + } + } + if (error != 0) + break; + KASSERT(wp > 0, ("wp == 0")); +/* printf("vp %p wp %d size %d\n", vp, wp, size); */ + + /* + * Prevent object deallocation and pages swap-out. + */ + vm_object_pip_add(obj, 1); + vm_page_lock_queues(); + for (i = 0; i < wp; i++) + vm_page_hold(ma[i]); + vm_page_unlock_queues(); + VM_OBJECT_UNLOCK(obj); + + /* + * Recalculate i/o size, since vnode_grab_pages() + * might shortened the page run. + */ + size = MIN(MIN(PAGE_SIZE * wp - off, uio->uio_resid), size); + + /* + * Access user map pages, vnode lock is dropped. + * Possible page fault is safe at this point. Vnode + * rangelock is held, protecting from parallel + * writers. + */ +/* printf("size %d %d %ju\n", size, uio->uio_resid, (uintmax_t)off); */ + KASSERT((td->td_pflags & TDP_VMIO) == 0, + ("Recursed vnode_pager_read")); + td->td_pflags |= TDP_VMIO; + error = uiomove_fromphys(ma, off, size, uio); + td->td_pflags &= ~TDP_VMIO; + + VM_OBJECT_LOCK(obj); + vm_page_lock_queues(); + for (i = 0; i < wp; i++) + vm_page_unhold(ma[i]); + vm_page_unlock_queues(); + vm_object_pip_wakeup(obj); + VM_OBJECT_UNLOCK(obj); + obj_locked = FALSE; + if (error != 0) + break; + } + if (obj_locked) + VM_OBJECT_UNLOCK(obj); + if (reserv != NULL) + vm_page_free(reserv); + vn_lock(vp, LK_SHARED | LK_RETRY); + if (error == 0) + vfs_mark_atime(vp, td->td_ucred); + + return (error); +} + +int +vnode_pager_write(struct vnode *vp, struct uio *uio, int ioflags) +{ + vm_object_t obj; + vm_offset_t off; + vm_pindex_t idx, clean_start, clean_end; + vm_page_t reserv; + struct vattr vattr; + ssize_t size, size1, osize, osize1, resid, sresid; + int error, vn_locked, wpmax, wp, i; + boolean_t obj_locked, vnode_locked; + struct thread *td; + + if (ioflags & (IO_EXT|IO_INVAL|IO_DIRECT)) + return (EOPNOTSUPP); + ASSERT_VOP_LOCKED(vp, "vnode_pager_write"); + if (vp->v_iflag & VI_DOOMED) + return (EBADF); + if (vp->v_type != VREG) + return (EOPNOTSUPP); + obj = vp->v_object; + if (obj == NULL) + return (EOPNOTSUPP); + vn_locked = VOP_ISLOCKED(vp); + vnode_locked = TRUE; + obj_locked = FALSE; + error = 0; + + for (reserv = NULL; reserv == NULL; ) { + reserv = vm_page_alloc(NULL, 0, + VM_ALLOC_NORMAL | VM_ALLOC_NOOBJ); + if (reserv == NULL) { + if (vnode_locked) { + VOP_UNLOCK(vp, 0); + vnode_locked = FALSE; + } + VM_WAIT; + } + } + if (!vnode_locked) { + vn_lock(vp, vn_locked | LK_RETRY); + if (vp->v_iflag & VI_DOOMED) { + if (reserv != NULL) + vm_page_free(reserv); + return (EBADF); + } + vnode_locked = TRUE; + } + + if (ioflags & IO_APPEND) + uio->uio_offset = obj->un_pager.vnp.vnp_size; + + clean_start = OFF_TO_IDX(uio->uio_offset); + clean_end = OFF_TO_IDX(uio->uio_offset + uio->uio_resid + + PAGE_SIZE - 1); + wpmax = vmio_write_pack; + vm_page_t ma[wpmax + 1]; + + td = uio->uio_td; + if (td == NULL) + td = curthread; + + /* + * Enforce the RLIMIT_FSIZE there too. + * XXXKIB the check for the file type is kept on purpose. + */ + if (vp->v_type == VREG) { + PROC_LOCK(td->td_proc); + if (uio->uio_offset + uio->uio_resid > + lim_cur(td->td_proc, RLIMIT_FSIZE)) { + psignal(td->td_proc, SIGXFSZ); + PROC_UNLOCK(td->td_proc); + return (EFBIG); + } + PROC_UNLOCK(td->td_proc); + } + osize = osize1 = obj->un_pager.vnp.vnp_size; + resid = uio->uio_resid; + + io_loop: + while (uio->uio_resid > 0) { + wp = wpmax; + size = uio->uio_resid; + idx = OFF_TO_IDX(uio->uio_offset); + off = uio->uio_offset - IDX_TO_OFF(idx); + size = MIN(PAGE_SIZE * wp - off, uio->uio_resid); + if (!vnode_locked) { + error = vn_lock(vp, LK_EXCLUSIVE); + if (error != 0) { + error = EBADF; + break; + } + vnode_locked = TRUE; + } + osize1 = obj->un_pager.vnp.vnp_size; + + /* + * Extend the file if writing past end. + */ + if (osize1 < uio->uio_offset + size) { + if (VOP_ISLOCKED(vp) != LK_EXCLUSIVE) { + VOP_UNLOCK(vp, 0); + vnode_locked = FALSE; + } + if (!vnode_locked) { + if (obj_locked) { + VM_OBJECT_UNLOCK(obj); + obj_locked = FALSE; + } + error = vn_lock(vp, LK_EXCLUSIVE); + if (error != 0) { + error = EBADF; + break; + } + vnode_locked = TRUE; + } + vattr.va_size = uio->uio_offset + size; + error = VOP_EXTEND(vp, td->td_ucred, uio->uio_offset + + size, ioflags); + } + if (error != 0) + break; + if (!obj_locked) { + VM_OBJECT_LOCK(obj); + obj_locked = TRUE; + } + wp = (size + off + PAGE_SIZE - 1) / PAGE_SIZE; + + /* + * Use VN_GRAB_NO_VMWAIT since vnode lock is held. + */ + vnode_grab_pages(vp, ma, &wp, idx, VN_GRAB_NO_VMWAIT, &reserv); + find_valid: + for (i = 0; i < wp; i++) { + /* + * Pages need to be fully valid, because we + * can only hold them during uiomove later. + * + * The page fault happening in other thread + * after uiomove finished but before valid + * bits are corrected below would cause lost + * of newly written data if page is not fully + * valid. + */ + if (ma[i]->valid != VM_PAGE_BITS_ALL) { + if (i != 0) { + wp = i; + break; + } + if (reserv == NULL) + reserv = vm_page_alloc(NULL, 0, + VM_ALLOC_NORMAL | VM_ALLOC_NOOBJ); + if (reserv == NULL) { + if (obj_locked) { + VM_OBJECT_UNLOCK(obj); + obj_locked = FALSE; + } + /* + * Truncate the file back to + * the original size to + * prevent mmap from seeing + * invalid pages. We are going + * to drop vnode lock. + */ + if (osize1 < uio->uio_offset + size) { + VATTR_NULL(&vattr); + vattr.va_size = osize1; + error = VOP_SETATTR(vp, &vattr, + td->td_ucred); + if (error != 0) + break; + } + KASSERT(vnode_locked, + ("lost vnode lock 1")); + VOP_UNLOCK(vp, 0); + vnode_locked = FALSE; + while (reserv == NULL) { + VM_WAIT; + reserv = vm_page_alloc(NULL, 0, + VM_ALLOC_NORMAL | + VM_ALLOC_NOOBJ); + } + goto io_loop; + } + + error = vnode_pager_read_cluster(vp, ma, idx, + &wp, VN_GRAB_NO_VMWAIT, &reserv); + if (error != 0) + break; + goto find_valid; + } + } + if (error != 0) + break; + KASSERT(wp > 0, ("wp == 0")); + + /* + * Prevent the object deallocation and hold the pages. + * Held page can be removed from object, but cannot be + * reused. Range lock taken in vn_truncate() prevents + * most typical race. + * + * XXXKIB Busying the pages there would cause deadlock + * with vm_object_page_remove() or self-lock with + * vm_fault(), but would allow to not require the + * pages to be fully valid before uiomove. + * + * The mmap could see zeroed pages that are inserted + * into extended area after we dropped object lock. + * This could be considered an application race. + */ + vm_object_pip_add(obj, 1); + vm_page_lock_queues(); + for (i = 0; i < wp; i++) + vm_page_hold(ma[i]); + vm_page_unlock_queues(); + VM_OBJECT_UNLOCK(obj); + obj_locked = FALSE; + + /* + * Recalculate i/o size, since vnode_grab_pages() + * might have shortened the page run. Save previous + * resid to correctly mark written pages regions as + * dirty. + */ + sresid = uio->uio_resid; + size1 = MIN(MIN(PAGE_SIZE * wp - off, sresid), size); + + /* + * Shrunk file in case we allocated less pages then + * the estimation that was used to VOP_EXTEND. + */ + KASSERT(vnode_locked, ("lost vnode lock 2")); + if (size1 < size && osize1 < uio->uio_offset + size) { + VATTR_NULL(&vattr); + vattr.va_size = uio->uio_offset + size1; + error = VOP_SETATTR(vp, &vattr, td->td_ucred); + if (error != 0) { + VM_OBJECT_LOCK(obj); + obj_locked = TRUE; + vm_page_lock_queues(); + for (i = 0; i < wp; i++) + vm_page_unhold(ma[i]); + vm_page_unlock_queues(); + vm_object_pip_wakeup(obj); + break; + } + } + size = size1; + + VOP_UNLOCK(vp, 0); + vnode_locked = FALSE; + + KASSERT((td->td_pflags & TDP_VMIO) == 0, + ("Recursed vnode_pager_write")); +/* printf("W: vp %p off %jd %jd size %jd\n", + vp, (intmax_t)uio->uio_offset, (intmax_t)off, (intmax_t)size); */ + td->td_pflags |= TDP_VMIO; + error = uiomove_fromphys(ma, off, size, uio); + td->td_pflags &= ~TDP_VMIO; + + VM_OBJECT_LOCK(obj); + obj_locked = TRUE; + vm_page_lock_queues(); + for (i = 0; i < wp; i++) { + if (error == 0) { + /* Note that the page is dirty. */ + ma[i]->dirty |= io_page_bits(i, off, sresid - + uio->uio_resid); + } + vm_page_unhold(ma[i]); + } + vm_page_unlock_queues(); + if (error == 0) + vm_object_set_writeable_dirty(obj); + vm_object_pip_wakeup(obj); + VM_OBJECT_UNLOCK(obj); + obj_locked = FALSE; + if (error != 0) + break; + KASSERT(!vnode_locked, ("vnode leak 3")); + + /* + * Re-fill reserv while vnode lock is dropped. + */ + if (uio->uio_resid != 0) { + while (reserv == NULL) { + reserv = vm_page_alloc(NULL, 0, + VM_ALLOC_NORMAL | VM_ALLOC_NOOBJ); + if (reserv == NULL) + VM_WAIT; + } + } + } + + if (obj_locked) + VM_OBJECT_UNLOCK(obj); + if (!vnode_locked) + vn_lock(vp, vn_locked | LK_RETRY); + if (reserv != NULL) + vm_page_free(reserv); + if (vp->v_iflag & VI_DOOMED) { + if (error == 0) + error = EBADF; + return (error); + } + if (error == 0 && (ioflags & IO_SYNC) && !(vp->v_vflag & VV_NOSYNC)) { + VM_OBJECT_LOCK(obj); + vm_object_page_clean(obj, clean_start, clean_end, OBJPC_SYNC); + error = VOP_FSYNC(vp, MNT_WAIT, td); + VM_OBJECT_UNLOCK(obj); + } + if (error != 0) { + /* + * Roll back on error if atomic write was requested. + */ + VATTR_NULL(&vattr); + vattr.va_size = (ioflags & IO_UNIT) ? osize : osize1; + VOP_SETATTR(vp, &vattr, td->td_ucred); + if (ioflags & IO_UNIT) { + uio->uio_offset -= resid - uio->uio_resid; + uio->uio_resid = resid; + } + } + + return (error); +} diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c index faa6f37..a2bef62 100644 --- a/sys/vm/vnode_pager.c +++ b/sys/vm/vnode_pager.c @@ -692,6 +692,7 @@ vnode_pager_generic_getpages(vp, m, bytecount, reqpage) object = vp->v_object; count = bytecount / PAGE_SIZE; +/* printf("vpgg: %p %jd %x %d\n", vp, m[0]->pindex, count, reqpage); */ KASSERT(vp->v_type != VCHR && vp->v_type != VBLK, ("vnode_pager_generic_getpages does not support devices")); @@ -1076,6 +1077,7 @@ vnode_pager_generic_putpages(vp, m, bytecount, flags, rtvals) object = vp->v_object; count = bytecount / PAGE_SIZE; +/* printf("vpgp: %p %jd %x %d\n", vp, m[0]->pindex, m[0]->dirty, count); */ for (i = 0; i < count; i++) rtvals[i] = VM_PAGER_AGAIN; diff --git a/tools/regression/file/uio/uio.c b/tools/regression/file/uio/uio.c new file mode 100644 index 0000000..d857605 --- /dev/null +++ b/tools/regression/file/uio/uio.c @@ -0,0 +1,116 @@ +/*- + * Copyright (c) 2009 Konstantin Belousov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +int chunk_cnt = 1024; +int chunk_size = 1024; + +int +main(int argc, char *argv[]) +{ + struct iovec *wiov, *riov; + char **wdata, **rdata; + int fd, i; + ssize_t io_error; + + if (argc < 2) { + fprintf(stderr, "Usage: uio file [chunk count [chunk size]]\n"); + return (2); + } + fd = open(argv[1], O_RDWR | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR); + if (fd == -1) { + fprintf(stderr, "Failed to create %s: %s\n", + argv[1], strerror(errno)); + return (1); + } + + if (argc > 2) + chunk_cnt = atoi(argv[2]); + if (argc > 3) + chunk_size = atoi(argv[3]); + + wiov = calloc(chunk_cnt, sizeof(*wiov)); + wdata = calloc(chunk_cnt, sizeof(*wdata)); + + riov = calloc(chunk_cnt, sizeof(*riov)); + rdata = calloc(chunk_cnt, sizeof(*rdata)); + + for (i = 0; i < chunk_cnt; i++) { + rdata[i] = malloc(chunk_size); + riov[i].iov_base = rdata[i]; + riov[i].iov_len = chunk_size; + + wdata[i] = malloc(chunk_size); + memset(wdata[i], i, chunk_size); + wiov[i].iov_base = wdata[i]; + wiov[i].iov_len = chunk_size; + } + + io_error = writev(fd, wiov, chunk_cnt); + if (io_error == -1) { + fprintf(stderr, "write failed: %s\n", strerror(errno)); + return (1); + } else if (io_error != chunk_cnt * chunk_size) { + fprintf(stderr, "truncated write: %d %d\n", + io_error, chunk_cnt * chunk_size); + return (1); + } + + if (lseek(fd, 0, SEEK_SET) == -1) { + fprintf(stderr, "lseek failed: %s\n", strerror(errno)); + return (1); + } + + io_error = readv(fd, riov, chunk_cnt); + if (io_error == -1) { + fprintf(stderr, "read failed: %s\n", strerror(errno)); + return (1); + } else if (io_error != chunk_cnt * chunk_size) { + fprintf(stderr, "truncated read: %d %d\n", + io_error, chunk_cnt * chunk_size); + return (1); + } + + for (i = 0; i < chunk_cnt; i++) { + if (memcmp(rdata[i], wdata[i], chunk_size) != 0) { + fprintf(stderr, "chunk %d differs\n", i); + return (1); + } + } + + return (0); +} diff --git a/tools/regression/ufs/ba_clrbuf/ba_clrbuf.c b/tools/regression/ufs/ba_clrbuf/ba_clrbuf.c new file mode 100644 index 0000000..1b0acbe --- /dev/null +++ b/tools/regression/ufs/ba_clrbuf/ba_clrbuf.c @@ -0,0 +1,129 @@ +/*- + * Copyright (c) 2009 Konstantin Belousov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static const int blks = 2; + +static void +flush_buffers(int fd) +{ + struct stat st; + char *addr; + int error; + + printf("Flushing buffers\n"); + error = fstat(fd, &st); + if (error == -1) + err(2, "stat"); + fsync(fd); + addr = mmap(NULL, st.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); + if (addr == (char *)-1) + err(2, "mmap"); + error = msync(addr, st.st_size, MS_SYNC | MS_INVALIDATE); + if (error == -1) + err(2, "msync"); + munmap(addr, st.st_size); +} + +int +main(int argc, char *argv[]) +{ + struct statfs fst; + char *data, *vrfy; + size_t sz; + int fd, i, error, ret; + + if (argc < 2) + errx(2, "Usage: ba_clrbuf file"); + + fd = open(argv[1], O_RDWR | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR); + if (fd == -1) + err(2, "Failed to create %s", argv[1]); + + if (fstatfs(fd, &fst) == -1) + err(2, "stat"); + + sz = fst.f_iosize * blks; + data = malloc(sz); + if (data == NULL) + err(2, "malloc"); + vrfy = malloc(sz); + if (vrfy == NULL) + err(2, "malloc"); + for (i = 0; i < (int)sz; i++) + data[i] = i; + error = write(fd, data, sz); + if (error == -1) + err(2, "write"); + else if (error != (int)sz) + errx(2, "Short write %d %d", error, sz); + + flush_buffers(fd); + + error = lseek(fd, 0, SEEK_SET); + if (error == -1) + err(2, "lseek 0"); + else if (error != 0) + errx(2, "lseek 0 returned %d", error); + error = write(fd, NULL, fst.f_iosize); + printf("faulty write, error %s\n", strerror(errno)); + + error = lseek(fd, 0, SEEK_SET); + if (error == -1) + err(2, "lseek 0/2"); + else if (error != 0) + errx(2, "lseek 0/2 returned %d", error); + error = read(fd, vrfy, sz); + if (error == -1) + err(2, "read"); + else if (error != (int)sz) + errx(2, "short read %d %d", error, sz); + + if (memcmp(data, vrfy, fst.f_iosize) != 0) { + printf("Zero block corrupted, byte at 0 is %x\n", + (unsigned char)vrfy[0]); + ret = 1; + } else { + printf("No corruption\n"); + ret = 0; + } + + return (ret); +}