New -blank mode prefix "force:"

This commit is contained in:
Thomas Schmitt 2012-10-24 09:59:13 +00:00
parent e01514fd67
commit cbe14a003a
8 changed files with 106 additions and 58 deletions

View File

@ -3119,3 +3119,25 @@ int Xorriso_get_drive_handles(struct XorrisO *xorriso,
return((*drive)!=NULL); return((*drive)!=NULL);
} }
int Xorriso_pretend_full_disc(struct XorrisO *xorriso, int flag)
{
int ret;
struct burn_drive_info *dinfo;
struct burn_drive *drive;
ret= Xorriso_get_drive_handles(xorriso, &dinfo, &drive,
"on attempt to let libburn pretend having a closed medium", 2);
if(ret<=0)
return(ret);
ret= burn_disc_pretend_full(drive);
Xorriso_process_msg_queues(xorriso,0);
if(ret <= 0) {
sprintf(xorriso->info_text,
"Failed to let libburn pretend having a closed medium");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
}
return(1);
}

View File

@ -535,10 +535,10 @@ int Xorriso_option_biblio_file(struct XorrisO *xorriso, char *name, int flag)
/* @param flag bit0= format rather than blank /* @param flag bit0= format rather than blank
@return <=0 error , 1 success, 2 revoked by -reassure @return <=0 error , 1 success, 2 revoked by -reassure
*/ */
int Xorriso_option_blank(struct XorrisO *xorriso, char *mode, int flag) int Xorriso_option_blank(struct XorrisO *xorriso, char *in_mode, int flag)
{ {
char *cmd= "-blank"; char *cmd= "-blank", *mode;
int aq_ret, ret, mode_flag= 0, as_needed= 0, idx; int aq_ret, ret, mode_flag= 0, as_needed= 0, idx, do_force= 0;
off_t size= 0; off_t size= 0;
if(flag&1) if(flag&1)
@ -562,6 +562,11 @@ int Xorriso_option_blank(struct XorrisO *xorriso, char *mode, int flag)
if(ret<=0) if(ret<=0)
return(2); return(2);
if(strncmp(in_mode, "force:", 6) == 0) {
do_force= 1;
mode= in_mode + 6;
} else
mode= in_mode;
if(strcmp(mode, "as_needed")==0 || mode[0]==0) if(strcmp(mode, "as_needed")==0 || mode[0]==0)
as_needed= 1; as_needed= 1;
else if(strcmp(mode, "all")==0 || strcmp(mode, "full")==0) else if(strcmp(mode, "all")==0 || strcmp(mode, "full")==0)
@ -617,6 +622,11 @@ unusable_size:;
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0); return(0);
} }
if(do_force) {
ret= Xorriso_pretend_full_disc(xorriso, 0);
if(ret <= 0)
return(ret);
}
if(as_needed) if(as_needed)
ret= Xorriso_blank_as_needed(xorriso, (flag&1)<<2); ret= Xorriso_blank_as_needed(xorriso, (flag&1)<<2);
else if(flag&1) else if(flag&1)

View File

@ -1578,8 +1578,9 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" Classify stdio drives by effective access permissions.", " Classify stdio drives by effective access permissions.",
" -data_cache_size number_of_tiles blocks_per_tile", " -data_cache_size number_of_tiles blocks_per_tile",
" Adjust size and granularity of the data read cache.", " Adjust size and granularity of the data read cache.",
" -blank \"fast\"|\"all\"|\"deformat\"|\"deformat_quickest\"", " -blank [\"force:\"]\"fast\"|\"all\"|\"deformat\"|\"deformat_quickest\"",
" Blank medium resp. invalidate ISO image on medium.", " Blank medium resp. invalidate ISO image on medium.",
" Prefix \"force:\" overrides medium evaluation.",
" -close_damaged \"as_needed\"|\"force\"", " -close_damaged \"as_needed\"|\"force\"",
" Close track and session of damaged medium.", " Close track and session of damaged medium.",
" -format \"as_needed\"|\"full\"|\"fast\"|\"by_index_#\"|\"by_size_#\"", " -format \"as_needed\"|\"full\"|\"fast\"|\"by_index_#\"|\"by_size_#\"",

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps .\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1) .\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "Version 1.2.5, Oct 18, 2012" .TH XORRISO 1 "Version 1.2.5, Oct 23, 2012"
.\" Please adjust this date whenever revising the manpage. .\" Please adjust this date whenever revising the manpage.
.\" .\"
.\" Some roff macros, for reference: .\" Some roff macros, for reference:
@ -2187,6 +2187,11 @@ The progress reports issued by some drives while blanking are
quite unrealistic. Do not conclude success or failure from the quite unrealistic. Do not conclude success or failure from the
reported percentages. Blanking was successful if no SORRY event or reported percentages. Blanking was successful if no SORRY event or
worse occured. worse occured.
.br
Mode may be prepended by "force:" in order to override the evaluation
of the medium state by libburn. E.g. "force:fast".
Blanking will nevertheless only succeed if the drive is willing to do it.
.br
.TP .TP
\fB\-format\fR mode \fB\-format\fR mode
Convert unformatted DVD\-RW into overwriteable ones, "de\-ice" DVD+RW, format Convert unformatted DVD\-RW into overwriteable ones, "de\-ice" DVD+RW, format
@ -2665,7 +2670,7 @@ and is one aspect of growisofs option \-dvd\-compat.
.TP .TP
\fB\-write_type\fR "auto"|"tao"|"sao/dao" \fB\-write_type\fR "auto"|"tao"|"sao/dao"
Set the write type for the next burn run. "auto" will select SAO with blank Set the write type for the next burn run. "auto" will select SAO with blank
CD media, DAO with DVD\-R[W] if \-close is "on", and elsewise CD TAO or the CD media, DAO with blank DVD\-R[W] if \-close is "on", and elsewise CD TAO or the
equivalent write type of the particular DVD/BD media. equivalent write type of the particular DVD/BD media.
Choosing TAO or SAO/DAO explicitely might cause the burn run to fail if the Choosing TAO or SAO/DAO explicitely might cause the burn run to fail if the
desired write type is not possible with the given media state. desired write type is not possible with the given media state.

View File

@ -1946,7 +1946,10 @@ File: xorriso.info, Node: Writing, Next: SetWrite, Prev: Filter, Up: Options
quite unrealistic. Do not conclude success or failure from the quite unrealistic. Do not conclude success or failure from the
reported percentages. Blanking was successful if no SORRY event or reported percentages. Blanking was successful if no SORRY event or
worse occured. worse occured.
Mode may be prepended by "force:" in order to override the
evaluation of the medium state by libburn. E.g. "force:fast".
Blanking will nevertheless only succeed if the drive is willing to
do it.
-format mode -format mode
Convert unformatted DVD-RW into overwriteable ones, "de-ice" Convert unformatted DVD-RW into overwriteable ones, "de-ice"
DVD+RW, format newly purchased BD-RE or BD-R, re-format DVD-RAM or DVD+RW, format newly purchased BD-RE or BD-R, re-format DVD-RAM or
@ -2370,8 +2373,8 @@ according to the setting of command -acl.
-write_type "auto"|"tao"|"sao/dao" -write_type "auto"|"tao"|"sao/dao"
Set the write type for the next burn run. "auto" will select SAO Set the write type for the next burn run. "auto" will select SAO
with blank CD media, DAO with DVD-R[W] if -close is "on", and with blank CD media, DAO with blank DVD-R[W] if -close is "on",
elsewise CD TAO or the equivalent write type of the particular and elsewise CD TAO or the equivalent write type of the particular
DVD/BD media. Choosing TAO or SAO/DAO explicitely might cause the DVD/BD media. Choosing TAO or SAO/DAO explicitely might cause the
burn run to fail if the desired write type is not possible with burn run to fail if the desired write type is not possible with
the given media state. the given media state.
@ -4560,7 +4563,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -chown_r sets ownership in ISO image: Manip. (line 47) * -chown_r sets ownership in ISO image: Manip. (line 47)
* -clone copies ISO directory tree: Insert. (line 179) * -clone copies ISO directory tree: Insert. (line 179)
* -close controls media closing: SetWrite. (line 333) * -close controls media closing: SetWrite. (line 333)
* -close_damaged closes damaged track and session: Writing. (line 152) * -close_damaged closes damaged track and session: Writing. (line 155)
* -close_filter_list bans filter registration: Filter. (line 52) * -close_filter_list bans filter registration: Filter. (line 52)
* -commit writes pending ISO image: Writing. (line 29) * -commit writes pending ISO image: Writing. (line 29)
* -commit_eject writes and ejects: Writing. (line 56) * -commit_eject writes and ejects: Writing. (line 56)
@ -4607,7 +4610,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -findx traverses disk tree: Navigate. (line 106) * -findx traverses disk tree: Navigate. (line 106)
* -follow softlinks and mount points: SetInsert. (line 76) * -follow softlinks and mount points: SetInsert. (line 76)
* -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 185) * -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 185)
* -format formats media: Writing. (line 88) * -format formats media: Writing. (line 91)
* -fs sets size of fifo: SetWrite. (line 326) * -fs sets size of fifo: SetWrite. (line 326)
* -getfacl shows ACL in ISO image: Navigate. (line 70) * -getfacl shows ACL in ISO image: Navigate. (line 70)
* -getfacl_r shows ACL in ISO image: Navigate. (line 77) * -getfacl_r shows ACL in ISO image: Navigate. (line 77)
@ -4629,9 +4632,9 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -list_delimiter replaces '--': Scripting. (line 60) * -list_delimiter replaces '--': Scripting. (line 60)
* -list_extras lists compile time extra features: Scripting. * -list_extras lists compile time extra features: Scripting.
(line 26) (line 26)
* -list_formats lists available formats: Writing. (line 126) * -list_formats lists available formats: Writing. (line 129)
* -list_profiles lists supported media: Writing. (line 166) * -list_profiles lists supported media: Writing. (line 169)
* -list_speeds lists available write speeds: Writing. (line 138) * -list_speeds lists available write speeds: Writing. (line 141)
* -lns creates ISO symbolic link: Insert. (line 174) * -lns creates ISO symbolic link: Insert. (line 174)
* -load addresses a particular session as input: Loading. (line 11) * -load addresses a particular session as input: Loading. (line 11)
* -local_charset sets terminal character set: Charset. (line 47) * -local_charset sets terminal character set: Charset. (line 47)
@ -4785,7 +4788,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Create, new ISO image, _definition: Methods. (line 6) * Create, new ISO image, _definition: Methods. (line 6)
* Cylinder alignment, _definition: Bootable. (line 188) * Cylinder alignment, _definition: Bootable. (line 188)
* Cylinder size, _definition: Bootable. (line 177) * Cylinder size, _definition: Bootable. (line 177)
* Damaged track and session, close, -close_damaged: Writing. (line 152) * Damaged track and session, close, -close_damaged: Writing. (line 155)
* Delete, from ISO image, -rm: Manip. (line 21) * Delete, from ISO image, -rm: Manip. (line 21)
* Delete, from ISO image, -rm_r: Manip. (line 28) * Delete, from ISO image, -rm_r: Manip. (line 28)
* Delete, ISO directory, -rmdir: Manip. (line 32) * Delete, ISO directory, -rmdir: Manip. (line 32)
@ -4809,7 +4812,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Drive, for output, -outdev: AqDrive. (line 31) * Drive, for output, -outdev: AqDrive. (line 31)
* Drive, get drive list, -device_links: Inquiry. (line 18) * Drive, get drive list, -device_links: Inquiry. (line 18)
* Drive, get drive list, -devices: Inquiry. (line 7) * Drive, get drive list, -devices: Inquiry. (line 7)
* Drive, list supported media, -list_profiles: Writing. (line 166) * Drive, list supported media, -list_profiles: Writing. (line 169)
* Drive, reduce activity, -calm_drive: Loading. (line 240) * Drive, reduce activity, -calm_drive: Loading. (line 240)
* Drive, report SCSI commands, -scsi_log: Scripting. (line 147) * Drive, report SCSI commands, -scsi_log: Scripting. (line 147)
* Drive, write and eject, -commit_eject: Writing. (line 56) * Drive, write and eject, -commit_eject: Writing. (line 56)
@ -4889,9 +4892,9 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* MBR, set, -boot_image system_area=: Bootable. (line 121) * MBR, set, -boot_image system_area=: Bootable. (line 121)
* MD5, control handling, -md5: Loading. (line 156) * MD5, control handling, -md5: Loading. (line 156)
* Media, erase, -blank: Writing. (line 61) * Media, erase, -blank: Writing. (line 61)
* Media, format, -format: Writing. (line 88) * Media, format, -format: Writing. (line 91)
* Media, list formats, -list_formats: Writing. (line 126) * Media, list formats, -list_formats: Writing. (line 129)
* Media, list write speeds, -list_speeds: Writing. (line 138) * Media, list write speeds, -list_speeds: Writing. (line 141)
* MIPS boot file, activation: Bootable. (line 199) * MIPS boot file, activation: Bootable. (line 199)
* mkisofs, Emulation: Emulation. (line 16) * mkisofs, Emulation: Emulation. (line 16)
* Modifying, _definition: Methods. (line 27) * Modifying, _definition: Methods. (line 27)
@ -5046,41 +5049,41 @@ Node: Manip64854
Node: CmdFind73677 Node: CmdFind73677
Node: Filter88381 Node: Filter88381
Node: Writing92936 Node: Writing92936
Node: SetWrite101900 Node: SetWrite102114
Node: Bootable120533 Node: Bootable120753
Node: Jigdo135926 Node: Jigdo136146
Node: Charset140172 Node: Charset140392
Node: Exception142933 Node: Exception143153
Node: DialogCtl149052 Node: DialogCtl149272
Node: Inquiry151649 Node: Inquiry151869
Node: Navigate156515 Node: Navigate156735
Node: Verify164812 Node: Verify165032
Node: Restore173843 Node: Restore174063
Node: Emulation180752 Node: Emulation180972
Node: Scripting190563 Node: Scripting190783
Node: Frontend197723 Node: Frontend197943
Node: Examples199023 Node: Examples199243
Node: ExDevices200200 Node: ExDevices200420
Node: ExCreate200859 Node: ExCreate201079
Node: ExDialog202144 Node: ExDialog202364
Node: ExGrowing203409 Node: ExGrowing203629
Node: ExModifying204214 Node: ExModifying204434
Node: ExBootable204718 Node: ExBootable204938
Node: ExCharset205270 Node: ExCharset205490
Node: ExPseudo206091 Node: ExPseudo206311
Node: ExCdrecord206989 Node: ExCdrecord207209
Node: ExMkisofs207306 Node: ExMkisofs207526
Node: ExGrowisofs208646 Node: ExGrowisofs208866
Node: ExException209781 Node: ExException210001
Node: ExTime210235 Node: ExTime210455
Node: ExIncBackup210694 Node: ExIncBackup210914
Node: ExRestore214686 Node: ExRestore214906
Node: ExRecovery215646 Node: ExRecovery215866
Node: Files216216 Node: Files216436
Node: Seealso217515 Node: Seealso217735
Node: Bugreport218238 Node: Bugreport218458
Node: Legal218819 Node: Legal219039
Node: CommandIdx219830 Node: CommandIdx220050
Node: ConceptIdx235775 Node: ConceptIdx235995
 
End Tag Table End Tag Table

View File

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps @c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1) @c man .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRISO 1 "Version 1.2.5, Oct 18, 2012" @c man .TH XORRISO 1 "Version 1.2.5, Oct 23, 2012"
@c man .\" Please adjust this date whenever revising the manpage. @c man .\" Please adjust this date whenever revising the manpage.
@c man .\" @c man .\"
@c man .\" Some roff macros, for reference: @c man .\" Some roff macros, for reference:
@ -2615,6 +2615,11 @@ The progress reports issued by some drives while blanking are
quite unrealistic. Do not conclude success or failure from the quite unrealistic. Do not conclude success or failure from the
reported percentages. Blanking was successful if no SORRY event or reported percentages. Blanking was successful if no SORRY event or
worse occured. worse occured.
@*
Mode may be prepended by "force:" in order to override the evaluation
of the medium state by libburn. E.g. "force:fast".
Blanking will nevertheless only succeed if the drive is willing to do it.
@*
@c man .TP @c man .TP
@item -format mode @item -format mode
@kindex -format formats media @kindex -format formats media
@ -3164,7 +3169,7 @@ and is one aspect of growisofs option -dvd-compat.
@kindex -write_type chooses TAO or SAO/DAO @kindex -write_type chooses TAO or SAO/DAO
@cindex Write, TAO or SAO/DAO, -write_type @cindex Write, TAO or SAO/DAO, -write_type
Set the write type for the next burn run. "auto" will select SAO with blank Set the write type for the next burn run. "auto" will select SAO with blank
CD media, DAO with DVD-R[W] if -close is "on", and elsewise CD TAO or the CD media, DAO with blank DVD-R[W] if -close is "on", and elsewise CD TAO or the
equivalent write type of the particular DVD/BD media. equivalent write type of the particular DVD/BD media.
Choosing TAO or SAO/DAO explicitely might cause the burn run to fail if the Choosing TAO or SAO/DAO explicitely might cause the burn run to fail if the
desired write type is not possible with the given media state. desired write type is not possible with the given media state.

View File

@ -1 +1 @@
#define Xorriso_timestamP "2012.10.19.081758" #define Xorriso_timestamP "2012.10.24.095235"

View File

@ -605,5 +605,7 @@ int Xorriso_hfsplus_file_creator_type(struct XorrisO *xorriso, char *path,
int Xorriso_hfsplus_bless(struct XorrisO *xorriso, char *path, int Xorriso_hfsplus_bless(struct XorrisO *xorriso, char *path,
void *in_node, char *blessing, int flag); void *in_node, char *blessing, int flag);
int Xorriso_pretend_full_disc(struct XorrisO *xorriso, int flag);
#endif /* Xorrisoburn_includeD */ #endif /* Xorrisoburn_includeD */