burncd 'blank' not terminating ?

Scott Long scottl at samsco.org
Mon Dec 25 09:14:05 PST 2006


Luigi Rizzo wrote:
> On Mon, Dec 25, 2006 at 05:12:04PM +0200, Dmitry Pryanishnikov wrote:
>> Hello!
>>
>> On Fri, 22 Dec 2006, Sergey N. Voronkov wrote:
>>>> just noticed, after upgrading to 6.2RC1, that
>>>>
>>>> 	luigi# burncd -f /dev/acd0 -v blank
>>>> 	blanking CD, please wait..
>>>>
>>>> stays there forever. Eventually i gave up and ctrl-C and
>>>> the application terminates, and i was able to write to
>>>> the disk a valid image, which probably means that the
>>>> disk had been blanked.
>>    Yes, well known RELENG_4 -> 6 (maybe even 5) regression. Same here with
>>
>> acd0: CDRW <CD-W540E/1.0C> at ata1-master UDMA33
>>
>> Worked fine under RELENG_4, fails to wait for completion under RELENG_6.
> 
> indeed, the two routines are different: in RELENG_4
> 
>     static int
>     acd_get_progress(struct acd_softc *cdp, int *finished)
>     {
> 	int8_t ccb[16] = { ATAPI_READ_CAPACITY, 0, 0, 0, 0, 0, 0, 0,  
> 			   0, 0, 0, 0, 0, 0, 0, 0 };


My memory is rusty here, but I thought that a TUR was the canonical way 
to test if the operation is complete, and get progress as a side effect.
I see that until rev 1.85, this function used a plain REQUEST_SENSE, 
which was definitely wrong.  There has to be some way that a 
WHQL-qualified disc burner will report this information reliably.

Scott


More information about the freebsd-stable mailing list