Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Dec 2006 11:11:43 +0200 (EET)
From:      Dmitry Pryanishnikov <dmitry@atlantis.dp.ua>
To:        Luigi Rizzo <rizzo@icir.org>
Cc:        stable@freebsd.org, sos@freebsd.org
Subject:   Re: [summary] Re: burncd 'blank' not terminating ?
Message-ID:  <20061227102328.A39278@atlantis.atlantis.dp.ua>
In-Reply-To: <20061226064831.B48751@xorpc.icir.org>
References:  <20061221092717.A6431@xorpc.icir.org> <20061222073857.GA10704@tmn.ru> <20061225165735.M22401@atlantis.atlantis.dp.ua> <20061225084704.A23448@xorpc.icir.org> <4590066B.8050604@samsco.org> <20061226064831.B48751@xorpc.icir.org>

next in thread | previous in thread | raw e-mail | index | archive | help

Hello!

On Tue, 26 Dec 2006, Luigi Rizzo wrote:
> I suggest the following two fixes:
> 1. change burncd.c as below, so that if CDRIOCGETPROGRESS does not return
>   anything good, it calls CDIOCRESET to determine when the command
>   is complete.
>   This can be improved by calling CDIOCRESET unconditionally as a
>   termination test
>
> 2. change atapi-cd.c to return something even if ATA_SENSE_VALID is
>   unset. Apparently there is a lot of non-complying hardware around
>   so restricting to what the spec says is like shooting ourselves
>   in the foot.
>      Again, if burncd.c uses CDIOCRESET to determine the completion
>   of the 'blank' operation, we don't care if the return value from
>   CDRIOCGETPROGRESS is incorrect, because we don't rely on it.
>
> Patches below (to be improved to make CDIOCRESET unconditional).
> Does this satisfy all ?

   Thanks, Luigi, you rule OK! As I've said before, atapi-cd.c part of these
changes seems to be effectively NOOP with my TEAC's drive

acd0: CDRW <CD-W540E/1.0C> at ata1-master UDMA33

But burncd.c patch definitely works! It's output is somehow ugly:

root@lion# burncd -f /dev/acd0 -s 10 blank
blanking CD -  17sec 0 % done -1		(interim status)
blanking CD -  39sec 0 % done 0			(final status)
root@lion#

but the operation finishes w/o pressing Ctrl-C. Now I can use aggregate 
commands such as 'blank data xxx fixate':

root@lion# burncd -f /dev/acd0 -s 10 blank data memtest86+-1.65.iso fixate
blanking CD -  39sec 0 % done 0
next writeable LBA 0
writing from file memtest86+-1.65.iso size 900 KB
written this track 900 KB (100%) total 900 KB
fixating CD, please wait..
burncd: ioctl(CDRIOCFIXATE): Input/output error
root@lion#

Fixate still issues 'ioctl(CDRIOCFIXATE): Input/output error', but AFAICT 
the resulting media is OK.

Thank you again for digging this problem!

> 	cheers
> 	luigi

Sincerely, Dmitry
-- 
Atlantis ISP, System Administrator
e-mail:  dmitry@atlantis.dp.ua
nic-hdl: LYNX-RIPE



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061227102328.A39278>