public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 2.6.11-rc3-mm1 : mount UDF CDRW stuck in D state
@ 2005-02-05 16:49 Laurent Riffard
  2005-02-06  0:43 ` Peter Osterlund
  0 siblings, 1 reply; 6+ messages in thread
From: Laurent Riffard @ 2005-02-05 16:49 UTC (permalink / raw)
  To: Kernel development list

[-- Attachment #1: Type: text/plain, Size: 4839 bytes --]

Hello,

This is kernel 2.6.11-rc3-mm1. I can't mount an UDF-formatted cdrw in packet-writing mode. Mount process gets stuck in D state.

Mounting and writing this media in packet-writing mode works fine with kernel 2.6.11-rc2-mm2.

Mounting and reading this media in normal mode (/dev/hdd on /vol/graveur type udf (ro,noexec,nosuid,nodev,noatime)) works fine with kernel 2.6.11-rc3-mm1 or older.

Note I did not try another media, this one seems good to me. The drive is a LITE-ON LTR-48125S.

below are :
- ps status
- sysreq-T output
- output of /proc/driver/pktcdvd/pktcdvd0
- cdrwtool info

----------------------------------------------------------------------------

laurent$ ps aux | grep mount
root      6782  0.0  0.1  1572  436 ?        D    17:34   0:00 /bin/mount -t udf -s -o noatime /dev/pktcdvd/0 /vol/pkt

----------------------------------------------------------------------------

Here is the output of SysRq-T for this process :

 mount         D C7E81B60     0  6782   6781                     (NOTLB)
 c7e81b64 00000082 c0381ee4 c7e81b60 00000000 4c667c40 000f4258 c74c05a0
        c74c06c4 c7e80000 c7e81bd0 c7e81b80 c7e81bb8 c0280b76 00000000 c74c05a0
        c01133a4 00000000 00000000 c021ae65 c1345e30 ffffffff 00000001 c74c05a0
 Call Trace:
  [wait_for_completion+157/266] wait_for_completion+0x9d/0x10a
  [<c0280b76>] wait_for_completion+0x9d/0x10a
  [pg0+364799100/1070007296] pkt_generic_packet+0x108/0x134 [pktcdvd]
  [<d5f7447c>] pkt_generic_packet+0x108/0x134 [pktcdvd]
  [pg0+364804125/1070007296] pkt_get_disc_info+0x3d/0x77 [pktcdvd]
  [<d5f7581d>] pkt_get_disc_info+0x3d/0x77 [pktcdvd]
  [pg0+364804344/1070007296] pkt_get_last_written+0x15/0x93 [pktcdvd]
  [<d5f758f8>] pkt_get_last_written+0x15/0x93 [pktcdvd]
  [pg0+364806861/1070007296] pkt_open_dev+0x38/0x12b [pktcdvd]
  [<d5f762cd>] pkt_open_dev+0x38/0x12b [pktcdvd]
  [pg0+364807294/1070007296] pkt_open+0x61/0xa0 [pktcdvd]
  [<d5f7647e>] pkt_open+0x61/0xa0 [pktcdvd]
  [do_open+151/803] do_open+0x97/0x323
  [<c0151d01>] do_open+0x97/0x323
  [blkdev_get+108/119] blkdev_get+0x6c/0x77
  [<c0151ff9>] blkdev_get+0x6c/0x77
  [open_bdev_excl+55/112] open_bdev_excl+0x37/0x70
  [<c01522ee>] open_bdev_excl+0x37/0x70
  [get_sb_bdev+22/283] get_sb_bdev+0x16/0x11b
  [<c0150e2a>] get_sb_bdev+0x16/0x11b
  [pg0+364950912/1070007296] udf_get_sb+0x10/0x12 [udf]
  [<d5f99580>] udf_get_sb+0x10/0x12 [udf]
  [do_kern_mount+67/186] do_kern_mount+0x43/0xba
  [<c015109a>] do_kern_mount+0x43/0xba
  [do_new_mount+108/153] do_new_mount+0x6c/0x99
  [<c016419d>] do_new_mount+0x6c/0x99
  [do_mount+309/332] do_mount+0x135/0x14c
  [<c0164827>] do_mount+0x135/0x14c
  [sys_mount+106/166] sys_mount+0x6a/0xa6
  [<c0164be8>] sys_mount+0x6a/0xa6
  [sysenter_past_esp+82/117] sysenter_past_esp+0x52/0x75
  [<c0102bf9>] sysenter_past_esp+0x52/0x75

----------------------------------------------------------------------------

laurent$ cat /proc/driver/pktcdvd/pktcdvd0
Writer pktcdvd0 mapped to hdd:

Settings:
        packet size:            0kB
        write type:             Packet
        packet type:            Variable
        link loss:              0
        track mode:             0
        block mode:             Unknown

Statistics:
        packets started:        0
        packets ended:          0
        written:                0kB
        read gather:            0kB
        read:                   0kB

Misc:
        reference count:        1
        flags:                  0x0
        read speed:             0kB/s
        write speed:            0kB/s
        start offset:           0
        mode page offset:       0

Queue state:
        bios queued:            0
        bios pending:           0
        current sector:         0x0
        state:                  i:0 ow:0 rw:0 ww:0 rec:0 fin:0

----------------------------------------------------------------------------

[root@antares root]# cdrwtool -i -d /dev/hdd
using device /dev/hdd
1388KB internal buffer
setting write speed to 12x

DISC INFO:
        erasable : Yes
        border = 3
        Disc status = 2
        number of first track = 1
        number of sessions = 1
        number of tracks = 1
        status of last track = 1
        uru = 0
        did_v = 1
        dbc_v = 0
        disc type = 32
        disc_id = 100374
        lead_in = 255:255:255 (1166880)
        lead_out = 255:255:255 (1166880)
        OPC entries = 1

TRACK INFO:

Track 1
        track_number = 1
        session_number = 1
        damage = 0
        copy = 0
        track_mode = 7
        Rt = 1
        blank = 0
        packet = 1
        fp = 1
        data_mode = 2
        lra_v = 0
        nwa_v = 0
        track_start = 0
        next_writable = 0
        last_recorded = 0
        free_blocks = 0
        packet_size = 32
        track_size = 295264 (590528KB)

--
laurent


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 252 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 2.6.11-rc3-mm1 : mount UDF CDRW stuck in D state
  2005-02-05 16:49 2.6.11-rc3-mm1 : mount UDF CDRW stuck in D state Laurent Riffard
@ 2005-02-06  0:43 ` Peter Osterlund
  2005-02-06  1:48   ` Peter Osterlund
  0 siblings, 1 reply; 6+ messages in thread
From: Peter Osterlund @ 2005-02-06  0:43 UTC (permalink / raw)
  To: Laurent Riffard, Andrew Morton; +Cc: Kernel development list

Laurent Riffard <laurent.riffard@free.fr> writes:

> This is kernel 2.6.11-rc3-mm1. I can't mount an UDF-formatted cdrw
> in packet-writing mode. Mount process gets stuck in D state.
> 
> Mounting and writing this media in packet-writing mode works fine
> with kernel 2.6.11-rc2-mm2.

I tried to repeat the problem, but I didn't get far, because I get a
kernel panic right after init is started:

Unable to handle kernel NULL pointer dereference at virtual address 00000000
...
PREEMPT
...
EIP is a strncpy_from_user+0x33/0x47
...
Call Trace:
 getname+0x69/0xa5
 sys_open+0x12/0xc6
 sysenter_past_esp+0x52/0x75
...
Kernel panic - not syncing: Attempted to kill init!

-- 
Peter Osterlund - petero2@telia.com
http://web.telia.com/~u89404340

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 2.6.11-rc3-mm1 : mount UDF CDRW stuck in D state
  2005-02-06  0:43 ` Peter Osterlund
@ 2005-02-06  1:48   ` Peter Osterlund
  2005-02-06  6:23     ` Andrew Morton
  0 siblings, 1 reply; 6+ messages in thread
From: Peter Osterlund @ 2005-02-06  1:48 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Laurent Riffard, Kernel development list

Peter Osterlund <petero2@telia.com> writes:

> Laurent Riffard <laurent.riffard@free.fr> writes:
> 
> > This is kernel 2.6.11-rc3-mm1. I can't mount an UDF-formatted cdrw
> > in packet-writing mode. Mount process gets stuck in D state.
> > 
> > Mounting and writing this media in packet-writing mode works fine
> > with kernel 2.6.11-rc2-mm2.
> 
> I tried to repeat the problem, but I didn't get far, because I get a
> kernel panic right after init is started:

I got around that by disabling preempt, radeon framebuffer, HPET
timer, APIC. Don't know which one caused the panic, will track it down
later.

Anyway, mount hangs for me too if I use an IDE drive, both with native
ide and ide-scsi emulation. It doesn't hang with a USB drive though. I
verified that 2.6.11-rc3 does not have this problem. Reverting
bk-ide-dev does *not* fix the problem.

-- 
Peter Osterlund - petero2@telia.com
http://web.telia.com/~u89404340

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 2.6.11-rc3-mm1 : mount UDF CDRW stuck in D state
  2005-02-06  1:48   ` Peter Osterlund
@ 2005-02-06  6:23     ` Andrew Morton
  2005-02-06  8:18       ` Peter Osterlund
  0 siblings, 1 reply; 6+ messages in thread
From: Andrew Morton @ 2005-02-06  6:23 UTC (permalink / raw)
  To: Peter Osterlund; +Cc: laurent.riffard, linux-kernel

Peter Osterlund <petero2@telia.com> wrote:
>
> Peter Osterlund <petero2@telia.com> writes:
> 
> > Laurent Riffard <laurent.riffard@free.fr> writes:
> > 
> > > This is kernel 2.6.11-rc3-mm1. I can't mount an UDF-formatted cdrw
> > > in packet-writing mode. Mount process gets stuck in D state.
> > > 
> > > Mounting and writing this media in packet-writing mode works fine
> > > with kernel 2.6.11-rc2-mm2.
> > 
> > I tried to repeat the problem, but I didn't get far, because I get a
> > kernel panic right after init is started:
> 
> I got around that by disabling preempt, radeon framebuffer, HPET
> timer, APIC. Don't know which one caused the panic, will track it down
> later.

Please do - the above combo works for me (as usual).  I don't recall anyone
else reporting it.

> Anyway, mount hangs for me too if I use an IDE drive, both with native
> ide and ide-scsi emulation. It doesn't hang with a USB drive though. I
> verified that 2.6.11-rc3 does not have this problem. Reverting
> bk-ide-dev does *not* fix the problem.

Bah.  sysrq-T output would be helpful.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 2.6.11-rc3-mm1 : mount UDF CDRW stuck in D state
  2005-02-06  6:23     ` Andrew Morton
@ 2005-02-06  8:18       ` Peter Osterlund
  2005-02-06 12:53         ` Laurent Riffard
  0 siblings, 1 reply; 6+ messages in thread
From: Peter Osterlund @ 2005-02-06  8:18 UTC (permalink / raw)
  To: Andrew Morton, Jens Axboe; +Cc: laurent.riffard, linux-kernel

Andrew Morton <akpm@osdl.org> writes:

> Peter Osterlund <petero2@telia.com> wrote:
> >
> > Peter Osterlund <petero2@telia.com> writes:
> > 
> > > Laurent Riffard <laurent.riffard@free.fr> writes:
> > > 
> > > > This is kernel 2.6.11-rc3-mm1. I can't mount an UDF-formatted cdrw
> > > > in packet-writing mode. Mount process gets stuck in D state.
> > > > 
> > > > Mounting and writing this media in packet-writing mode works fine
> > > > with kernel 2.6.11-rc2-mm2.
> 
> > Anyway, mount hangs for me too if I use an IDE drive, both with native
> > ide and ide-scsi emulation. It doesn't hang with a USB drive though. I
> > verified that 2.6.11-rc3 does not have this problem. Reverting
> > bk-ide-dev does *not* fix the problem.
> 
> Bah.  sysrq-T output would be helpful.

I was wrong about USB, it doesn't work either. The IDE drive failed
with a non-packet formatted disc, so I didn't bother to check what was
inserted in the USB drive. It turned out it was empty and in that case
the driver doesn't hang.

Anyway, the problem is that the add-struct-request-end_io-callback
patch forgot to update pktcdvd.c. This patch fixes it. It should
probably be merged into the add-struct-request-end_io-callback patch,
because that patch already fixes up other struct request users.

Signed-off-by: Peter Osterlund <petero2@telia.com>
---

 linux-petero/drivers/block/pktcdvd.c |    1 +
 1 files changed, 1 insertion(+)

diff -puN drivers/block/pktcdvd.c~pktcdvd-endio-fix drivers/block/pktcdvd.c
--- linux/drivers/block/pktcdvd.c~pktcdvd-endio-fix	2005-02-06 08:59:16.000000000 +0100
+++ linux-petero/drivers/block/pktcdvd.c	2005-02-06 09:01:22.000000000 +0100
@@ -375,6 +375,7 @@ static int pkt_generic_packet(struct pkt
 	rq->ref_count++;
 	rq->flags |= REQ_NOMERGE;
 	rq->waiting = &wait;
+	rq->end_io = blk_end_sync_rq;
 	elv_add_request(q, rq, ELEVATOR_INSERT_BACK, 1);
 	generic_unplug_device(q);
 	wait_for_completion(&wait);
_

-- 
Peter Osterlund - petero2@telia.com
http://web.telia.com/~u89404340

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 2.6.11-rc3-mm1 : mount UDF CDRW stuck in D state
  2005-02-06  8:18       ` Peter Osterlund
@ 2005-02-06 12:53         ` Laurent Riffard
  0 siblings, 0 replies; 6+ messages in thread
From: Laurent Riffard @ 2005-02-06 12:53 UTC (permalink / raw)
  To: Peter Osterlund; +Cc: Andrew Morton, Jens Axboe, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1127 bytes --]


Le 06.02.2005 09:18, Peter Osterlund a écrit :
[snip]
>
> Anyway, the problem is that the add-struct-request-end_io-callback
> patch forgot to update pktcdvd.c. This patch fixes it. It should
> probably be merged into the add-struct-request-end_io-callback patch,
> because that patch already fixes up other struct request users.
>
> Signed-off-by: Peter Osterlund <petero2@telia.com>
> ---
>
>  linux-petero/drivers/block/pktcdvd.c |    1 +
>  1 files changed, 1 insertion(+)
>
> diff -puN drivers/block/pktcdvd.c~pktcdvd-endio-fix drivers/block/pktcdvd.c
> --- linux/drivers/block/pktcdvd.c~pktcdvd-endio-fix	2005-02-06 08:59:16.000000000 +0100
> +++ linux-petero/drivers/block/pktcdvd.c	2005-02-06 09:01:22.000000000 +0100
> @@ -375,6 +375,7 @@ static int pkt_generic_packet(struct pkt
>  	rq->ref_count++;
>  	rq->flags |= REQ_NOMERGE;
>  	rq->waiting = &wait;
> +	rq->end_io = blk_end_sync_rq;
>  	elv_add_request(q, rq, ELEVATOR_INSERT_BACK, 1);
>  	generic_unplug_device(q);
>  	wait_for_completion(&wait);
> _
>

Ok, this patch fixed the problem. I'm able to mount the CDRW and write some data.

Thank you.
--
laurent

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 252 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-02-06 12:54 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-02-05 16:49 2.6.11-rc3-mm1 : mount UDF CDRW stuck in D state Laurent Riffard
2005-02-06  0:43 ` Peter Osterlund
2005-02-06  1:48   ` Peter Osterlund
2005-02-06  6:23     ` Andrew Morton
2005-02-06  8:18       ` Peter Osterlund
2005-02-06 12:53         ` Laurent Riffard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox