New -lfa_flags mode "restore_single"
This commit is contained in:
parent
66a7440b0c
commit
b2ae46a4cf
@ -147,8 +147,8 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
|
|||||||
m->do_iso1999= 0;
|
m->do_iso1999= 0;
|
||||||
m->ecma119_map= 1;
|
m->ecma119_map= 1;
|
||||||
m->joliet_map= 1;
|
m->joliet_map= 1;
|
||||||
/* off:read:restore:restore_su_auto:restore_only_known */
|
/* off:read:restore:restore_su_auto:restore_only_known:restore_single */
|
||||||
m->lfa_flags_default= 2 | (11 << 11);
|
m->lfa_flags_default= 2 | (11 << 11) | (1 << 16);
|
||||||
if(geteuid() != 0) {
|
if(geteuid() != 0) {
|
||||||
/* do not restore known superuser lfa_flags */
|
/* do not restore known superuser lfa_flags */
|
||||||
m->lfa_flags_default|= (1 << 13);
|
m->lfa_flags_default|= (1 << 13);
|
||||||
|
@ -217,7 +217,7 @@ int Xorriso_option_lfa_flags(struct XorrisO *xorriso, char *mode, int flag)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if(l >= 14 && strncmp(cpt, "restore_error=", 14) == 0) {
|
} else if(l >= 14 && strncmp(cpt, "restore_error=", 14) == 0) {
|
||||||
Xorriso__to_upper(cpt + 14, severity, (int) (int) sizeof(severity), 0);
|
Xorriso__to_upper(cpt + 14, severity, (int) sizeof(severity), 0);
|
||||||
if(strcmp(severity, "SILENT") != 0) {
|
if(strcmp(severity, "SILENT") != 0) {
|
||||||
ret= Xorriso__text_to_sev(severity, &sev, 0);
|
ret= Xorriso__text_to_sev(severity, &sev, 0);
|
||||||
if(ret<=0) {
|
if(ret<=0) {
|
||||||
@ -239,6 +239,12 @@ int Xorriso_option_lfa_flags(struct XorrisO *xorriso, char *mode, int flag)
|
|||||||
Xorriso__to_lower(severity, xorriso->lfa_restore_err_sev,
|
Xorriso__to_lower(severity, xorriso->lfa_restore_err_sev,
|
||||||
sizeof(xorriso->lfa_restore_err_sev), 0);
|
sizeof(xorriso->lfa_restore_err_sev), 0);
|
||||||
|
|
||||||
|
} else if(l >= 14 && strncmp(cpt, "restore_single", 14) == 0) {
|
||||||
|
xorriso->lfa_flags_setting|= 1 << 16;
|
||||||
|
|
||||||
|
} else if(l >= 14 && strncmp(cpt, "no_restore_single", 14) == 0) {
|
||||||
|
xorriso->lfa_flags_setting&= ~(1 << 16);
|
||||||
|
|
||||||
} else if(l == 7 && strncmp(cpt, "default", l) == 0) {
|
} else if(l == 7 && strncmp(cpt, "default", l) == 0) {
|
||||||
xorriso->lfa_flags_setting= xorriso->lfa_flags_default;
|
xorriso->lfa_flags_setting= xorriso->lfa_flags_default;
|
||||||
xorriso->lfa_restore_mask= ~((uint64_t) 0);
|
xorriso->lfa_restore_mask= ~((uint64_t) 0);
|
||||||
@ -258,7 +264,7 @@ int Xorriso_option_lfa_flags(struct XorrisO *xorriso, char *mode, int flag)
|
|||||||
}
|
}
|
||||||
xorriso->do_aaip&= ~(31 << 11);
|
xorriso->do_aaip&= ~(31 << 11);
|
||||||
if(xorriso->lfa_flags_setting & 1)
|
if(xorriso->lfa_flags_setting & 1)
|
||||||
xorriso->do_aaip|= xorriso->lfa_flags_setting & (31 << 11);
|
xorriso->do_aaip|= xorriso->lfa_flags_setting & (63 << 11);
|
||||||
ret= Xorriso_set_ignore_aclea(xorriso, 0);
|
ret= Xorriso_set_ignore_aclea(xorriso, 0);
|
||||||
if(ret <= 0)
|
if(ret <= 0)
|
||||||
goto ex;
|
goto ex;
|
||||||
|
@ -303,11 +303,16 @@ ex:;
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
@flag bit0= do not report error in case of error worth of single flag try
|
||||||
|
@return 0=failure, 1=ok, 2=pardoned,
|
||||||
|
3=pardoned error worth of single flag try
|
||||||
|
*/
|
||||||
int Xorriso_report_chattr_outcome(struct XorrisO *xorriso, char *disk_path,
|
int Xorriso_report_chattr_outcome(struct XorrisO *xorriso, char *disk_path,
|
||||||
uint64_t lfa_flags, uint64_t lfa_mask,
|
uint64_t lfa_flags, uint64_t lfa_mask,
|
||||||
int iso_ret, int os_errno, int flag)
|
int iso_ret, int os_errno, int flag)
|
||||||
{
|
{
|
||||||
int ret, eps_ret, sev;
|
int ret, eps_ret, sev, lfa_error= 0;
|
||||||
char msg[101], *lfa_text= NULL, severity[20];
|
char msg[101], *lfa_text= NULL, severity[20];
|
||||||
|
|
||||||
if(iso_ret == 1)
|
if(iso_ret == 1)
|
||||||
@ -323,11 +328,15 @@ int Xorriso_report_chattr_outcome(struct XorrisO *xorriso, char *disk_path,
|
|||||||
if(lfa_text == NULL)
|
if(lfa_text == NULL)
|
||||||
lfa_text= strdup("-unknown-attributes-");
|
lfa_text= strdup("-unknown-attributes-");
|
||||||
if(iso_ret < 0) {
|
if(iso_ret < 0) {
|
||||||
|
if(iso_ret == (int) ISO_LFA_NO_SET_LOCAL) {
|
||||||
|
lfa_error= 1;
|
||||||
|
if(flag & 1)
|
||||||
|
{ret= 3; goto ex;}
|
||||||
|
}
|
||||||
strcpy(msg, "Could not set chattr '");
|
strcpy(msg, "Could not set chattr '");
|
||||||
if(lfa_text != NULL)
|
if(lfa_text != NULL)
|
||||||
strcat(msg, lfa_text);
|
strcat(msg, lfa_text);
|
||||||
strcat(msg, "'");
|
strcat(msg, "'");
|
||||||
|
|
||||||
/* Adjust severity to event_pt.
|
/* Adjust severity to event_pt.
|
||||||
Number 0x7f000000 comes from libisofs.h, iso_error_get_severity */
|
Number 0x7f000000 comes from libisofs.h, iso_error_get_severity */
|
||||||
Xorriso__text_to_sev(severity, &sev, 0);
|
Xorriso__text_to_sev(severity, &sev, 0);
|
||||||
@ -355,7 +364,7 @@ ex:;
|
|||||||
if(ret == 0) {
|
if(ret == 0) {
|
||||||
eps_ret= Xorriso_eval_problem_status(xorriso, 0, 1);
|
eps_ret= Xorriso_eval_problem_status(xorriso, 0, 1);
|
||||||
if(eps_ret >= 0)
|
if(eps_ret >= 0)
|
||||||
ret= 2;
|
ret= 2 + !!lfa_error;
|
||||||
}
|
}
|
||||||
if(lfa_text != NULL)
|
if(lfa_text != NULL)
|
||||||
free(lfa_text);
|
free(lfa_text);
|
||||||
@ -363,6 +372,58 @@ ex:;
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
@param flag bit0= try single attribute flags if the whole change_mask fails
|
||||||
|
possibly because of inappropriate attributes
|
||||||
|
@return 0=failure
|
||||||
|
1= ok
|
||||||
|
2= pardoned
|
||||||
|
3= pardoned error worth of single flag try
|
||||||
|
4= with bit0: partial success
|
||||||
|
*/
|
||||||
|
int Xorriso_local_set_lfa_flags(struct XorrisO *xorriso, char *disk_path,
|
||||||
|
uint64_t lfa_flags, int max_bit,
|
||||||
|
uint64_t change_mask, int *os_errno, int flag)
|
||||||
|
{
|
||||||
|
int ret, partial_success= 0, os_errno_mem, i, count;
|
||||||
|
uint64_t single_mask, single_lfa;
|
||||||
|
|
||||||
|
ret= iso_local_set_lfa_flags(disk_path, lfa_flags, max_bit, change_mask,
|
||||||
|
os_errno, 4);
|
||||||
|
ret= Xorriso_report_chattr_outcome(xorriso, disk_path, lfa_flags, change_mask,
|
||||||
|
ret, *os_errno, flag & 1);
|
||||||
|
if(ret != 3 || !(flag & 1))
|
||||||
|
return(ret);
|
||||||
|
|
||||||
|
/* Try with single flag calls */
|
||||||
|
count= 0;
|
||||||
|
for(i= 0; i <= max_bit && i < 64; i++)
|
||||||
|
if(change_mask & (((uint64_t) 1) << i))
|
||||||
|
count++;
|
||||||
|
if(count < 2)
|
||||||
|
return(ret); /* was already a single flag call */
|
||||||
|
|
||||||
|
os_errno_mem= *os_errno;
|
||||||
|
for(i= 0; i <= max_bit && i < 64; i++) {
|
||||||
|
single_mask= ((uint64_t) 1) << i;
|
||||||
|
if(!(single_mask & change_mask))
|
||||||
|
continue;
|
||||||
|
single_lfa= lfa_flags & single_mask;
|
||||||
|
*os_errno= 0;
|
||||||
|
ret= iso_local_set_lfa_flags(disk_path, single_lfa, max_bit, single_mask,
|
||||||
|
os_errno, 4);
|
||||||
|
ret= Xorriso_report_chattr_outcome(xorriso, disk_path, single_lfa,
|
||||||
|
single_mask, ret, *os_errno, 0);
|
||||||
|
if(ret <= 0)
|
||||||
|
return(ret);
|
||||||
|
if(ret == 1)
|
||||||
|
partial_success= 1;
|
||||||
|
}
|
||||||
|
*os_errno= os_errno_mem;
|
||||||
|
return(3 + !!partial_success);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uint64_t Xorriso__lfa_bits(char *lfa_text)
|
uint64_t Xorriso__lfa_bits(char *lfa_text)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
@ -459,10 +520,9 @@ int Xorriso_early_chattr_CF(struct XorrisO *xorriso, IsoNode *node,
|
|||||||
set_mask&= xorriso_mask;
|
set_mask&= xorriso_mask;
|
||||||
if(set_mask == 0)
|
if(set_mask == 0)
|
||||||
return(4);
|
return(4);
|
||||||
ret= iso_local_set_lfa_flags(disk_path, lfa_flags, max_bit, set_mask,
|
ret= Xorriso_local_set_lfa_flags(xorriso, disk_path, lfa_flags, max_bit,
|
||||||
os_errno, 4);
|
set_mask, os_errno,
|
||||||
ret= Xorriso_report_chattr_outcome(xorriso, disk_path, lfa_flags, set_mask,
|
!!(xorriso->do_aaip & (1 << 16)));
|
||||||
ret, *os_errno, 0);
|
|
||||||
if(ret <= 0)
|
if(ret <= 0)
|
||||||
return(ret);
|
return(ret);
|
||||||
return(1);
|
return(1);
|
||||||
@ -668,10 +728,9 @@ cannot_set_perm:;
|
|||||||
|
|
||||||
if(xorriso->do_aaip & (1 << 12)) {
|
if(xorriso->do_aaip & (1 << 12)) {
|
||||||
if(mask != 0) {
|
if(mask != 0) {
|
||||||
ret= iso_local_set_lfa_flags(disk_path, lfa_flags, max_bit, mask,
|
ret= Xorriso_local_set_lfa_flags(xorriso, disk_path, lfa_flags, max_bit,
|
||||||
&os_errno, 4);
|
mask, &os_errno,
|
||||||
ret= Xorriso_report_chattr_outcome(xorriso, disk_path, lfa_flags,
|
!!(xorriso->do_aaip & (1 << 16)));
|
||||||
mask, ret, os_errno, 0);
|
|
||||||
if(ret <= 0)
|
if(ret <= 0)
|
||||||
goto ex;
|
goto ex;
|
||||||
}
|
}
|
||||||
|
@ -3829,7 +3829,12 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
|
|||||||
if(!(is_default && no_defaults))
|
if(!(is_default && no_defaults))
|
||||||
Xorriso_status_result(xorriso, filter, fp, flag & 2);
|
Xorriso_status_result(xorriso, filter, fp, flag & 2);
|
||||||
|
|
||||||
sprintf(line, "-lfa_flags restore_error=%s\n", xorriso->lfa_restore_err_sev);
|
sprintf(line, "-lfa_flags restore_error=%s", xorriso->lfa_restore_err_sev);
|
||||||
|
if(xorriso->lfa_flags_setting & (1 << 16))
|
||||||
|
strcat(line, ":restore_single");
|
||||||
|
else
|
||||||
|
strcat(line, ":no_restore_single");
|
||||||
|
strcat(line, "\n");
|
||||||
if(!(is_default && no_defaults))
|
if(!(is_default && no_defaults))
|
||||||
Xorriso_status_result(xorriso, filter, fp, flag & 2);
|
Xorriso_status_result(xorriso, filter, fp, flag & 2);
|
||||||
|
|
||||||
|
@ -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.5.7, Sep 05, 2024"
|
.TH XORRISO 1 "Version 1.5.7, Sep 07, 2024"
|
||||||
.\" 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:
|
||||||
@ -1128,11 +1128,20 @@ considerations caused by restore attemps of attribute flags. Else the error
|
|||||||
message is issued with the given severity. Then it depends on the setting
|
message is issued with the given severity. Then it depends on the setting
|
||||||
of command \-abort_on whether restoring goes on or gets aborted.
|
of command \-abort_on whether restoring goes on or gets aborted.
|
||||||
.br
|
.br
|
||||||
|
Mode "restore_single" tries to set the attribute flags of a file one\-by\-one
|
||||||
|
if the attempt fails to set them all at once. This happens only if the
|
||||||
|
"restore_error=" severity and the setting of command \-abort_on do not
|
||||||
|
demand to abort the program run.
|
||||||
|
Note that some flags in some situations get ignored silently by some kernels.
|
||||||
|
.br
|
||||||
|
Mode "no_restore_single" disables this attempt to get at least some of the
|
||||||
|
attribute flags into effect.
|
||||||
|
.br
|
||||||
Mode "default" reinstates the default settings:
|
Mode "default" reinstates the default settings:
|
||||||
.br
|
.br
|
||||||
\-lfa_flags off:read:restore:restore_su_auto:restore_only_known
|
\-lfa_flags off:read:restore:restore_su_auto:restore_only_known
|
||||||
.br
|
.br
|
||||||
\-lfa_flags restore_mask=:restore_error=sorry
|
\-lfa_flags restore_mask=:restore_error=sorry:restore_single
|
||||||
.br
|
.br
|
||||||
Use "default:on" to get default settings with enabled processing.
|
Use "default:on" to get default settings with enabled processing.
|
||||||
.TP
|
.TP
|
||||||
|
@ -1010,9 +1010,17 @@ activate them only after image loading.
|
|||||||
flags. Else the error message is issued with the given severity.
|
flags. Else the error message is issued with the given severity.
|
||||||
Then it depends on the setting of command -abort_on whether
|
Then it depends on the setting of command -abort_on whether
|
||||||
restoring goes on or gets aborted.
|
restoring goes on or gets aborted.
|
||||||
|
Mode "restore_single" tries to set the attribute flags of a file
|
||||||
|
one-by-one if the attempt fails to set them all at once. This
|
||||||
|
happens only if the "restore_error=" severity and the setting of
|
||||||
|
command -abort_on do not demand to abort the program run. Note
|
||||||
|
that some flags in some situations get ignored silently by some
|
||||||
|
kernels.
|
||||||
|
Mode "no_restore_single" disables this attempt to get at least some
|
||||||
|
of the attribute flags into effect.
|
||||||
Mode "default" reinstates the default settings:
|
Mode "default" reinstates the default settings:
|
||||||
-lfa_flags off:read:restore:restore_su_auto:restore_only_known
|
-lfa_flags off:read:restore:restore_su_auto:restore_only_known
|
||||||
-lfa_flags restore_mask=:restore_error=sorry
|
-lfa_flags restore_mask=:restore_error=sorry:restore_single
|
||||||
Use "default:on" to get default settings with enabled processing.
|
Use "default:on" to get default settings with enabled processing.
|
||||||
-md5 "on"|"all"|"off"|"load_check_off"
|
-md5 "on"|"all"|"off"|"load_check_off"
|
||||||
Enable or disable processing of MD5 checksums for the overall
|
Enable or disable processing of MD5 checksums for the overall
|
||||||
@ -6025,11 +6033,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
|||||||
* -assess_indev_features shows filesystem features: Inquiry. (line 61)
|
* -assess_indev_features shows filesystem features: Inquiry. (line 61)
|
||||||
* -auto_charset learns character set from image: Loading. (line 141)
|
* -auto_charset learns character set from image: Loading. (line 141)
|
||||||
* -backslash_codes enables backslash conversion: Scripting. (line 73)
|
* -backslash_codes enables backslash conversion: Scripting. (line 73)
|
||||||
* -ban_stdio_write demands real drive: Loading. (line 446)
|
* -ban_stdio_write demands real drive: Loading. (line 454)
|
||||||
* -biblio_file sets biblio file name: SetWrite. (line 277)
|
* -biblio_file sets biblio file name: SetWrite. (line 277)
|
||||||
* -blank erases media: Writing. (line 57)
|
* -blank erases media: Writing. (line 57)
|
||||||
* -boot_image controls bootability: Bootable. (line 75)
|
* -boot_image controls bootability: Bootable. (line 75)
|
||||||
* -calm_drive reduces drive activity: Loading. (line 436)
|
* -calm_drive reduces drive activity: Loading. (line 444)
|
||||||
* -cd sets working directory in ISO: Navigate. (line 7)
|
* -cd sets working directory in ISO: Navigate. (line 7)
|
||||||
* -cdx sets working directory on disk: Navigate. (line 15)
|
* -cdx sets working directory on disk: Navigate. (line 15)
|
||||||
* -changes_pending overrides change status: Writing. (line 12)
|
* -changes_pending overrides change status: Writing. (line 12)
|
||||||
@ -6065,12 +6073,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
|||||||
* -cp_rx copies file trees to disk: Restore. (line 131)
|
* -cp_rx copies file trees to disk: Restore. (line 131)
|
||||||
* -cp_rx copies file trees to disk <1>: Restore. (line 139)
|
* -cp_rx copies file trees to disk <1>: Restore. (line 139)
|
||||||
* -cut_out inserts piece of data file or device: Insert. (line 139)
|
* -cut_out inserts piece of data file or device: Insert. (line 139)
|
||||||
* -data_cache_size adjusts read cache size: Loading. (line 462)
|
* -data_cache_size adjusts read cache size: Loading. (line 470)
|
||||||
* -dev acquires one drive for input and output: AqDrive. (line 12)
|
* -dev acquires one drive for input and output: AqDrive. (line 12)
|
||||||
* -devices gets list of drives: Inquiry. (line 7)
|
* -devices gets list of drives: Inquiry. (line 7)
|
||||||
* -device_links gets list of drives: Inquiry. (line 17)
|
* -device_links gets list of drives: Inquiry. (line 17)
|
||||||
* -dialog enables dialog mode: DialogCtl. (line 7)
|
* -dialog enables dialog mode: DialogCtl. (line 7)
|
||||||
* -disk_dev_ino fast incremental backup: Loading. (line 356)
|
* -disk_dev_ino fast incremental backup: Loading. (line 364)
|
||||||
* -disk_pattern controls pattern expansion: Insert. (line 34)
|
* -disk_pattern controls pattern expansion: Insert. (line 34)
|
||||||
* -displacement compensate altered image start address: Loading.
|
* -displacement compensate altered image start address: Loading.
|
||||||
(line 102)
|
(line 102)
|
||||||
@ -6082,8 +6090,8 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
|||||||
* -dusx show directory size on disk: Navigate. (line 96)
|
* -dusx show directory size on disk: Navigate. (line 96)
|
||||||
* -dux show directory size on disk: Navigate. (line 92)
|
* -dux show directory size on disk: Navigate. (line 92)
|
||||||
* -dvd_obs set write block size and end alignment: SetWrite. (line 421)
|
* -dvd_obs set write block size and end alignment: SetWrite. (line 421)
|
||||||
* -early_stdio_test classifies stdio drives: Loading. (line 450)
|
* -early_stdio_test classifies stdio drives: Loading. (line 458)
|
||||||
* -ecma119_map names w/o Rock Ridge, Joliet: Loading. (line 329)
|
* -ecma119_map names w/o Rock Ridge, Joliet: Loading. (line 337)
|
||||||
* -eject ejects drive tray: Writing. (line 50)
|
* -eject ejects drive tray: Writing. (line 50)
|
||||||
* -end writes pending session and ends program: Scripting. (line 153)
|
* -end writes pending session and ends program: Scripting. (line 153)
|
||||||
* -errfile_log logs problematic disk files: Scripting. (line 118)
|
* -errfile_log logs problematic disk files: Scripting. (line 118)
|
||||||
@ -6096,13 +6104,13 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
|||||||
* -extract_cut copies file piece to disk: Restore. (line 108)
|
* -extract_cut copies file piece to disk: Restore. (line 108)
|
||||||
* -extract_l copies files to disk: Restore. (line 104)
|
* -extract_l copies files to disk: Restore. (line 104)
|
||||||
* -extract_single copies file to disk: Restore. (line 101)
|
* -extract_single copies file to disk: Restore. (line 101)
|
||||||
* -file_name_limit curbs length of file names: Loading. (line 376)
|
* -file_name_limit curbs length of file names: Loading. (line 384)
|
||||||
* -file_size_limit limits data file size: SetInsert. (line 7)
|
* -file_size_limit limits data file size: SetInsert. (line 7)
|
||||||
* -find traverses and alters ISO tree: CmdFind. (line 7)
|
* -find traverses and alters ISO tree: CmdFind. (line 7)
|
||||||
* -findx traverses disk tree: Navigate. (line 99)
|
* -findx traverses disk tree: Navigate. (line 99)
|
||||||
* -follow softlinks and mount points: SetInsert. (line 77)
|
* -follow softlinks and mount points: SetInsert. (line 77)
|
||||||
* -format formats media: Writing. (line 87)
|
* -format formats media: Writing. (line 87)
|
||||||
* -for_backup acl,xattr,hardlinks,md5,lfa_flags: Loading. (line 304)
|
* -for_backup acl,xattr,hardlinks,md5,lfa_flags: Loading. (line 312)
|
||||||
* -fs sets size of fifo: SetWrite. (line 500)
|
* -fs sets size of fifo: SetWrite. (line 500)
|
||||||
* -genisoimage_completion completion of genisoimage options: Emulation.
|
* -genisoimage_completion completion of genisoimage options: Emulation.
|
||||||
(line 166)
|
(line 166)
|
||||||
@ -6120,11 +6128,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
|||||||
* -indev acquires a drive for input: AqDrive. (line 23)
|
* -indev acquires a drive for input: AqDrive. (line 23)
|
||||||
* -in_charset sets input character set: Loading. (line 136)
|
* -in_charset sets input character set: Loading. (line 136)
|
||||||
* -iso_nowtime fixed "now" time for ISO 9660 objects: Loading.
|
* -iso_nowtime fixed "now" time for ISO 9660 objects: Loading.
|
||||||
(line 350)
|
(line 358)
|
||||||
* -iso_rr_pattern controls pattern expansion: Manip. (line 10)
|
* -iso_rr_pattern controls pattern expansion: Manip. (line 10)
|
||||||
* -jigdo clears JTE or or adds parameter to JTE: Jigdo. (line 37)
|
* -jigdo clears JTE or or adds parameter to JTE: Jigdo. (line 37)
|
||||||
* -joliet enables production of Joliet tree: SetWrite. (line 10)
|
* -joliet enables production of Joliet tree: SetWrite. (line 10)
|
||||||
* -joliet_map Joliet names: Loading. (line 342)
|
* -joliet_map Joliet names: Loading. (line 350)
|
||||||
* -launch_frontend starts frontend program at pipes: Frontend.
|
* -launch_frontend starts frontend program at pipes: Frontend.
|
||||||
(line 141)
|
(line 141)
|
||||||
* -lfa_flags controls handling of Linux file attributes: Loading.
|
* -lfa_flags controls handling of Linux file attributes: Loading.
|
||||||
@ -6152,7 +6160,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
|||||||
* -map_l inserts paths from disk file: Insert. (line 96)
|
* -map_l inserts paths from disk file: Insert. (line 96)
|
||||||
* -map_single inserts path: Insert. (line 93)
|
* -map_single inserts path: Insert. (line 93)
|
||||||
* -mark sets synchronizing message: Frontend. (line 23)
|
* -mark sets synchronizing message: Frontend. (line 23)
|
||||||
* -md5 controls handling of MD5 sums: Loading. (line 273)
|
* -md5 controls handling of MD5 sums: Loading. (line 281)
|
||||||
* -mkdir creates ISO directory: Insert. (line 188)
|
* -mkdir creates ISO directory: Insert. (line 188)
|
||||||
* -modesty_on_drive keep drive buffer hungry: SetWrite. (line 440)
|
* -modesty_on_drive keep drive buffer hungry: SetWrite. (line 440)
|
||||||
* -mount issues mount command for ISO session: Restore. (line 204)
|
* -mount issues mount command for ISO session: Restore. (line 204)
|
||||||
@ -6209,7 +6217,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
|||||||
(line 57)
|
(line 57)
|
||||||
* -rollback discards pending changes: Writing. (line 9)
|
* -rollback discards pending changes: Writing. (line 9)
|
||||||
* -rollback_end ends program without writing: Scripting. (line 156)
|
* -rollback_end ends program without writing: Scripting. (line 156)
|
||||||
* -rom_toc_scan searches for sessions: Loading. (line 408)
|
* -rom_toc_scan searches for sessions: Loading. (line 416)
|
||||||
* -rr_reloc_dir sets name of relocation directory: SetWrite. (line 171)
|
* -rr_reloc_dir sets name of relocation directory: SetWrite. (line 171)
|
||||||
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 197)
|
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 197)
|
||||||
* -scsi_dev_family choose Linux device file type: AqDrive. (line 95)
|
* -scsi_dev_family choose Linux device file type: AqDrive. (line 95)
|
||||||
@ -6287,8 +6295,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
|||||||
* Appended partitions, MBR: Bootable. (line 480)
|
* Appended partitions, MBR: Bootable. (line 480)
|
||||||
* Automatic execution order, of arguments, -x: ArgSort. (line 16)
|
* Automatic execution order, of arguments, -x: ArgSort. (line 16)
|
||||||
* Backslash Interpretation, _definition: Processing. (line 57)
|
* Backslash Interpretation, _definition: Processing. (line 57)
|
||||||
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 356)
|
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 364)
|
||||||
* Backup, enable features, -for_backup: Loading. (line 304)
|
* Backup, enable features, -for_backup: Loading. (line 312)
|
||||||
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 197)
|
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 197)
|
||||||
* Blank media, _definition: Media. (line 34)
|
* Blank media, _definition: Media. (line 34)
|
||||||
* Blank, format, Immed bit, -use_immed_bit: SetWrite. (line 478)
|
* Blank, format, Immed bit, -use_immed_bit: SetWrite. (line 478)
|
||||||
@ -6327,8 +6335,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
|||||||
* Directory, delete, -rmdir: Manip. (line 29)
|
* Directory, delete, -rmdir: Manip. (line 29)
|
||||||
* disk_path, _definition: Insert. (line 6)
|
* disk_path, _definition: Insert. (line 6)
|
||||||
* Drive, accessability, -drive_class: AqDrive. (line 43)
|
* Drive, accessability, -drive_class: AqDrive. (line 43)
|
||||||
* Drive, classify stdio, -early_stdio_test: Loading. (line 450)
|
* Drive, classify stdio, -early_stdio_test: Loading. (line 458)
|
||||||
* Drive, demand real MMC, -ban_stdio_write: Loading. (line 446)
|
* Drive, demand real MMC, -ban_stdio_write: Loading. (line 454)
|
||||||
* Drive, eject tray, -eject: Writing. (line 50)
|
* Drive, eject tray, -eject: Writing. (line 50)
|
||||||
* Drive, for input and output, -dev: AqDrive. (line 12)
|
* Drive, for input and output, -dev: AqDrive. (line 12)
|
||||||
* Drive, for input, -indev: AqDrive. (line 23)
|
* Drive, for input, -indev: AqDrive. (line 23)
|
||||||
@ -6336,7 +6344,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
|||||||
* Drive, get drive list, -devices: Inquiry. (line 7)
|
* Drive, get drive list, -devices: Inquiry. (line 7)
|
||||||
* Drive, get drive list, -device_links: Inquiry. (line 17)
|
* Drive, get drive list, -device_links: Inquiry. (line 17)
|
||||||
* Drive, list supported media, -list_profiles: Writing. (line 163)
|
* Drive, list supported media, -list_profiles: Writing. (line 163)
|
||||||
* Drive, reduce activity, -calm_drive: Loading. (line 436)
|
* Drive, reduce activity, -calm_drive: Loading. (line 444)
|
||||||
* Drive, report SCSI commands, -scsi_log: Scripting. (line 145)
|
* Drive, report SCSI commands, -scsi_log: Scripting. (line 145)
|
||||||
* Drive, write and eject, -commit_eject: Writing. (line 53)
|
* Drive, write and eject, -commit_eject: Writing. (line 53)
|
||||||
* Drive, _definition: Drives. (line 6)
|
* Drive, _definition: Drives. (line 6)
|
||||||
@ -6354,9 +6362,9 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
|||||||
* Examples: Examples. (line 6)
|
* Examples: Examples. (line 6)
|
||||||
* extattr, _definition: Extras. (line 66)
|
* extattr, _definition: Extras. (line 66)
|
||||||
* File content, copy, -concat: Restore. (line 148)
|
* File content, copy, -concat: Restore. (line 148)
|
||||||
* File names, curb length, -file_name_limit: Loading. (line 376)
|
* File names, curb length, -file_name_limit: Loading. (line 384)
|
||||||
* File names, if Joliet is loaded: Loading. (line 342)
|
* File names, if Joliet is loaded: Loading. (line 350)
|
||||||
* File names, if neither Rock Ridge nor Joliet: Loading. (line 329)
|
* File names, if neither Rock Ridge nor Joliet: Loading. (line 337)
|
||||||
* Filesytem features, show, -assess_indev_features: Inquiry. (line 61)
|
* Filesytem features, show, -assess_indev_features: Inquiry. (line 61)
|
||||||
* Filter, apply to file tree, -set_filter_r: Filter. (line 84)
|
* Filter, apply to file tree, -set_filter_r: Filter. (line 84)
|
||||||
* Filter, apply to file, -set_filter: Filter. (line 58)
|
* Filter, apply to file, -set_filter: Filter. (line 58)
|
||||||
@ -6382,7 +6390,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
|||||||
* HFS+ serial number: Bootable. (line 455)
|
* HFS+ serial number: Bootable. (line 455)
|
||||||
* hidden, set in ISO image, -hide: Manip. (line 211)
|
* hidden, set in ISO image, -hide: Manip. (line 211)
|
||||||
* HP-PA boot sector, production: Bootable. (line 430)
|
* HP-PA boot sector, production: Bootable. (line 430)
|
||||||
* Image reading, cache size, -data_cache_size: Loading. (line 462)
|
* Image reading, cache size, -data_cache_size: Loading. (line 470)
|
||||||
* Image, demand volume ID, -assert_volid: Loading. (line 129)
|
* Image, demand volume ID, -assert_volid: Loading. (line 129)
|
||||||
* Image, discard pending changes, -rollback: Writing. (line 9)
|
* Image, discard pending changes, -rollback: Writing. (line 9)
|
||||||
* Image, filesystem to load, -read_fs: Loading. (line 120)
|
* Image, filesystem to load, -read_fs: Loading. (line 120)
|
||||||
@ -6434,7 +6442,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
|||||||
* Jigdo Template Extraction, -jigdo: Jigdo. (line 37)
|
* Jigdo Template Extraction, -jigdo: Jigdo. (line 37)
|
||||||
* Jigdo Template Extraction, _definition: Jigdo. (line 6)
|
* Jigdo Template Extraction, _definition: Jigdo. (line 6)
|
||||||
* LBA, _definition: Drives. (line 17)
|
* LBA, _definition: Drives. (line 17)
|
||||||
* libisofs, fixed "now" time: Loading. (line 350)
|
* libisofs, fixed "now" time: Loading. (line 358)
|
||||||
* Linux device type, -scsi_dev_family: AqDrive. (line 95)
|
* Linux device type, -scsi_dev_family: AqDrive. (line 95)
|
||||||
* Linux file attributes, control handling, -lfa_flags: Loading.
|
* Linux file attributes, control handling, -lfa_flags: Loading.
|
||||||
(line 207)
|
(line 207)
|
||||||
@ -6448,7 +6456,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
|||||||
* MBR bootable/active flag, enforce: Bootable. (line 388)
|
* MBR bootable/active flag, enforce: Bootable. (line 388)
|
||||||
* MBR, set, -boot_image system_area=: Bootable. (line 227)
|
* MBR, set, -boot_image system_area=: Bootable. (line 227)
|
||||||
* MBR, _definition: Extras. (line 27)
|
* MBR, _definition: Extras. (line 27)
|
||||||
* MD5, control handling, -md5: Loading. (line 273)
|
* MD5, control handling, -md5: Loading. (line 281)
|
||||||
* Media, erase, -blank: Writing. (line 57)
|
* Media, erase, -blank: Writing. (line 57)
|
||||||
* Media, format, -format: Writing. (line 87)
|
* Media, format, -format: Writing. (line 87)
|
||||||
* Media, list formats, -list_formats: Writing. (line 128)
|
* Media, list formats, -list_formats: Writing. (line 128)
|
||||||
@ -6557,7 +6565,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
|||||||
* System area, _definition: Bootable. (line 227)
|
* System area, _definition: Bootable. (line 227)
|
||||||
* Table-of-content, choose info to show, -toc_info_type: Inquiry.
|
* Table-of-content, choose info to show, -toc_info_type: Inquiry.
|
||||||
(line 49)
|
(line 49)
|
||||||
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 408)
|
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 416)
|
||||||
* Table-of-content, show parts of, -toc_of: Inquiry. (line 41)
|
* Table-of-content, show parts of, -toc_of: Inquiry. (line 41)
|
||||||
* Table-of-content, show, -toc: Inquiry. (line 27)
|
* Table-of-content, show, -toc: Inquiry. (line 27)
|
||||||
* Timestamps, set in ISO image, -alter_date: Manip. (line 173)
|
* Timestamps, set in ISO image, -alter_date: Manip. (line 173)
|
||||||
@ -6617,48 +6625,48 @@ Node: Commands26634
|
|||||||
Node: ArgSort28311
|
Node: ArgSort28311
|
||||||
Node: AqDrive29805
|
Node: AqDrive29805
|
||||||
Node: Loading36962
|
Node: Loading36962
|
||||||
Node: Insert64975
|
Node: Insert65464
|
||||||
Node: SetInsert77170
|
Node: SetInsert77659
|
||||||
Node: Manip87406
|
Node: Manip87895
|
||||||
Node: CmdFind99526
|
Node: CmdFind100015
|
||||||
Node: Filter120848
|
Node: Filter121337
|
||||||
Node: Writing125470
|
Node: Writing125959
|
||||||
Node: SetWrite137964
|
Node: SetWrite138453
|
||||||
Node: Bootable169239
|
Node: Bootable169728
|
||||||
Node: Jigdo200521
|
Node: Jigdo201010
|
||||||
Node: Charset205524
|
Node: Charset206013
|
||||||
Node: Exception208853
|
Node: Exception209342
|
||||||
Node: DialogCtl215042
|
Node: DialogCtl215531
|
||||||
Node: Inquiry217644
|
Node: Inquiry218133
|
||||||
Node: Navigate230209
|
Node: Navigate230698
|
||||||
Node: Verify241426
|
Node: Verify241915
|
||||||
Node: Restore252575
|
Node: Restore253064
|
||||||
Node: Emulation264782
|
Node: Emulation265271
|
||||||
Node: Scripting276358
|
Node: Scripting276847
|
||||||
Node: Frontend284252
|
Node: Frontend284741
|
||||||
Node: Examples293878
|
Node: Examples294367
|
||||||
Node: ExDevices295056
|
Node: ExDevices295545
|
||||||
Node: ExCreate295717
|
Node: ExCreate296206
|
||||||
Node: ExDialog297017
|
Node: ExDialog297506
|
||||||
Node: ExGrowing298288
|
Node: ExGrowing298777
|
||||||
Node: ExModifying299097
|
Node: ExModifying299586
|
||||||
Node: ExBootable299607
|
Node: ExBootable300096
|
||||||
Node: ExCharset300162
|
Node: ExCharset300651
|
||||||
Node: ExPseudo301058
|
Node: ExPseudo301547
|
||||||
Node: ExCdrecord301985
|
Node: ExCdrecord302474
|
||||||
Node: ExMkisofs302305
|
Node: ExMkisofs302794
|
||||||
Node: ExGrowisofs304202
|
Node: ExGrowisofs304691
|
||||||
Node: ExException305355
|
Node: ExException305844
|
||||||
Node: ExTime305813
|
Node: ExTime306302
|
||||||
Node: ExIncBackup306271
|
Node: ExIncBackup306760
|
||||||
Node: ExRestore310297
|
Node: ExRestore310786
|
||||||
Node: ExRecovery311243
|
Node: ExRecovery311732
|
||||||
Node: Files311815
|
Node: Files312304
|
||||||
Node: Environ313149
|
Node: Environ313638
|
||||||
Node: Seealso313897
|
Node: Seealso314386
|
||||||
Node: Bugreport314661
|
Node: Bugreport315150
|
||||||
Node: Legal315252
|
Node: Legal315741
|
||||||
Node: CommandIdx316264
|
Node: CommandIdx316753
|
||||||
Node: ConceptIdx334738
|
Node: ConceptIdx335227
|
||||||
|
|
||||||
End Tag Table
|
End Tag Table
|
||||||
|
@ -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.5.7, Sep 05, 2024"
|
@c man .TH XORRISO 1 "Version 1.5.7, Sep 07, 2024"
|
||||||
@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:
|
||||||
@ -1380,11 +1380,20 @@ considerations caused by restore attemps of attribute flags. Else the error
|
|||||||
message is issued with the given severity. Then it depends on the setting
|
message is issued with the given severity. Then it depends on the setting
|
||||||
of command -abort_on whether restoring goes on or gets aborted.
|
of command -abort_on whether restoring goes on or gets aborted.
|
||||||
@*
|
@*
|
||||||
|
Mode "restore_single" tries to set the attribute flags of a file one-by-one
|
||||||
|
if the attempt fails to set them all at once. This happens only if the
|
||||||
|
"restore_error=" severity and the setting of command -abort_on do not
|
||||||
|
demand to abort the program run.
|
||||||
|
Note that some flags in some situations get ignored silently by some kernels.
|
||||||
|
@*
|
||||||
|
Mode "no_restore_single" disables this attempt to get at least some of the
|
||||||
|
attribute flags into effect.
|
||||||
|
@*
|
||||||
Mode "default" reinstates the default settings:
|
Mode "default" reinstates the default settings:
|
||||||
@*
|
@*
|
||||||
-lfa_flags off:read:restore:restore_su_auto:restore_only_known
|
-lfa_flags off:read:restore:restore_su_auto:restore_only_known
|
||||||
@*
|
@*
|
||||||
-lfa_flags restore_mask=:restore_error=sorry
|
-lfa_flags restore_mask=:restore_error=sorry:restore_single
|
||||||
@*
|
@*
|
||||||
Use "default:on" to get default settings with enabled processing.
|
Use "default:on" to get default settings with enabled processing.
|
||||||
@c man .TP
|
@c man .TP
|
||||||
|
@ -190,6 +190,8 @@ struct XorrisO { /* the global context of xorriso */
|
|||||||
bit15= ignore non-settable lfa_flags when importing files from
|
bit15= ignore non-settable lfa_flags when importing files from
|
||||||
disk and do not record "isofs.fa" if the other flags
|
disk and do not record "isofs.fa" if the other flags
|
||||||
are all zero
|
are all zero
|
||||||
|
bit16= try to restore lfa_flags one-by-one if the whole set
|
||||||
|
fails possibly because of inappropriate attributes
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int lfa_flags_setting; /* Current settings of command -lfa_flags
|
int lfa_flags_setting; /* Current settings of command -lfa_flags
|
||||||
@ -199,7 +201,7 @@ struct XorrisO { /* the global context of xorriso */
|
|||||||
compiled with lfa enabled)
|
compiled with lfa enabled)
|
||||||
bit3= libisofs indeed has lfa enabled
|
bit3= libisofs indeed has lfa enabled
|
||||||
(to be set only at program start)
|
(to be set only at program start)
|
||||||
bit11-15= at the end of the command these bits
|
bit11-16= at the end of the command these bits
|
||||||
get put into .do_aaip if bit0 is on.
|
get put into .do_aaip if bit0 is on.
|
||||||
Else the lfa bits of do_aaip will be set
|
Else the lfa bits of do_aaip will be set
|
||||||
to 0.
|
to 0.
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2024.09.05.195024"
|
#define Xorriso_timestamP "2024.09.08.102135"
|
||||||
|
Loading…
Reference in New Issue
Block a user