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