tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: bad KASSERT in buffer cache code
hannken%eis.cs.tu-bs.de@localhost said:
> How should MSDOS fire on bp->b_vp->v_tag != VT_UFS ?
No idea. Is there a good reason for fs specific assumptions
in generic buffer code?
> Do you have a backtrace?
Yes:
#12 0xc04905b0 in bdwrite (bp=0xc1f29600) at ../../../../kern/vfs_bio.c:895
#13 0xc02c4b3b in updatefats (pmp=0xc1f13200, bp=0xc1f29934, fatbn=3533)
at ../../../../fs/msdosfs/msdosfs_fat.c:442
#14 0xc02c5298 in fatchain (pmp=0xc1f13200, start=211119, count=0,
fillwith=4294967295) at ../../../../fs/msdosfs/msdosfs_fat.c:709
#15 0xc02c5423 in chainalloc (pmp=0xc1f13200, start=211118, count=1,
fillwith=4294967295, retcluster=0xcc96baec, got=0xcc96bae8)
at ../../../../fs/msdosfs/msdosfs_fat.c:781
#16 0xc02c55da in clusteralloc (pmp=0xc1f13200, start=337915, count=1,
retcluster=0xcc96baec, got=0xcc96bae8)
at ../../../../fs/msdosfs/msdosfs_fat.c:850
#17 0xc02c5d84 in extendfile (dep=0xcc89be88, count=1, bpp=0x0, ncp=0x0,
flags=0) at ../../../../fs/msdosfs/msdosfs_fat.c:1079
#18 0xc02cb259 in msdosfs_write (v=0xcc96bbf0)
at ../../../../fs/msdosfs/msdosfs_vnops.c:634
(gdb) print *bp
$1 = {b_u = {u_actq = {tqe_next = 0x0, tqe_prev = 0x0}, u_work = {
wk_dummy = 0x0}}, b_iodone = 0, b_error = 0, b_resid = 0, b_flags = 0,
b_prio = 1, b_bufsize = 65536, b_bcount = 65536, b_dev = 1028,
b_data = 0xcca80000, b_blkno = 3533, b_rawblkno = 3533, b_proc = 0x0,
b_saveaddr = 0x0, b_private = 0x0, b_dcookie = 0, b_busy = {cv_opaque = {
0x0, 0xc1f29650}, cv_wmesg = 0xc0727385 "biolock"}, b_refcnt = 1,
b_dep = {lh_first = 0x0}, b_hash = {le_next = 0x0, le_prev = 0xcb3647bc},
b_vnbufs = {le_next = 0xc1f296a4, le_prev = 0xc1f28290}, b_freelist = {
tqe_next = 0x0, tqe_prev = 0x0}, b_lblkno = 3533, b_freelistindex = -1,
b_cflags = 16, b_vp = 0xcc4422f0, b_done = {cv_opaque = {0x0, 0xc1f29690},
cv_wmesg = 0xc072738d "biowait"}, b_oflags = 0, b_objlock = 0xcc4422f0}
(gdb) print *bp->b_vp
$1 = {v_uobj = {vmobjlock = {u = {mtxa_owner = 0}}, pgops = 0xc07173f8,
memq = {tqh_first = 0x0, tqh_last = 0xcc4422f8}, uo_npages = 0,
uo_refs = 3, rb_tree = {rbt_root = 0x0, rbt_ops = 0xc0715c54,
rbt_minmax = {0x0, 0x0}}}, v_cv = {cv_opaque = {0x0, 0xcc442318},
cv_wmesg = 0xc0727b62 "vnode"}, v_size = 0, v_writesize = 0, v_iflag = 0,
v_vflag = 48, v_uflag = 0, v_numoutput = 1, v_writecount = 0,
v_holdcnt = 20, v_synclist_slot = 11, v_mount = 0xcb5d3084,
v_op = 0xc1cc4300, v_freelist = {tqe_next = 0xcc29350c,
tqe_prev = 0xcc284120}, v_freelisthd = 0x0, v_mntvnodes = {
tqe_next = 0xcc442238, tqe_prev = 0xcc44241c}, v_cleanblkhd = {
lh_first = 0xc1f28224}, v_dirtyblkhd = {lh_first = 0x0}, v_synclist = {
tqe_next = 0x0, tqe_prev = 0xcc34b424}, v_dnclist = {lh_first = 0x0},
v_nclist = {lh_first = 0xcc445e80}, v_un = {vu_mountedhere = 0xcc31fd68,
vu_socket = 0xcc31fd68, vu_specnode = 0xcc31fd68,
vu_fifoinfo = 0xcc31fd68, vu_ractx = 0xcc31fd68}, v_type = VBLK,
v_tag = VT_UFS, v_lock = {vl_lock = {rw_owner = 0}, vl_canrecurse = 0,
vl_recursecnt = 0}, v_vnlock = 0xcc442390, v_data = 0xcc443830, v_klist = {
slh_first = 0x0}}
best regards
Matthias
-------------------------------------------------------------------
-------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzende des Aufsichtsrats: MinDir'in Baerbel Brumme-Bothe
Geschaeftsfuehrung: Prof. Dr. Achim Bachem (Vorsitzender),
Dr. Ulrich Krafft (stellv. Vorsitzender), Prof. Dr. Harald Bolt,
Dr. Sebastian M. Schmidt
-------------------------------------------------------------------
-------------------------------------------------------------------
Home |
Main Index |
Thread Index |
Old Index