[dm-devel] Help with a BUG()

Dan Smith danms at us.ibm.com
Tue Apr 11 21:37:05 UTC 2006


Hi All,

I continue to work on my userspace-controlled CoW target for
device-mapper and have almost completed qcow support.  Recently, I've
been hitting a BUG() when I do anything more than trivial reads and
writes to my target (bug output included at the end of this mail).  It
seems as though the loopback driver (which is one of the places I'm
sending bio's to) is calling bio_put() when the usage count is already
zero.  I'm not sure what I could be doing in my target that could be
affecting the usage count on a bio.

I would _really_ appreciate it if a few people could take a look at my
kernel code (module/dm-cow.c) and see if anything pops out at them as
incorrect:

  http://static.danplanet.com/dm-cow/dm_cow_04112006.tar.gz

Anyone that wants to run it and see the issue for themselves can try
running the 'copyusr' test, which might work with a healthy amount of
luck. 

Thanks!

-- 
Dan Smith
IBM Linux Technology Center
Open Hypervisor Team
email: danms at us.ibm.com

kernel BUG at fs/bio.c:220!
invalid opcode: 0000 [#1]
SMP
Modules linked in: loop dm_cow ipv6 parport_pc
acl rfcomm l2cap bluetooth sunrpc video button
i801 i2c_core shpchp tg3 dm_snapshot dm_zero dm_mirror ext3 jbd dm_mod mptspi mptscsih mptbase sd_mod scsi_mod
CPU:    2
EIP:    0060:[<c1067b31>]    Not tainted VLI
EFLAGS: 00010246   (2.6.16.1 #2)
EIP is at bio_put+0x24/0x2e
eax: 00000000   ebx: cce658f8   ecx: f7af3d80

esi: d3e07d80   edi: 00000000   ebp: 00000000

ds: 007b   es: 007b   ss: 0068
Process loop0 (pid: 14450, threadinfo=f6ea6000

Stack: <0>f8885606 00000078 f88b9080 cce643ec 00000000 d3e07d80 00000200 f8885567
       00000000 c10678b2 f6ea6f64 f8a58884 00000200 00000000 d3e07d80 f7fcafbc
       00000200 00000000 f8a585ff f8a58884 f6ea6fc0 c1005e96 00000001 cda73124
Call Trace:
 [<f8885606>] clone_endio+0x9f/0xd2 [dm_mod]
 [<f8885567>] clone_endio+0x0/0xd2 [dm_mod]
 [<c10678b2>] bio_endio+0x3e/0x69
 [<f8a58884>] lo_read_actor+0x0/0xe9 [loop]
 [<f8a585ff>] loop_thread+0x18e/0x413 [loop]
 [<f8a58884>] lo_read_actor+0x0/0xe9 [loop]
 [<c1005e96>] do_syscall_trace+0x196/0x1f5
 [<c1003906>] syscall_exit_work+0x16/0x1c
 [<f8a58471>] loop_thread+0x0/0x413 [loop]
 [<c1001ac5>] kernel_thread_helper+0x5/0xb
Code: c6 7c db 5b 5e 5f c3 89 c2 8b 40 38 85 c0 74 1b f0 ff 4a 38 0f 94 c0 84 c0 75 01 c3 c7 42 08 00 00 00 00 89 d0 ff 52 40 89 f6 c3 <0f> 0b dc 00 17 5a 23 c1 eb db 55 57 56 53 89 c7 8b 40 30 0f b7
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 190 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20060411/55e51ffd/attachment.sig>


More information about the dm-devel mailing list