New -format mode "without_spare" (for BD-RE)

This commit is contained in:
Thomas Schmitt 2013-06-27 12:56:20 +00:00
parent 2626dc249e
commit e3cc065c5f
6 changed files with 76 additions and 53 deletions

View File

@ -615,6 +615,8 @@ unusable_size:;
if(size <= 0) if(size <= 0)
goto unusable_size; goto unusable_size;
mode_flag= 3; mode_flag= 3;
} else if(strcmp(mode, "without_spare") == 0 && (flag & 1)) {
mode_flag= 32;
} else { } else {
sprintf(xorriso->info_text, sprintf(xorriso->info_text,
"%s: Unknown %s mode '%s'", "%s: Unknown %s mode '%s'",
@ -630,7 +632,7 @@ unusable_size:;
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)
ret= Xorriso_format_media(xorriso, size, mode_flag & 0xff83); ret= Xorriso_format_media(xorriso, size, mode_flag & 0xffa7);
else else
ret= Xorriso_blank_media(xorriso, mode_flag&3); ret= Xorriso_blank_media(xorriso, mode_flag&3);
if(ret==0) if(ret==0)

View File

@ -1537,6 +1537,7 @@ int Xorriso_blank_media(struct XorrisO *xorriso, int flag)
/* @param flag bit0= try to achieve faster formatting /* @param flag bit0= try to achieve faster formatting
bit1= use parameter size (else use default size) bit1= use parameter size (else use default size)
bit2= do not re-aquire drive bit2= do not re-aquire drive
bit5= try to disable Defect Management
bit7= by_index mode: bit7= by_index mode:
bit8 to bit15 contain the index of the format to use. bit8 to bit15 contain the index of the format to use.
@return 0=failure, did not touch medium , -1=failure, altered medium @return 0=failure, did not touch medium , -1=failure, altered medium
@ -1569,6 +1570,9 @@ int Xorriso_format_media(struct XorrisO *xorriso, off_t in_size, int flag)
} else { } else {
mode_flag= 4; /* format to full size */ mode_flag= 4; /* format to full size */
} }
if(flag & 32)
mode_flag|= 32; /* try to disable Defect Management */
burn_disc_get_profile(drive, &current_profile, current_profile_name); burn_disc_get_profile(drive, &current_profile, current_profile_name);
if(flag&128) { /* by_index */ if(flag&128) { /* by_index */
@ -1627,7 +1631,7 @@ int Xorriso_format_media(struct XorrisO *xorriso, off_t in_size, int flag)
mode_flag|= (1<<6); mode_flag|= (1<<6);
} else if(current_profile == 0x43) { /* BD-RE */ } else if(current_profile == 0x43) { /* BD-RE */
if(!(flag & 2)) if(!(flag & (2 | 32)))
mode_flag= 6; /* format to default payload size */ mode_flag= 6; /* format to default payload size */
if(flag&1) if(flag&1)
mode_flag|= (1<<6); mode_flag|= (1<<6);

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.3.1, Jun 02, 2013" .TH XORRISO 1 "Version 1.3.1, Jun 27, 2013"
.\" 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:
@ -2228,7 +2228,8 @@ newly purchased BD\-RE or BD\-R, re\-format DVD\-RAM or BD\-RE.
.br .br
Defined modes are: Defined modes are:
.br .br
as_needed, full, fast, by_index_<num>, fast_by_index_<num> as_needed, full, fast, by_index_<num>, fast_by_index_<num>,
by_size_<num>, fast_by_size_<num>, without_spare
.br .br
"as_needed" formats yet unformatted DVD\-RW, DVD\-RAM, BD\-RE, or blank "as_needed" formats yet unformatted DVD\-RW, DVD\-RAM, BD\-RE, or blank
unformatted BD\-R. Other media are left untouched. unformatted BD\-R. Other media are left untouched.
@ -2246,9 +2247,14 @@ mode word. E.g: "by_index_3".
"by_size_" selects a format out of the descriptor list which provides at "by_size_" selects a format out of the descriptor list which provides at
least the given size. That size is to be appended to the mode word. least the given size. That size is to be appended to the mode word.
E.g: "by_size_4100m". This applies to media with Defect Management. E.g: "by_size_4100m". This applies to media with Defect Management.
On BD\-RE it will not choose format 0x31, which offers no Defect Management.
.br .br
"fast_by_size_" does the same as "by_size_" but tries to be quicker. "fast_by_size_" does the same as "by_size_" but tries to be quicker.
.br .br
"without_spare" selects the largest format out of the descriptor list
which provides no Spare Area for Defect Management. On BD\-RE this
will be format 0x31.
.br
The formatting action has no effect on media if \-dummy is activated. The formatting action has no effect on media if \-dummy is activated.
.br .br
Formatting is normally needed only once during the lifetime of a medium, Formatting is normally needed only once during the lifetime of a medium,

View File

@ -1981,7 +1981,8 @@ File: xorriso.info, Node: Writing, Next: SetWrite, Prev: Filter, Up: Command
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
BD-RE. BD-RE.
Defined modes are: Defined modes are:
as_needed, full, fast, by_index_<num>, fast_by_index_<num> as_needed, full, fast, by_index_<num>, fast_by_index_<num>,
by_size_<num>, fast_by_size_<num>, without_spare
"as_needed" formats yet unformatted DVD-RW, DVD-RAM, BD-RE, or "as_needed" formats yet unformatted DVD-RW, DVD-RAM, BD-RE, or
blank unformatted BD-R. Other media are left untouched. blank unformatted BD-R. Other media are left untouched.
"full" (re-)formats DVD-RW, DVD+RW, DVD-RAM, BD-RE, or blank "full" (re-)formats DVD-RW, DVD+RW, DVD-RAM, BD-RE, or blank
@ -1995,9 +1996,13 @@ File: xorriso.info, Node: Writing, Next: SetWrite, Prev: Filter, Up: Command
"by_size_" selects a format out of the descriptor list which "by_size_" selects a format out of the descriptor list which
provides at least the given size. That size is to be appended to provides at least the given size. That size is to be appended to
the mode word. E.g: "by_size_4100m". This applies to media with the mode word. E.g: "by_size_4100m". This applies to media with
Defect Management. Defect Management. On BD-RE it will not choose format 0x31, which
offers no Defect Management.
"fast_by_size_" does the same as "by_size_" but tries to be "fast_by_size_" does the same as "by_size_" but tries to be
quicker. quicker.
"without_spare" selects the largest format out of the descriptor
list which provides no Spare Area for Defect Management. On BD-RE
this will be format 0x31.
The formatting action has no effect on media if -dummy is The formatting action has no effect on media if -dummy is
activated. activated.
Formatting is normally needed only once during the lifetime of a Formatting is normally needed only once during the lifetime of a
@ -4766,7 +4771,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -chown_r sets ownership in ISO image: Manip. (line 54) * -chown_r sets ownership in ISO image: Manip. (line 54)
* -clone copies ISO directory tree: Insert. (line 180) * -clone copies ISO directory tree: Insert. (line 180)
* -close controls media closing: SetWrite. (line 335) * -close controls media closing: SetWrite. (line 335)
* -close_damaged closes damaged track and session: Writing. (line 158) * -close_damaged closes damaged track and session: Writing. (line 163)
* -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)
@ -4837,9 +4842,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 129) * -list_formats lists available formats: Writing. (line 134)
* -list_profiles lists supported media: Writing. (line 172) * -list_profiles lists supported media: Writing. (line 177)
* -list_speeds lists available write speeds: Writing. (line 141) * -list_speeds lists available write speeds: Writing. (line 146)
* -lns creates ISO symbolic link: Insert. (line 175) * -lns creates ISO symbolic link: Insert. (line 175)
* -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)
@ -4996,7 +5001,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 198) * Cylinder alignment, _definition: Bootable. (line 198)
* Cylinder size, _definition: Bootable. (line 187) * Cylinder size, _definition: Bootable. (line 187)
* Damaged track and session, close, -close_damaged: Writing. (line 158) * Damaged track and session, close, -close_damaged: Writing. (line 163)
* 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)
@ -5020,7 +5025,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 172) * Drive, list supported media, -list_profiles: Writing. (line 177)
* Drive, reduce activity, -calm_drive: Loading. (line 243) * Drive, reduce activity, -calm_drive: Loading. (line 243)
* 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)
@ -5103,8 +5108,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* MD5, control handling, -md5: Loading. (line 159) * MD5, control handling, -md5: Loading. (line 159)
* Media, erase, -blank: Writing. (line 61) * Media, erase, -blank: Writing. (line 61)
* Media, format, -format: Writing. (line 91) * Media, format, -format: Writing. (line 91)
* Media, list formats, -list_formats: Writing. (line 129) * Media, list formats, -list_formats: Writing. (line 134)
* Media, list write speeds, -list_speeds: Writing. (line 141) * Media, list write speeds, -list_speeds: Writing. (line 146)
* MIPS boot file, activation: Bootable. (line 209) * MIPS boot file, activation: Bootable. (line 209)
* mkisofs, Emulation: Emulation. (line 16) * mkisofs, Emulation: Emulation. (line 16)
* Modifying, _definition: Methods. (line 27) * Modifying, _definition: Methods. (line 27)
@ -5261,41 +5266,41 @@ Node: Manip65281
Node: CmdFind74790 Node: CmdFind74790
Node: Filter89786 Node: Filter89786
Node: Writing94342 Node: Writing94342
Node: SetWrite103730 Node: SetWrite104039
Node: Bootable122481 Node: Bootable122790
Node: Jigdo138871 Node: Jigdo139180
Node: Charset143118 Node: Charset143427
Node: Exception145880 Node: Exception146189
Node: DialogCtl152000 Node: DialogCtl152309
Node: Inquiry154598 Node: Inquiry154907
Node: Navigate160915 Node: Navigate161224
Node: Verify169213 Node: Verify169522
Node: Restore178245 Node: Restore178554
Node: Emulation185332 Node: Emulation185641
Node: Scripting195634 Node: Scripting195943
Node: Frontend202791 Node: Frontend203100
Node: Examples210866 Node: Examples211175
Node: ExDevices212044 Node: ExDevices212353
Node: ExCreate212703 Node: ExCreate213012
Node: ExDialog213988 Node: ExDialog214297
Node: ExGrowing215253 Node: ExGrowing215562
Node: ExModifying216058 Node: ExModifying216367
Node: ExBootable216562 Node: ExBootable216871
Node: ExCharset217114 Node: ExCharset217423
Node: ExPseudo217935 Node: ExPseudo218244
Node: ExCdrecord218833 Node: ExCdrecord219142
Node: ExMkisofs219150 Node: ExMkisofs219459
Node: ExGrowisofs220490 Node: ExGrowisofs220799
Node: ExException221625 Node: ExException221934
Node: ExTime222079 Node: ExTime222388
Node: ExIncBackup222538 Node: ExIncBackup222847
Node: ExRestore226518 Node: ExRestore226827
Node: ExRecovery227451 Node: ExRecovery227760
Node: Files228021 Node: Files228330
Node: Seealso229320 Node: Seealso229629
Node: Bugreport230043 Node: Bugreport230352
Node: Legal230624 Node: Legal230933
Node: CommandIdx231635 Node: CommandIdx231944
Node: ConceptIdx247937 Node: ConceptIdx248246
 
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.3.1, Jun 02, 2013" @c man .TH XORRISO 1 "Version 1.3.1, Jun 27, 2013"
@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:
@ -2661,7 +2661,8 @@ newly purchased BD-RE or BD-R, re-format DVD-RAM or BD-RE.
@* @*
Defined modes are: Defined modes are:
@* @*
as_needed, full, fast, by_index_<num>, fast_by_index_<num> as_needed, full, fast, by_index_<num>, fast_by_index_<num>,
by_size_<num>, fast_by_size_<num>, without_spare
@* @*
"as_needed" formats yet unformatted DVD-RW, DVD-RAM, BD-RE, or blank "as_needed" formats yet unformatted DVD-RW, DVD-RAM, BD-RE, or blank
unformatted BD-R. Other media are left untouched. unformatted BD-R. Other media are left untouched.
@ -2679,9 +2680,14 @@ mode word. E.g: "by_index_3".
"by_size_" selects a format out of the descriptor list which provides at "by_size_" selects a format out of the descriptor list which provides at
least the given size. That size is to be appended to the mode word. least the given size. That size is to be appended to the mode word.
E.g: "by_size_4100m". This applies to media with Defect Management. E.g: "by_size_4100m". This applies to media with Defect Management.
On BD-RE it will not choose format 0x31, which offers no Defect Management.
@* @*
"fast_by_size_" does the same as "by_size_" but tries to be quicker. "fast_by_size_" does the same as "by_size_" but tries to be quicker.
@* @*
"without_spare" selects the largest format out of the descriptor list
which provides no Spare Area for Defect Management. On BD-RE this
will be format 0x31.
@*
The formatting action has no effect on media if -dummy is activated. The formatting action has no effect on media if -dummy is activated.
@* @*
Formatting is normally needed only once during the lifetime of a medium, Formatting is normally needed only once during the lifetime of a medium,

View File

@ -1 +1 @@
#define Xorriso_timestamP "2013.06.02.112720" #define Xorriso_timestamP "2013.06.27.125407"