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