Le 2003-03-12, Jeff Roberson écrivait : > Can you please print bp? I'd like to know what all of the members are. A > cluster buf should NEVER have BX_BKGRDWRITE set. This is totally bogus.
(kgdb) fr #11 0xc0232072 in bwrite (bp=0xce5313e0) at /usr/src/sys/kern/vfs_bio.c:795 795 panic("bwrite: need chained iodone"); (kgdb) print *bp $3 = {b_io = {bio_cmd = 2, bio_dev = 0xffffffff, bio_disk = 0x0, bio_blkno = 18540672, bio_offset = 9492758528, bio_bcount = 32768, bio_data = 0xd42da000 "", bio_flags = 0, bio_error = 0, bio_resid = 0, bio_done = 0xc0235db0 <bufdonebio>, bio_driver1 = 0x0, bio_driver2 = 0x0, bio_caller1 = 0x0, bio_caller2 = 0xce5313e0, bio_queue = {tqe_next = 0x0, tqe_prev = 0xc408200c}, bio_attribute = 0x0, bio_from = 0x0, bio_to = 0x0, bio_length = 0, bio_completed = 0, bio_children = 91, bio_inbed = 0, bio_parent = 0x0, bio_t0 = {sec = 0, frac = 0}, bio_task = 0, bio_task_arg = 0x0, bio_pblkno = 64}, b_op = 0xc03a89f8, b_magic = 280038160, b_iodone = 0xc0239320 <cluster_callback>, b_offset = 688128, b_vnbufs = {tqe_next = 0x0, tqe_prev = 0x0}, b_left = 0x0, b_right = 0x0, b_vflags = 0, b_freelist = { tqe_next = 0xce531228, tqe_prev = 0xc03dcb3c}, b_qindex = 0, b_flags = 1677721604, b_xflags = 0 '\0', b_lock = { lk_interlock = 0xc03d750c, lk_flags = 0, lk_sharecount = 0, lk_waitcount = 0, lk_exclusivecount = 0, lk_prio = 80, lk_wmesg = 0xc0379b53 "bufwait", lk_timo = 0, lk_lockholder = 0xffffffff, lk_newlock = 0x0}, b_bufsize = 32768, b_runningbufspace = 0, b_kvabase = 0xd42da000 "", b_kvasize = 32768, b_lblkno = 42, b_vp = 0xc4a21124, b_object = 0x0, b_dirtyoff = 0, b_dirtyend = 32768, b_rcred = 0x0, b_wcred = 0x0, b_saveaddr = 0xbfbfea40, b_pager = { pg_spc = 0x0, pg_reqpage = 0}, b_cluster = {cluster_head = { tqh_first = 0xce67bfe8, tqh_last = 0xce6b6b80}, cluster_entry = { tqe_next = 0xce67bfe8, tqe_prev = 0xce6b6b80}}, b_pages = {0xc0d14748, 0xc0acff90, 0xc0a7cbd8, 0xc0bffc20, 0xc1074868, 0xc10106b0, 0xc10700f8, 0xc0f9c040, 0xc0af5808, 0xc0c56c50, 0xc0b47198, 0xc0bdb9e0, 0xc10e7b28, 0xc0abba70, 0xc09888b8, 0xc09d3600, 0xc0d14748, 0xc0acff90, 0xc0a7cbd8, 0xc0bffc20, 0xc1074868, 0xc10106b0, 0xc10700f8, 0xc0f9c040, 0xc0d21888, 0xc105cfd0, 0xc1057f18, 0xc109ff60, 0xc0a18948, 0xc0ab3d90, 0xc0a36fd8, 0xc0b91820}, b_npages = 8, b_dep = {lh_first = 0x0}} (kgdb) Hum. Now this is *most* peculiar. bp->b_xflags is 0, so we should never have entered that 'if', unless there is a race condition somewhere such that we test b_xflags on a buffer and carry on processing on another... Hope this helps... Thomas. -- [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message