Removed bug in burn_disc_write_sync(): BURN_DRIVE_IDLE, then d->sync_cache()
This commit is contained in:
parent
170eb96356
commit
6ad8e2e251
@ -3984,6 +3984,8 @@ int Cdrskin_eject(struct CdrskiN *skin, int flag)
|
||||
if(skin->n_drives<=skin->driveno || skin->driveno < 0)
|
||||
return(2);
|
||||
|
||||
/* <<< A61012 : retry loop might now be obsolete
|
||||
(a matching bug in burn_disc_write_sync() was removed ) */
|
||||
for(i= 0;i<max_try;i++) {
|
||||
ret= Cdrskin_grab_drive(skin,2|((i<max_try-1)<<2));
|
||||
if(ret>0 || i>=max_try-1)
|
||||
|
@ -1 +1 @@
|
||||
#define Cdrskin_timestamP "2006.10.11.191959"
|
||||
#define Cdrskin_timestamP "2006.10.13.114554"
|
||||
|
@ -297,7 +297,7 @@ Range "scdbackup" : 0x00020000 to 0x0002ffff
|
||||
|
||||
0x00020001 (SORRY,LOW) = Cannot open busy device
|
||||
0x00020002 (SORRY,HIGH) = Encountered error when closing drive
|
||||
0x00020003 (FATAL,HIGH) = Could not grab drive
|
||||
0x00020003 (SORRY,HIGH) = Could not grab drive
|
||||
0x00020004 (NOTE,HIGH) = Opened O_EXCL scsi sibling
|
||||
0x00020005 (FATAL,HIGH) = Failed to open device
|
||||
0x00020006 (FATAL,HIGH) = Too many scsi siblings
|
||||
|
@ -578,14 +578,14 @@ int sg_grab(struct burn_drive *d)
|
||||
drive_is_in_use:;
|
||||
libdax_msgs_submit(libdax_messenger, d->global_index,
|
||||
0x00020003,
|
||||
LIBDAX_MSGS_SEV_FATAL, LIBDAX_MSGS_PRIO_HIGH,
|
||||
LIBDAX_MSGS_SEV_SORRY, LIBDAX_MSGS_PRIO_HIGH,
|
||||
"Could not grab drive - already in use", 0, 0);
|
||||
sg_close_drive(d);
|
||||
d->fd = -1337;
|
||||
return 0;
|
||||
}
|
||||
libdax_msgs_submit(libdax_messenger, d->global_index, 0x00020003,
|
||||
LIBDAX_MSGS_SEV_FATAL, LIBDAX_MSGS_PRIO_HIGH,
|
||||
LIBDAX_MSGS_SEV_SORRY, LIBDAX_MSGS_PRIO_HIGH,
|
||||
"Could not grab drive", os_errno, 0);
|
||||
return 0;
|
||||
}
|
||||
|
@ -658,6 +658,10 @@ return crap. so we send the command, then ignore the result.
|
||||
burn_print(1, "done\n");
|
||||
d->busy = BURN_DRIVE_IDLE;
|
||||
|
||||
/* ts A61012 : This return was traditionally missing, a suspect this
|
||||
to have caused Cdrskin_eject() failures */
|
||||
return;
|
||||
|
||||
fail:
|
||||
d->sync_cache(d);
|
||||
burn_print(1, "done - failed\n");
|
||||
|
Loading…
Reference in New Issue
Block a user