* Re: 2.6.25-rc1/2 CD/DVD burning broken
2008-02-18 18:58 ` Kiyoshi Ueda
@ 2008-02-18 19:55 ` Laura Garcia
2008-02-18 20:19 ` Andreas Schwab
` (2 subsequent siblings)
3 siblings, 0 replies; 33+ messages in thread
From: Laura Garcia @ 2008-02-18 19:55 UTC (permalink / raw)
To: Kiyoshi Ueda
Cc: schwab, bzolnier, linux-kernel, jens.axboe, petkovbb, j-nomura
It works great for me.
Thanks,
Laura.
Kiyoshi Ueda wrote:
> Hi Andreas,
>
> On Sat, 16 Feb 2008 21:52:21 +0100, Andreas Schwab wrote:
>> Since commit aaa04c28cb9a1efd42541fdb7ab648231c2a2263 [blk_end_request:
>> changing ide-cd (take 4)] I cannot burn any CD/DVD any more, getting the
>> following error from wodim:
>>
>> Errno: 0 (Success), write_g1 scsi sendcmd: no error
>> CDB: 2A 00 00 00 00 00 00 00 1F 00
>> status: 0x2 (CHECK CONDITION)
>> Sense Bytes: 70 00 05 00 00 00 00 0E 00 00 00 00 21 02 00 00
>> Sense Key: 0x5 Illegal Request, Segment 0
>> Sense Code: 0x21 Qual 0x02 (invalid address for write) Fru 0x0
>> Sense flags: Blk 0 (not valid)
>> resid: 63488
>
> Could you try this patch?
> I've only done a compile test, so this patch may not work.
>
> During the conversion to blk_end_request, the code was changed
> *not* to set rq->data_len = 0.
> I removed that part because I thought it was just a trigger to
> call post_transform_command(). However, since data_len can be
> used as a residual length of the transfer, it might have to remain
> there.
> Actually, wodim seems checking the residual count how far it wrote
> (e.g. wodim/wodim.c:write_track_data()).
>
> This patch brings back the rq->data_len = 0.
>
> --- 2.6.25-rc2/drivers/ide/ide-cd.c 2008-02-15 15:57:20.000000000 -0500
> +++ ide-fix/drivers/ide/ide-cd.c 2008-02-18 01:23:40.000000000 -0500
> @@ -1207,9 +1207,13 @@ static ide_startstop_t cdrom_newpc_intr(
> end_request:
> if (blk_pc_request(rq)) {
> unsigned long flags;
> + unsigned int dlen = rq->data_len;
> +
> + if (dma)
> + rq->data_len = 0;
>
> spin_lock_irqsave(&ide_lock, flags);
> - if (__blk_end_request(rq, 0, rq->data_len))
> + if (__blk_end_request(rq, 0, dlen))
> BUG();
> HWGROUP(drive)->rq = NULL;
> spin_unlock_irqrestore(&ide_lock, flags);
>
> Thanks,
> Kiyoshi Ueda
^ permalink raw reply [flat|nested] 33+ messages in thread* Re: 2.6.25-rc1/2 CD/DVD burning broken
2008-02-18 18:58 ` Kiyoshi Ueda
2008-02-18 19:55 ` Laura Garcia
@ 2008-02-18 20:19 ` Andreas Schwab
2008-02-18 20:20 ` Borislav Petkov
2008-02-23 15:47 ` Andreas Schwab
3 siblings, 0 replies; 33+ messages in thread
From: Andreas Schwab @ 2008-02-18 20:19 UTC (permalink / raw)
To: Kiyoshi Ueda; +Cc: bzolnier, linux-kernel, jens.axboe, petkovbb, j-nomura
Kiyoshi Ueda <k-ueda@ct.jp.nec.com> writes:
> Could you try this patch?
> I've only done a compile test, so this patch may not work.
>
> During the conversion to blk_end_request, the code was changed
> *not* to set rq->data_len = 0.
> I removed that part because I thought it was just a trigger to
> call post_transform_command(). However, since data_len can be
> used as a residual length of the transfer, it might have to remain
> there.
> Actually, wodim seems checking the residual count how far it wrote
> (e.g. wodim/wodim.c:write_track_data()).
>
> This patch brings back the rq->data_len = 0.
Looks good, I was successfully able to burn a CD-RW.
Thanks, Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: 2.6.25-rc1/2 CD/DVD burning broken
2008-02-18 18:58 ` Kiyoshi Ueda
2008-02-18 19:55 ` Laura Garcia
2008-02-18 20:19 ` Andreas Schwab
@ 2008-02-18 20:20 ` Borislav Petkov
2008-02-18 22:37 ` Borislav Petkov
2008-02-23 15:47 ` Andreas Schwab
3 siblings, 1 reply; 33+ messages in thread
From: Borislav Petkov @ 2008-02-18 20:20 UTC (permalink / raw)
To: Kiyoshi Ueda; +Cc: schwab, bzolnier, linux-kernel, jens.axboe, j-nomura
On Mon, Feb 18, 2008 at 01:58:27PM -0500, Kiyoshi Ueda wrote:
> Hi Andreas,
>
> On Sat, 16 Feb 2008 21:52:21 +0100, Andreas Schwab wrote:
> > Since commit aaa04c28cb9a1efd42541fdb7ab648231c2a2263 [blk_end_request:
> > changing ide-cd (take 4)] I cannot burn any CD/DVD any more, getting the
> > following error from wodim:
> >
> > Errno: 0 (Success), write_g1 scsi sendcmd: no error
> > CDB: 2A 00 00 00 00 00 00 00 1F 00
> > status: 0x2 (CHECK CONDITION)
> > Sense Bytes: 70 00 05 00 00 00 00 0E 00 00 00 00 21 02 00 00
> > Sense Key: 0x5 Illegal Request, Segment 0
> > Sense Code: 0x21 Qual 0x02 (invalid address for write) Fru 0x0
> > Sense flags: Blk 0 (not valid)
> > resid: 63488
>
> Could you try this patch?
> I've only done a compile test, so this patch may not work.
>
> During the conversion to blk_end_request, the code was changed
> *not* to set rq->data_len = 0.
> I removed that part because I thought it was just a trigger to
> call post_transform_command(). However, since data_len can be
> used as a residual length of the transfer, it might have to remain
> there.
> Actually, wodim seems checking the residual count how far it wrote
> (e.g. wodim/wodim.c:write_track_data()).
and there seems to be some discrepancy between the different burning tools for i
just did test burning a cdimage with cdrdao unter 2.6.25-rc2 and it _works_
flawlessly:
# cdrdao write --device /dev/hdc test.toc
Cdrdao version 1.2.2 - (C) Andreas Mueller <andreas@daneb.de>
SCSI interface library - (C) Joerg Schilling
Paranoia DAE library - (C) Monty
Check http://cdrdao.sourceforge.net/drives.html#dt for current driver tables.
Using libscg version 'ubuntu-0.8ubuntu1'
/dev/hdc: TOSHIBA ODD-DVD SD-R6372 Rev: 1730
Using driver: Generic SCSI-3/MMC - Version 2.0 (options 0x0000)
Starting write at speed 4...
Pausing 10 seconds - hit CTRL-C to abort.
Process can be aborted with QUIT signal (usually CTRL-\).
Turning BURN-Proof on
Executing power calibration...
Power calibration successful.
Writing track 01 (mode MODE1_RAW/MODE1_RAW )...
Wrote 1 of 18 MB (Buffers 100% 94%).
Wrote 2 of 18 MB (Buffers 100% 94%).
Wrote 3 of 18 MB (Buffers 100% 94%).
Wrote 4 of 18 MB (Buffers 100% 94%).
Wrote 5 of 18 MB (Buffers 100% 94%).
Wrote 6 of 18 MB (Buffers 100% 94%).
Wrote 7 of 18 MB (Buffers 100% 94%).
Wrote 8 of 18 MB (Buffers 100% 94%).
Wrote 9 of 18 MB (Buffers 100% 94%).
Wrote 10 of 18 MB (Buffers 100% 94%).
Wrote 11 of 18 MB (Buffers 100% 94%).
Wrote 12 of 18 MB (Buffers 100% 94%).
Wrote 13 of 18 MB (Buffers 100% 94%).
Wrote 14 of 18 MB (Buffers 100% 94%).
Wrote 15 of 18 MB (Buffers 100% 94%).
Wrote 16 of 18 MB (Buffers 100% 94%).
Wrote 17 of 18 MB (Buffers 100% 94%).
Wrote 18 of 18 MB (Buffers 100% 94%).
Wrote 8056 blocks. Buffer fill min 100%/max 100%.
Flushing cache...
Writing finished successfully.
> This patch brings back the rq->data_len = 0.
>
> --- 2.6.25-rc2/drivers/ide/ide-cd.c 2008-02-15 15:57:20.000000000 -0500
> +++ ide-fix/drivers/ide/ide-cd.c 2008-02-18 01:23:40.000000000 -0500
> @@ -1207,9 +1207,13 @@ static ide_startstop_t cdrom_newpc_intr(
> end_request:
> if (blk_pc_request(rq)) {
> unsigned long flags;
> + unsigned int dlen = rq->data_len;
> +
> + if (dma)
> + rq->data_len = 0;
>
> spin_lock_irqsave(&ide_lock, flags);
> - if (__blk_end_request(rq, 0, rq->data_len))
> + if (__blk_end_request(rq, 0, dlen))
> BUG();
> HWGROUP(drive)->rq = NULL;
> spin_unlock_irqrestore(&ide_lock, flags);
>
> Thanks,
> Kiyoshi Ueda
next will test the one above...
--
Regards/Gruß,
Boris.
^ permalink raw reply [flat|nested] 33+ messages in thread* Re: 2.6.25-rc1/2 CD/DVD burning broken
2008-02-18 20:20 ` Borislav Petkov
@ 2008-02-18 22:37 ` Borislav Petkov
0 siblings, 0 replies; 33+ messages in thread
From: Borislav Petkov @ 2008-02-18 22:37 UTC (permalink / raw)
To: Kiyoshi Ueda; +Cc: bzolnier, schwab, linux-kernel, jens.axboe, j-nomura
On Mon, Feb 18, 2008 at 09:20:41PM +0100, Borislav Petkov wrote:
> On Mon, Feb 18, 2008 at 01:58:27PM -0500, Kiyoshi Ueda wrote:
> > Hi Andreas,
> >
> > On Sat, 16 Feb 2008 21:52:21 +0100, Andreas Schwab wrote:
> > > Since commit aaa04c28cb9a1efd42541fdb7ab648231c2a2263 [blk_end_request:
> > > changing ide-cd (take 4)] I cannot burn any CD/DVD any more, getting the
> > > following error from wodim:
> > >
> > > Errno: 0 (Success), write_g1 scsi sendcmd: no error
> > > CDB: 2A 00 00 00 00 00 00 00 1F 00
> > > status: 0x2 (CHECK CONDITION)
> > > Sense Bytes: 70 00 05 00 00 00 00 0E 00 00 00 00 21 02 00 00
> > > Sense Key: 0x5 Illegal Request, Segment 0
> > > Sense Code: 0x21 Qual 0x02 (invalid address for write) Fru 0x0
> > > Sense flags: Blk 0 (not valid)
> > > resid: 63488
> >
> > Could you try this patch?
> > I've only done a compile test, so this patch may not work.
> >
> > During the conversion to blk_end_request, the code was changed
> > *not* to set rq->data_len = 0.
> > I removed that part because I thought it was just a trigger to
> > call post_transform_command(). However, since data_len can be
> > used as a residual length of the transfer, it might have to remain
> > there.
> > Actually, wodim seems checking the residual count how far it wrote
> > (e.g. wodim/wodim.c:write_track_data()).
>
> and there seems to be some discrepancy between the different burning tools for i
> just did test burning a cdimage with cdrdao unter 2.6.25-rc2 and it _works_
> flawlessly:
>
> # cdrdao write --device /dev/hdc test.toc
>
> Cdrdao version 1.2.2 - (C) Andreas Mueller <andreas@daneb.de>
> SCSI interface library - (C) Joerg Schilling
> Paranoia DAE library - (C) Monty
>
> Check http://cdrdao.sourceforge.net/drives.html#dt for current driver tables.
>
> Using libscg version 'ubuntu-0.8ubuntu1'
>
> /dev/hdc: TOSHIBA ODD-DVD SD-R6372 Rev: 1730
> Using driver: Generic SCSI-3/MMC - Version 2.0 (options 0x0000)
>
> Starting write at speed 4...
> Pausing 10 seconds - hit CTRL-C to abort.
> Process can be aborted with QUIT signal (usually CTRL-\).
> Turning BURN-Proof on
> Executing power calibration...
> Power calibration successful.
> Writing track 01 (mode MODE1_RAW/MODE1_RAW )...
> Wrote 1 of 18 MB (Buffers 100% 94%).
> Wrote 2 of 18 MB (Buffers 100% 94%).
> Wrote 3 of 18 MB (Buffers 100% 94%).
> Wrote 4 of 18 MB (Buffers 100% 94%).
> Wrote 5 of 18 MB (Buffers 100% 94%).
> Wrote 6 of 18 MB (Buffers 100% 94%).
> Wrote 7 of 18 MB (Buffers 100% 94%).
> Wrote 8 of 18 MB (Buffers 100% 94%).
> Wrote 9 of 18 MB (Buffers 100% 94%).
> Wrote 10 of 18 MB (Buffers 100% 94%).
> Wrote 11 of 18 MB (Buffers 100% 94%).
> Wrote 12 of 18 MB (Buffers 100% 94%).
> Wrote 13 of 18 MB (Buffers 100% 94%).
> Wrote 14 of 18 MB (Buffers 100% 94%).
> Wrote 15 of 18 MB (Buffers 100% 94%).
> Wrote 16 of 18 MB (Buffers 100% 94%).
> Wrote 17 of 18 MB (Buffers 100% 94%).
> Wrote 18 of 18 MB (Buffers 100% 94%).
>
> Wrote 8056 blocks. Buffer fill min 100%/max 100%.
> Flushing cache...
> Writing finished successfully.
>
> > This patch brings back the rq->data_len = 0.
> >
> > --- 2.6.25-rc2/drivers/ide/ide-cd.c 2008-02-15 15:57:20.000000000 -0500
> > +++ ide-fix/drivers/ide/ide-cd.c 2008-02-18 01:23:40.000000000 -0500
> > @@ -1207,9 +1207,13 @@ static ide_startstop_t cdrom_newpc_intr(
> > end_request:
> > if (blk_pc_request(rq)) {
> > unsigned long flags;
> > + unsigned int dlen = rq->data_len;
> > +
> > + if (dma)
> > + rq->data_len = 0;
> >
> > spin_lock_irqsave(&ide_lock, flags);
> > - if (__blk_end_request(rq, 0, rq->data_len))
> > + if (__blk_end_request(rq, 0, dlen))
> > BUG();
> > HWGROUP(drive)->rq = NULL;
> > spin_unlock_irqrestore(&ide_lock, flags);
> >
> > Thanks,
> > Kiyoshi Ueda
>
> next will test the one above...
confirmed here too - burning succeeds both with wodim and cdrdao.
>
> --
> Regards/Gruß,
> Boris.
--
Regards/Gruß,
Boris.
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: 2.6.25-rc1/2 CD/DVD burning broken
2008-02-18 18:58 ` Kiyoshi Ueda
` (2 preceding siblings ...)
2008-02-18 20:20 ` Borislav Petkov
@ 2008-02-23 15:47 ` Andreas Schwab
2008-02-24 16:32 ` Borislav Petkov
3 siblings, 1 reply; 33+ messages in thread
From: Andreas Schwab @ 2008-02-23 15:47 UTC (permalink / raw)
To: Kiyoshi Ueda; +Cc: bzolnier, linux-kernel, jens.axboe, petkovbb, j-nomura
Kiyoshi Ueda <k-ueda@ct.jp.nec.com> writes:
> Could you try this patch?
> I've only done a compile test, so this patch may not work.
Unfortunately, that is not enough to get DVD burning working again.
This is the error that growisofs is getting:
ioctl(6, SG_IO, {'S', SG_DXFER_TO_DEV, cmd[10]=[2a, 00, 00, 00, 03, 10, 00, 00, 10, 00], mx_sb_len=64, iovec_count=0, dxfer_len=32768, timeout=60000, flags=0x3, data[32768]=["\360R\360\314Wt\277\241\36.\347\356L$\201]\210\372_~]I\213\366\253SV\2\372\356\312\257"...], status=02, masked_status=01, sb[0]=[], host_status=0, driver_status=0, resid=32768, duration=0, info=0x1}) = 0
write(2, ":-( unable to WRITE@LBA=310h: ", 30) = 30
It looks like the sense buffer is not filled in. In a successfully run
of growisfs under 2.6.24.2 the sense code is "LONG WRITE IN PROGRESS".
I also see that resid always equals dxfer_len even when the transfer was
successful, although growisofs does not seem to care. With 2.6.24.2
resid is only non-zero when a sense error occurred.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 33+ messages in thread* Re: 2.6.25-rc1/2 CD/DVD burning broken
2008-02-23 15:47 ` Andreas Schwab
@ 2008-02-24 16:32 ` Borislav Petkov
2008-02-24 16:59 ` Andreas Schwab
0 siblings, 1 reply; 33+ messages in thread
From: Borislav Petkov @ 2008-02-24 16:32 UTC (permalink / raw)
To: Andreas Schwab; +Cc: Kiyoshi Ueda, bzolnier, linux-kernel, jens.axboe, j-nomura
On Sat, Feb 23, 2008 at 04:47:50PM +0100, Andreas Schwab wrote:
> Kiyoshi Ueda <k-ueda@ct.jp.nec.com> writes:
>
> > Could you try this patch?
> > I've only done a compile test, so this patch may not work.
>
> Unfortunately, that is not enough to get DVD burning working again.
> This is the error that growisofs is getting:
>
> ioctl(6, SG_IO, {'S', SG_DXFER_TO_DEV, cmd[10]=[2a, 00, 00, 00, 03, 10, 00, 00, 10, 00], mx_sb_len=64, iovec_count=0, dxfer_len=32768, timeout=60000, flags=0x3, data[32768]=["\360R\360\314Wt\277\241\36.\347\356L$\201]\210\372_~]I\213\366\253SV\2\372\356\312\257"...], status=02, masked_status=01, sb[0]=[], host_status=0, driver_status=0, resid=32768, duration=0, info=0x1}) = 0
> write(2, ":-( unable to WRITE@LBA=310h: ", 30) = 30
>
> It looks like the sense buffer is not filled in. In a successfully run
> of growisfs under 2.6.24.2 the sense code is "LONG WRITE IN PROGRESS".
>
> I also see that resid always equals dxfer_len even when the transfer was
> successful, although growisofs does not seem to care. With 2.6.24.2
> resid is only non-zero when a sense error occurred.
Hm, strange,
burning a dvd here with growisofs works just fine. However, my
strace -v won't dereference the struct pointer passed to the ioctl:
...
open("/dev/dvd", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 5
...
ioctl(5, SG_IO, 0xbf804d14) = 0
...
--
Regards/Gruß,
Boris.
^ permalink raw reply [flat|nested] 33+ messages in thread* Re: 2.6.25-rc1/2 CD/DVD burning broken
2008-02-24 16:32 ` Borislav Petkov
@ 2008-02-24 16:59 ` Andreas Schwab
2008-02-25 2:49 ` Kiyoshi Ueda
0 siblings, 1 reply; 33+ messages in thread
From: Andreas Schwab @ 2008-02-24 16:59 UTC (permalink / raw)
To: petkovbb; +Cc: Kiyoshi Ueda, bzolnier, linux-kernel, jens.axboe, j-nomura
Borislav Petkov <petkovbb@googlemail.com> writes:
> burning a dvd here with growisofs works just fine.
You probably don't have a Pioneer.
> However, my strace -v won't dereference the struct pointer passed to
> the ioctl:
I use strace 4.5.16.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: 2.6.25-rc1/2 CD/DVD burning broken
2008-02-24 16:59 ` Andreas Schwab
@ 2008-02-25 2:49 ` Kiyoshi Ueda
2008-02-25 9:23 ` Andreas Schwab
2008-02-25 19:38 ` Andreas Schwab
0 siblings, 2 replies; 33+ messages in thread
From: Kiyoshi Ueda @ 2008-02-25 2:49 UTC (permalink / raw)
To: Andreas Schwab, petkovbb
Cc: bzolnier, linux-kernel, jens.axboe, j-nomura, Kiyoshi Ueda
Hi Andreas,
On Sat, 23 Feb 2008 16:47:50 +0100, Andreas Schwab wrote:
> Kiyoshi Ueda <k-ueda@ct.jp.nec.com> writes:
>
> > Could you try this patch?
> > I've only done a compile test, so this patch may not work.
>
> Unfortunately, that is not enough to get DVD burning working again.
> This is the error that growisofs is getting:
>
> ioctl(6, SG_IO, {'S', SG_DXFER_TO_DEV, cmd[10]=[2a, 00, 00, 00, 03, 10,
> 00, 00, 10, 00], mx_sb_len=64, iovec_count=0, dxfer_len=32768,
> timeout=60000, flags=0x3,
> data[32768]=["\360R\360\314Wt\277\241\36.\347\356L$\201]\210\372_~]I\213\366\253SV\2\372\356\312\257"...],
> status=02, masked_status=01, sb[0]=[], host_status=0, driver_status=0,
> resid=32768, duration=0, info=0x1}) = 0
> write(2, ":-( unable to WRITE@LBA=310h: ", 30) = 30
>
> It looks like the sense buffer is not filled in. In a successfully run
> of growisfs under 2.6.24.2 the sense code is "LONG WRITE IN PROGRESS".
>
> I also see that resid always equals dxfer_len even when the transfer was
> successful, although growisofs does not seem to care. With 2.6.24.2
> resid is only non-zero when a sense error occurred.
I'm looking at this problem, but currently no idea why the conversion
to blk_end_request causes it.
growisofs (in dvd+rw-tools-7.0) seems to care only the sense buffer
of the sg_io_hdr, as you said.
(growisofs_mmc.cpp:poor_mans_pwrite64() and transport.hxx:transport())
So if the driver sets the sense code correctly, growisofs should work
correctly I think.
However, I can't find why the blk_end_request patch affects the sense
code setting.
Could you give me some more information below to help investigation?
o Have you tried bisecting the kernel changes to find suspicious
commit? If so, that information will be much appreciated.
o Is this problem 100% reproducible on your Pioneer drive?
o What is your dvd+rw-tools version?
o Do you get some messages from kernel like "DMA error" when
the problem happens?
And I'm sorry but I can't make enough time for this problem
until late this week.
Thanks,
Kiyoshi Ueda
^ permalink raw reply [flat|nested] 33+ messages in thread* Re: 2.6.25-rc1/2 CD/DVD burning broken
2008-02-25 2:49 ` Kiyoshi Ueda
@ 2008-02-25 9:23 ` Andreas Schwab
2008-02-25 19:38 ` Andreas Schwab
1 sibling, 0 replies; 33+ messages in thread
From: Andreas Schwab @ 2008-02-25 9:23 UTC (permalink / raw)
To: Kiyoshi Ueda; +Cc: petkovbb, bzolnier, linux-kernel, jens.axboe, j-nomura
"Kiyoshi Ueda" <k-ueda@ct.jp.nec.com> writes:
> o Have you tried bisecting the kernel changes to find suspicious
> commit? If so, that information will be much appreciated.
That is close to impossible. Intervening kernels either don't boot or
crash while burning. Especially the one with the bad commit crashes in
cdrom_newpc_intr almost immediately when burning starts.
> o Is this problem 100% reproducible on your Pioneer drive?
Yes. See the comment in the growisofs sources, this sense code is
Pioneer specific.
> o Do you get some messages from kernel like "DMA error" when
> the problem happens?
Never.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: 2.6.25-rc1/2 CD/DVD burning broken
2008-02-25 2:49 ` Kiyoshi Ueda
2008-02-25 9:23 ` Andreas Schwab
@ 2008-02-25 19:38 ` Andreas Schwab
2008-02-25 20:45 ` Borislav Petkov
1 sibling, 1 reply; 33+ messages in thread
From: Andreas Schwab @ 2008-02-25 19:38 UTC (permalink / raw)
To: Kiyoshi Ueda; +Cc: petkovbb, bzolnier, linux-kernel, jens.axboe, j-nomura
"Kiyoshi Ueda" <k-ueda@ct.jp.nec.com> writes:
> I'm looking at this problem, but currently no idea why the conversion
> to blk_end_request causes it.
cdrom_newpc_intr apparently never sets rq->sense_len.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: 2.6.25-rc1/2 CD/DVD burning broken
2008-02-25 19:38 ` Andreas Schwab
@ 2008-02-25 20:45 ` Borislav Petkov
2008-02-25 22:08 ` Andreas Schwab
0 siblings, 1 reply; 33+ messages in thread
From: Borislav Petkov @ 2008-02-25 20:45 UTC (permalink / raw)
To: Andreas Schwab; +Cc: Kiyoshi Ueda, bzolnier, linux-kernel, jens.axboe, j-nomura
On Mon, Feb 25, 2008 at 08:38:22PM +0100, Andreas Schwab wrote:
> "Kiyoshi Ueda" <k-ueda@ct.jp.nec.com> writes:
>
> > I'm looking at this problem, but currently no idea why the conversion
> > to blk_end_request causes it.
>
> cdrom_newpc_intr apparently never sets rq->sense_len.
>
actually it does, see the code chunk around line 1188 in 2.6.25-rc2, for
example.
--
Regards/Gruß,
Boris.
^ permalink raw reply [flat|nested] 33+ messages in thread* Re: 2.6.25-rc1/2 CD/DVD burning broken
2008-02-25 20:45 ` Borislav Petkov
@ 2008-02-25 22:08 ` Andreas Schwab
2008-02-26 4:24 ` Borislav Petkov
0 siblings, 1 reply; 33+ messages in thread
From: Andreas Schwab @ 2008-02-25 22:08 UTC (permalink / raw)
To: petkovbb; +Cc: Kiyoshi Ueda, bzolnier, linux-kernel, jens.axboe, j-nomura
Borislav Petkov <petkovbb@googlemail.com> writes:
> On Mon, Feb 25, 2008 at 08:38:22PM +0100, Andreas Schwab wrote:
>> "Kiyoshi Ueda" <k-ueda@ct.jp.nec.com> writes:
>>
>> > I'm looking at this problem, but currently no idea why the conversion
>> > to blk_end_request causes it.
>>
>> cdrom_newpc_intr apparently never sets rq->sense_len.
>>
>
> actually it does, see the code chunk around line 1188 in 2.6.25-rc2, for
> example.
Yes, it does, but it always adds zero.
Move counting of sense bytes into the transfer loop.
Signed-off-by: Andreas Schwab <schwab@suse.de>
---
drivers/ide/ide-cd.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
--- linux-2.6.25-rc3.orig/drivers/ide/ide-cd.c 2008-02-25 01:03:31.000000000 +0100
+++ linux-2.6.25-rc3/drivers/ide/ide-cd.c 2008-02-25 22:54:42.000000000 +0100
@@ -1182,11 +1182,10 @@ static ide_startstop_t cdrom_newpc_intr(
else
rq->data += blen;
}
+ if (!write && blk_sense_request(rq))
+ rq->sense_len += blen;
}
- if (write && blk_sense_request(rq))
- rq->sense_len += thislen;
-
/*
* pad, if necessary
*/
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: 2.6.25-rc1/2 CD/DVD burning broken
2008-02-25 22:08 ` Andreas Schwab
@ 2008-02-26 4:24 ` Borislav Petkov
2008-02-26 14:52 ` Andreas Schwab
0 siblings, 1 reply; 33+ messages in thread
From: Borislav Petkov @ 2008-02-26 4:24 UTC (permalink / raw)
To: Andreas Schwab; +Cc: Kiyoshi Ueda, bzolnier, linux-kernel, jens.axboe, j-nomura
On Mon, Feb 25, 2008 at 11:08:55PM +0100, Andreas Schwab wrote:
> Borislav Petkov <petkovbb@googlemail.com> writes:
>
> > On Mon, Feb 25, 2008 at 08:38:22PM +0100, Andreas Schwab wrote:
> >> "Kiyoshi Ueda" <k-ueda@ct.jp.nec.com> writes:
> >>
> >> > I'm looking at this problem, but currently no idea why the conversion
> >> > to blk_end_request causes it.
> >>
> >> cdrom_newpc_intr apparently never sets rq->sense_len.
> >>
> >
> > actually it does, see the code chunk around line 1188 in 2.6.25-rc2, for
> > example.
>
> Yes, it does, but it always adds zero.
yep, true. Does that fix your dvd burning problem?
> Move counting of sense bytes into the transfer loop.
>
> Signed-off-by: Andreas Schwab <schwab@suse.de>
>
> ---
> drivers/ide/ide-cd.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> --- linux-2.6.25-rc3.orig/drivers/ide/ide-cd.c 2008-02-25 01:03:31.000000000 +0100
> +++ linux-2.6.25-rc3/drivers/ide/ide-cd.c 2008-02-25 22:54:42.000000000 +0100
> @@ -1182,11 +1182,10 @@ static ide_startstop_t cdrom_newpc_intr(
> else
> rq->data += blen;
> }
> + if (!write && blk_sense_request(rq))
> + rq->sense_len += blen;
> }
>
> - if (write && blk_sense_request(rq))
> - rq->sense_len += thislen;
> -
> /*
> * pad, if necessary
> */
>
> Andreas.
>
> --
> Andreas Schwab, SuSE Labs, schwab@suse.de
> SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
> PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
> "And now for something completely different."
--
Regards/Gruß,
Boris.
^ permalink raw reply [flat|nested] 33+ messages in thread* Re: 2.6.25-rc1/2 CD/DVD burning broken
2008-02-26 4:24 ` Borislav Petkov
@ 2008-02-26 14:52 ` Andreas Schwab
2008-02-26 17:38 ` Borislav Petkov
0 siblings, 1 reply; 33+ messages in thread
From: Andreas Schwab @ 2008-02-26 14:52 UTC (permalink / raw)
To: petkovbb; +Cc: Kiyoshi Ueda, bzolnier, linux-kernel, jens.axboe, j-nomura
Borislav Petkov <petkovbb@googlemail.com> writes:
> On Mon, Feb 25, 2008 at 11:08:55PM +0100, Andreas Schwab wrote:
>> Borislav Petkov <petkovbb@googlemail.com> writes:
>>
>> > On Mon, Feb 25, 2008 at 08:38:22PM +0100, Andreas Schwab wrote:
>> >> "Kiyoshi Ueda" <k-ueda@ct.jp.nec.com> writes:
>> >>
>> >> > I'm looking at this problem, but currently no idea why the conversion
>> >> > to blk_end_request causes it.
>> >>
>> >> cdrom_newpc_intr apparently never sets rq->sense_len.
>> >>
>> >
>> > actually it does, see the code chunk around line 1188 in 2.6.25-rc2, for
>> > example.
>>
>> Yes, it does, but it always adds zero.
>
> yep, true. Does that fix your dvd burning problem?
Yes, sure.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: 2.6.25-rc1/2 CD/DVD burning broken
2008-02-26 14:52 ` Andreas Schwab
@ 2008-02-26 17:38 ` Borislav Petkov
2008-02-26 20:01 ` Bartlomiej Zolnierkiewicz
0 siblings, 1 reply; 33+ messages in thread
From: Borislav Petkov @ 2008-02-26 17:38 UTC (permalink / raw)
To: bzolnier; +Cc: Andreas Schwab, Kiyoshi Ueda, linux-kernel, jens.axboe, j-nomura
On Tue, Feb 26, 2008 at 03:52:13PM +0100, Andreas Schwab wrote:
> Borislav Petkov <petkovbb@googlemail.com> writes:
>
> > On Mon, Feb 25, 2008 at 11:08:55PM +0100, Andreas Schwab wrote:
> >> Borislav Petkov <petkovbb@googlemail.com> writes:
> >>
> >> > On Mon, Feb 25, 2008 at 08:38:22PM +0100, Andreas Schwab wrote:
> >> >> "Kiyoshi Ueda" <k-ueda@ct.jp.nec.com> writes:
> >> >>
> >> >> > I'm looking at this problem, but currently no idea why the conversion
> >> >> > to blk_end_request causes it.
> >> >>
> >> >> cdrom_newpc_intr apparently never sets rq->sense_len.
> >> >>
> >> >
> >> > actually it does, see the code chunk around line 1188 in 2.6.25-rc2, for
> >> > example.
> >>
> >> Yes, it does, but it always adds zero.
> >
> > yep, true. Does that fix your dvd burning problem?
>
> Yes, sure.
>
> Andreas.
Bart,
please apply the enclosed patch since it fixes dvd burning with growisofs on
Pioneer drives as reported by Andreas.
Thanks.
---
From: Andreas Schwab <schwab@suse.de>
Move counting of sense bytes into the transfer loop.
Signed-off-by: Andreas Schwab <schwab@suse.de>
Acked-by: Borislav Petkov <petkovbb@gmail.com>
---
drivers/ide/ide-cd.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
--- linux-2.6.25-rc3.orig/drivers/ide/ide-cd.c 2008-02-25 01:03:31.000000000 +0100
+++ linux-2.6.25-rc3/drivers/ide/ide-cd.c 2008-02-25 22:54:42.000000000 +0100
@@ -1182,11 +1182,10 @@ static ide_startstop_t cdrom_newpc_intr(
else
rq->data += blen;
}
+ if (!write && blk_sense_request(rq))
+ rq->sense_len += blen;
}
- if (write && blk_sense_request(rq))
- rq->sense_len += thislen;
-
/*
* pad, if necessary
*/
--
Regards/Gruß,
Boris.
^ permalink raw reply [flat|nested] 33+ messages in thread* Re: 2.6.25-rc1/2 CD/DVD burning broken
2008-02-26 17:38 ` Borislav Petkov
@ 2008-02-26 20:01 ` Bartlomiej Zolnierkiewicz
0 siblings, 0 replies; 33+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2008-02-26 20:01 UTC (permalink / raw)
To: petkovbb; +Cc: Andreas Schwab, Kiyoshi Ueda, linux-kernel, jens.axboe, j-nomura
On Tuesday 26 February 2008, Borislav Petkov wrote:
> On Tue, Feb 26, 2008 at 03:52:13PM +0100, Andreas Schwab wrote:
> > Borislav Petkov <petkovbb@googlemail.com> writes:
> >
> > > On Mon, Feb 25, 2008 at 11:08:55PM +0100, Andreas Schwab wrote:
> > >> Borislav Petkov <petkovbb@googlemail.com> writes:
> > >>
> > >> > On Mon, Feb 25, 2008 at 08:38:22PM +0100, Andreas Schwab wrote:
> > >> >> "Kiyoshi Ueda" <k-ueda@ct.jp.nec.com> writes:
> > >> >>
> > >> >> > I'm looking at this problem, but currently no idea why the conversion
> > >> >> > to blk_end_request causes it.
> > >> >>
> > >> >> cdrom_newpc_intr apparently never sets rq->sense_len.
> > >> >>
> > >> >
> > >> > actually it does, see the code chunk around line 1188 in 2.6.25-rc2, for
> > >> > example.
> > >>
> > >> Yes, it does, but it always adds zero.
> > >
> > > yep, true. Does that fix your dvd burning problem?
> >
> > Yes, sure.
> >
> > Andreas.
>
> Bart,
>
> please apply the enclosed patch since it fixes dvd burning with growisofs on
> Pioneer drives as reported by Andreas.
>
> Thanks.
>
> ---
> From: Andreas Schwab <schwab@suse.de>
>
> Move counting of sense bytes into the transfer loop.
>
> Signed-off-by: Andreas Schwab <schwab@suse.de>
> Acked-by: Borislav Petkov <petkovbb@gmail.com>
applied, thanks!
^ permalink raw reply [flat|nested] 33+ messages in thread