From 9117b81e5f1721701f623fe251b2f1a1eaa490d6 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sun, 30 Aug 2015 18:48:11 +0000 Subject: [PATCH] Changed defaults of new command -modesty_on_drive to suit concurrent SG_IO --- xorriso/base_obj.c | 8 +-- xorriso/text_io.c | 8 +-- xorriso/xorrecord.texi | 15 +++-- xorriso/xorriso.1 | 15 +++-- xorriso/xorriso.info | 109 +++++++++++++++++++----------------- xorriso/xorriso.texi | 15 +++-- xorriso/xorriso_timestamp.h | 2 +- 7 files changed, 96 insertions(+), 76 deletions(-) diff --git a/xorriso/base_obj.c b/xorriso/base_obj.c index 199b487d..48a2a155 100644 --- a/xorriso/base_obj.c +++ b/xorriso/base_obj.c @@ -244,10 +244,10 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag) m->do_stream_recording= 0; m->dvd_obs= 0; m->modesty_on_drive= 0; - m->min_buffer_usec= -1; - m->max_buffer_usec= -1; - m->buffer_timeout_sec= -1; - m->min_buffer_percent= 65; + m->min_buffer_usec= 5000; + m->max_buffer_usec= 25000; + m->buffer_timeout_sec= 120; + m->min_buffer_percent= 90; m->max_buffer_percent= 95; m->stdio_sync= 0; m->stdio_sync_is_default= 1; diff --git a/xorriso/text_io.c b/xorriso/text_io.c index 5d3ac688..10a47696 100644 --- a/xorriso/text_io.c +++ b/xorriso/text_io.c @@ -3350,10 +3350,10 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag) Xorriso_status_result(xorriso,filter,fp,flag&2); is_default= (xorriso->modesty_on_drive == 0 && - xorriso->min_buffer_usec == -1 && - xorriso->max_buffer_usec == -1 && - xorriso->buffer_timeout_sec == -1 && - xorriso->min_buffer_percent == 65 && + xorriso->min_buffer_usec == 5000 && + xorriso->max_buffer_usec == 25000 && + xorriso->buffer_timeout_sec == 120 && + xorriso->min_buffer_percent == 90 && xorriso->max_buffer_percent == 95); if(xorriso->modesty_on_drive == 0) strcpy(mode, "off"); diff --git a/xorriso/xorrecord.texi b/xorriso/xorrecord.texi index 2ca86e53..517bf1e3 100644 --- a/xorriso/xorrecord.texi +++ b/xorriso/xorrecord.texi @@ -50,7 +50,7 @@ @c man .\" First parameter, NAME, should be all caps @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 .TH XORRECORD 1 "Version 1.4.1, Jul 30, 2015" +@c man .TH XORRECORD 1 "Version 1.4.1, Aug 29, 2015" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -823,15 +823,20 @@ E.g.: modesty_on_drive=75 @* The optimal values depend on the buffer behavior of the drive. @* -There are also timing parameters "timeout_sec=", "min_usec=", "max_usec=". -Read the description of burn_drive_set_buffer_waiting() in libburn.h, -before setting them to non-default values. +Parameter "timeout_sec=" defines after which time of unsuccessful waiting +the modesty shall be disabled because it does not work. +@* +Parameter "min_usec=" defines the initial sleeping period in microseconds. +If the drive buffer appears to be too full for sending more data, the +program will wait the given time and inquire the buffer fill state again. +If repeated inquiry shows not enough free space, the sleep time will +slowly be increased to what parameter "max_usec=" defines. @* Parameters, which are not mentioned with a modesty_on_drive= option, stay unchanged. Default is: @* - modesty_on_drive=off:min_percent=65:max_percent=95 + modesty_on_drive=off:min_percent=90:max_percent=95:timeout_sec=120:min_usec=5000:max_usec=25000 @c man .TP @item write_start_address=value @kindex write_start_address= set block address for write start diff --git a/xorriso/xorriso.1 b/xorriso/xorriso.1 index c54a1a72..0634217e 100644 --- a/xorriso/xorriso.1 +++ b/xorriso/xorriso.1 @@ -9,7 +9,7 @@ .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) -.TH XORRISO 1 "Version 1.4.1, Jul 30, 2015" +.TH XORRISO 1 "Version 1.4.1, Aug 29, 2015" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -2882,15 +2882,20 @@ E.g.: \-modesty_on_drive 75 .br The optimal values depend on the buffer behavior of the drive. .br -There are also timing parameters "timeout_sec=", "min_usec=", "max_usec=". -Read the description of burn_drive_set_buffer_waiting() in libburn.h, -before setting them to non\-default values. +Parameter "timeout_sec=" defines after which time of unsuccessful waiting +the modesty shall be disabled because it does not work. +.br +Parameter "min_usec=" defines the initial sleeping period in microseconds. +If the drive buffer appears to be too full for sending more data, the +program will wait the given time and inquire the buffer fill state again. +If repeated inquiry shows not enough free space, the sleep time will +slowly be increased to what parameter "max_usec=" defines. .br Parameters, which are not mentioned with a \-modesty_on_drive command, stay unchanged. Default is: .br - \-modesty_on_drive off:min_percent=65:max_percent=95 + \-modesty_on_drive off:min_percent=90:max_percent=95:timeout_sec=120:min_usec=5000:max_usec=25000 .TP \fB\-stdio_sync\fR "on"|"off"|"end"|number Set the number of bytes after which to force output to stdio: pseudo drives. diff --git a/xorriso/xorriso.info b/xorriso/xorriso.info index e8b56237..ab5109bd 100644 --- a/xorriso/xorriso.info +++ b/xorriso/xorriso.info @@ -2441,13 +2441,18 @@ according to the setting of command -acl. are interpreted as "on:min_percent=". E.g.: -modesty_on_drive 75 The optimal values depend on the buffer behavior of the drive. - There are also timing parameters "timeout_sec=", "min_usec=", - "max_usec=". Read the description of - burn_drive_set_buffer_waiting() in libburn.h, before setting them - to non-default values. + Parameter "timeout_sec=" defines after which time of unsuccessful + waiting the modesty shall be disabled because it does not work. + Parameter "min_usec=" defines the initial sleeping period in + microseconds. If the drive buffer appears to be too full for + sending more data, the program will wait the given time and inquire + the buffer fill state again. If repeated inquiry shows not enough + free space, the sleep time will slowly be increased to what + parameter "max_usec=" defines. Parameters, which are not mentioned with a -modesty_on_drive command, stay unchanged. Default is: - -modesty_on_drive off:min_percent=65:max_percent=95 + -modesty_on_drive + off:min_percent=90:max_percent=95:timeout_sec=120:min_usec=5000:max_usec=25000 -stdio_sync "on"|"off"|"end"|number Set the number of bytes after which to force output to stdio: pseudo drives. This forcing keeps the memory from being clogged @@ -4998,7 +5003,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -chown sets ownership in ISO image: Manip. (line 43) * -chown_r sets ownership in ISO image: Manip. (line 47) * -clone copies ISO directory tree: Insert. (line 164) -* -close controls media closing: SetWrite. (line 366) +* -close controls media closing: SetWrite. (line 371) * -close_damaged closes damaged track and session: Writing. (line 164) * -close_filter_list bans filter registration: Filter. (line 50) * -commit writes pending ISO image: Writing. (line 27) @@ -5027,7 +5032,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top (line 57) * -drive_class controls drive accessability: Loading. (line 73) * -du show directory size in ISO image: Navigate. (line 75) -* -dummy controls write simulation: SetWrite. (line 358) +* -dummy controls write simulation: SetWrite. (line 363) * -dus show directory size in ISO image: Navigate. (line 78) * -dusx show directory size on disk: Navigate. (line 85) * -dux show directory size on disk: Navigate. (line 81) @@ -5050,7 +5055,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -follow softlinks and mount points: SetInsert. (line 69) * -format formats media: Writing. (line 87) * -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 201) -* -fs sets size of fifo: SetWrite. (line 361) +* -fs sets size of fifo: SetWrite. (line 366) * -getfacl shows ACL in ISO image: Navigate. (line 60) * -getfacl_r shows ACL in ISO image: Navigate. (line 66) * -getfattr shows xattr in ISO image: Navigate. (line 69) @@ -5112,7 +5117,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -out_charset sets output character set: SetWrite. (line 263) * -overwrite enables overwriting in ISO: SetInsert. (line 123) * -pacifier controls pacifier text form: Emulation. (line 166) -* -padding sets amount or mode of image padding: SetWrite. (line 389) +* -padding sets amount or mode of image padding: SetWrite. (line 394) * -page set terminal geometry: DialogCtl. (line 18) * -paste_in copies file into disk file: Restore. (line 115) * -pathspecs sets meaning of = with -add: SetInsert. (line 115) @@ -5172,7 +5177,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -split_size enables large file splitting: SetInsert. (line 135) * -status shows current settings: Scripting. (line 44) * -status_history_max curbs -status history: Scripting. (line 52) -* -stdio_sync controls stdio buffer: SetWrite. (line 351) +* -stdio_sync controls stdio buffer: SetWrite. (line 356) * -stream_recording controls defect management: SetWrite. (line 303) * -system_id sets system id: SetWrite. (line 199) * -tell_media_space reports free space: Inquiry. (line 97) @@ -5188,7 +5193,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -volid sets volume id: SetWrite. (line 162) * -volset_id sets volume set id: SetWrite. (line 182) * -volume_date sets volume timestamp: SetWrite. (line 205) -* -write_type chooses TAO or SAO/DAO: SetWrite. (line 382) +* -write_type chooses TAO or SAO/DAO: SetWrite. (line 387) * -x enables automatic execution order of arguments: ArgSort. (line 16) * -xattr controls handling of xattr (EA): Loading. (line 169) * -zisofs controls zisofs production: SetWrite. (line 274) @@ -5474,24 +5479,24 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Verify, preset -check_media, -check_media_defaults: Verify. (line 40) * Write, block size, -dvd_obs: SetWrite. (line 314) * Write, bootability, -boot_image: Bootable. (line 65) -* Write, buffer syncing, -stdio_sync: SetWrite. (line 351) -* Write, close media, -close: SetWrite. (line 366) +* Write, buffer syncing, -stdio_sync: SetWrite. (line 356) +* Write, close media, -close: SetWrite. (line 371) * Write, compliance to specs, -compliance: SetWrite. (line 56) * Write, defect management, -stream_recording: SetWrite. (line 303) * Write, disable Rock Ridge, -rockridge: SetWrite. (line 51) * Write, drive buffer, -modesty_on_drive: SetWrite. (line 320) * Write, enable HFS+, -hfsplus: SetWrite. (line 14) * Write, enable Joliet, -joliet: SetWrite. (line 10) -* Write, fifo size, -fs: SetWrite. (line 361) +* Write, fifo size, -fs: SetWrite. (line 366) * Write, free space, -tell_media_space: Inquiry. (line 97) * Write, log problematic disk files, -errfile_log: Scripting. (line 116) * Write, log written sessions, -session_log: Scripting. (line 134) -* Write, padding image, -padding: SetWrite. (line 389) +* Write, padding image, -padding: SetWrite. (line 394) * Write, pending ISO image, -commit: Writing. (line 27) * Write, predict image size, -print_size: Inquiry. (line 85) * Write, set speed, -speed: SetWrite. (line 285) -* Write, simulation, -dummy: SetWrite. (line 358) -* Write, TAO or SAO/DAO, -write_type: SetWrite. (line 382) +* Write, simulation, -dummy: SetWrite. (line 363) +* Write, TAO or SAO/DAO, -write_type: SetWrite. (line 387) * xattr, control handling, -xattr: Loading. (line 169) * xattr, set in ISO image, -setfattr: Manip. (line 103) * xattr, set in ISO image, -setfattr_list: Manip. (line 117) @@ -5523,40 +5528,40 @@ Node: CmdFind77701 Node: Filter95461 Node: Writing100084 Node: SetWrite110239 -Node: Bootable132824 -Node: Jigdo154758 -Node: Charset159017 -Node: Exception162344 -Node: DialogCtl168473 -Node: Inquiry171075 -Node: Navigate179520 -Node: Verify187815 -Node: Restore197677 -Node: Emulation206298 -Node: Scripting216708 -Node: Frontend224489 -Node: Examples234124 -Node: ExDevices235302 -Node: ExCreate235963 -Node: ExDialog237263 -Node: ExGrowing238534 -Node: ExModifying239343 -Node: ExBootable239853 -Node: ExCharset240408 -Node: ExPseudo241304 -Node: ExCdrecord242227 -Node: ExMkisofs242547 -Node: ExGrowisofs243904 -Node: ExException245058 -Node: ExTime245516 -Node: ExIncBackup245974 -Node: ExRestore250000 -Node: ExRecovery250946 -Node: Files251518 -Node: Seealso252835 -Node: Bugreport253550 -Node: Legal254141 -Node: CommandIdx255153 -Node: ConceptIdx272049 +Node: Bootable133184 +Node: Jigdo155118 +Node: Charset159377 +Node: Exception162704 +Node: DialogCtl168833 +Node: Inquiry171435 +Node: Navigate179880 +Node: Verify188175 +Node: Restore198037 +Node: Emulation206658 +Node: Scripting217068 +Node: Frontend224849 +Node: Examples234484 +Node: ExDevices235662 +Node: ExCreate236323 +Node: ExDialog237623 +Node: ExGrowing238894 +Node: ExModifying239703 +Node: ExBootable240213 +Node: ExCharset240768 +Node: ExPseudo241664 +Node: ExCdrecord242587 +Node: ExMkisofs242907 +Node: ExGrowisofs244264 +Node: ExException245418 +Node: ExTime245876 +Node: ExIncBackup246334 +Node: ExRestore250360 +Node: ExRecovery251306 +Node: Files251878 +Node: Seealso253195 +Node: Bugreport253910 +Node: Legal254501 +Node: CommandIdx255513 +Node: ConceptIdx272409  End Tag Table diff --git a/xorriso/xorriso.texi b/xorriso/xorriso.texi index e9f27c21..84d241c7 100644 --- a/xorriso/xorriso.texi +++ b/xorriso/xorriso.texi @@ -50,7 +50,7 @@ @c man .\" First parameter, NAME, should be all caps @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 .TH XORRISO 1 "Version 1.4.1, Jul 30, 2015" +@c man .TH XORRISO 1 "Version 1.4.1, Aug 29, 2015" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -3384,15 +3384,20 @@ E.g.: -modesty_on_drive 75 @* The optimal values depend on the buffer behavior of the drive. @* -There are also timing parameters "timeout_sec=", "min_usec=", "max_usec=". -Read the description of burn_drive_set_buffer_waiting() in libburn.h, -before setting them to non-default values. +Parameter "timeout_sec=" defines after which time of unsuccessful waiting +the modesty shall be disabled because it does not work. +@* +Parameter "min_usec=" defines the initial sleeping period in microseconds. +If the drive buffer appears to be too full for sending more data, the +program will wait the given time and inquire the buffer fill state again. +If repeated inquiry shows not enough free space, the sleep time will +slowly be increased to what parameter "max_usec=" defines. @* Parameters, which are not mentioned with a -modesty_on_drive command, stay unchanged. Default is: @* - -modesty_on_drive off:min_percent=65:max_percent=95 + -modesty_on_drive off:min_percent=90:max_percent=95:timeout_sec=120:min_usec=5000:max_usec=25000 @c man .TP @item -stdio_sync "on"|"off"|"end"|number @kindex -stdio_sync controls stdio buffer diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 4af16a4c..267df26f 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2015.08.19.122832" +#define Xorriso_timestamP "2015.08.30.184740"