Skip to contentSkip to conversation

back-trace on mounting ide cd-rom

DISCUSSION Robert Love 3 participants 4 messages Apr 2, 2003 – Apr 3, 2003 VFS

lore
Share & tools
lore
#0 lore raw

I got the following errors and back-trace upon mounting my IDE CD-ROM (hdc). It seems to be a normal ISO9660... its the Red Hat 9 CD.

I haven't looked into it yet. Not sure why there is ext3 stuff in there... maybe the CD-ROM mount is unrelated? Mounting the CD subsequent times is OK.

Kernel is 2.5.66-mm2. UP, preempt, no highmem, i686.

Here we go:

        buffer layer error at fs/buffer.c:127
        Call Trace:
         [<c0149d80>] __wait_on_buffer+0xe0/0xf0
         [<c0117b10>] autoremove_wake_function+0x0/0x50
         [<c0117b10>] autoremove_wake_function+0x0/0x50
         [<c014bcff>] __block_prepare_write+0x11f/0x460
         [<c0187d9a>] start_this_handle+0xaa/0x1f0
         [<c014c874>] block_prepare_write+0x34/0x50
         [<c017d760>] ext3_get_block+0x0/0xa0
         [<c017dd41>] ext3_prepare_write+0x71/0x130
         [<c017d760>] ext3_get_block+0x0/0xa0
         [<c012eeb9>] generic_file_aio_write_nolock+0x369/0xa50
         [<c012da90>] file_read_actor+0x0/0x130
         [<c012dd84>] __generic_file_aio_read+0x1c4/0x210
         [<c012f6c5>] generic_file_aio_write+0x85/0xb0
         [<c017b5b4>] ext3_file_write+0x44/0xe0
         [<c0148a0b>] do_sync_write+0x8b/0xc0
         [<c015aa11>] __pollwait+0x41/0xd0
         [<c015a9d0>] __pollwait+0x0/0xd0
         [<c015b07e>] sys_select+0x26e/0x560
         [<c0147b78>] filp_open+0x68/0x70
         [<c0148afe>] vfs_write+0xbe/0x130
         [<c0148c0e>] sys_write+0x3e/0x60
         [<c0109259>] sysenter_past_esp+0x52/0x71
         
        end_request: I/O error, dev hdc, sector 0
        end_request: I/O error, dev hdc, sector 0
        ISO 9660 Extensions: RRIP_1991A

Ideas?

Robert Love

#1 lore raw
Quoted 3 lines · Robert Love

I haven't looked into it yet. Not sure why there is ext3 stuff in there... maybe the CD-ROM mount is unrelated? Mounting the CD subsequent times is OK.

weak guess: maybe mount is trying to auto-probe the filesystem and the ext3 code gets upset on cdrom. are you using -t iso9660?

-Bryan

#2 lore raw
In reply to Robert Love
Quoted 8 lines · Robert Love

I got the following errors and back-trace upon mounting my IDE CD-ROM (hdc). It seems to be a normal ISO9660... its the Red Hat 9 CD.

I haven't looked into it yet. Not sure why there is ext3 stuff in there... maybe the CD-ROM mount is unrelated? Mounting the CD subsequent times is OK.

Quoted 5 lines

Kernel is 2.5.66-mm2. UP, preempt, no highmem, i686.

Here we go:

buffer layer error at fs/buffer.c:127

ah, my new debug code is buggy. It is legal to wait upon a zero-ref buffer if that buffer's page is locked.

fs/buffer.c renamed from fs/buffer.c~a +2 -1
diff -puN fs/buffer.c~a fs/buffer.c
@@ -123,7 +123,8 @@ void __wait_on_buffer(struct buffer_head
 	wait_queue_head_t *wqh = bh_waitq_head(bh);
 	DEFINE_WAIT(wait);
 
-	if (atomic_read(&bh->b_count) == 0)
+	if (atomic_read(&bh->b_count) == 0 &&
+			(!bh->b_page || !PageLocked(bh->b_page)))
 		buffer_error();
 
 	do {

_

#3 lore raw
Quoted 2 lines · Andrew Morton

ah, my new debug code is buggy. It is legal to wait upon a zero-ref buffer if that buffer's page is locked.

That fixed it (or it is not reproducing itself).

Thanks, Andrew. Glad to be of service.

Robert Love