Introduce -f (force) option
Subsystems (2)
PATCH 1/1 Introduce -f (force) option
As I always forget to delete the produced dump file when testing something, I'd like to see a `-f' option that forces makedumpfile to overwrite existing files.
--- makedumpfile.8 | 10 ++++++++++ makedumpfile.c | 11 +++++++++-- makedumpfile.h | 1 + 3 files changed, 20 insertions(+), 2 deletions(-)
makedumpfile.8 +10 -0
@@ -144,6 +144,16 @@ support compressed data. # makedumpfile \-E \-d 31 \-x vmlinux /proc/vmcore dumpfile .TP +\fB\-f\fR +Force existing files to be overwritten. +.br +.B Example: +.br +# makedumpfile \-f \-x vmlinux /proc/vmcore dumpfile +.br +This command overwrites \fIdumpfile\fR if it already exists. + +.TP \fB\-x\fR \fIVMLINUX\fR Specify the first kernel's \fIVMLINUX\fR with debug information to analyze the first kernel's memory usage.
makedumpfile.c +9 -2
@@ -409,6 +409,10 @@ int open_dump_file(struct DumpInfo *info) {int fd; +int open_flags =O_RDWR |O_CREAT ; + +if (!info->flag_force) + open_flags |=O_EXCL ;if (info->flag_flatten) { if ((info->name_dumpfile
@@ -420,7 +424,7 @@ open_dump_file(struct DumpInfo *info) fd =STDOUT_FILENO ;strcpy (info->name_dumpfile,FILENAME_STDOUT ); - }else if ((fd =open (info->name_dumpfile,O_RDWR |O_CREAT |O_EXCL , + }else if ((fd =open (info->name_dumpfile, open_flags,S_IRUSR |S_IWUSR )) <0 ) {ERRMSG ("Can't open the dump file(%s). %s\n" , info->name_dumpfile,strerror (errno));
@@ -4624,7 +4628,7 @@ main(int argc, char *argv[]) vt = &info->vm_table; info->block_order =DEFAULT_ORDER ; -while ((opt =getopt (argc, argv,"b:cDd:EFg:hi:Rvx:" )) !=-1 ) { +while ((opt =getopt (argc, argv,"b:cDd:EFg:hi:Rvx:f" )) !=-1 ) {switch (opt) {case 'b' : info->block_order =atoi (optarg);
@@ -4646,6 +4650,9 @@ main(int argc, char *argv[])case 'F' : info->flag_flatten =1 ;break ; +case 'f' : + info->flag_force =1 ; +break ;case 'g' : info->flag_generate_config =1 ; info->name_configfile = optarg;
makedumpfile.h +1 -0
@@ -552,6 +552,7 @@ struct DumpInfo {format to a standard out */ int flag_rearrange;/* flag of creating dumpfile from flattened format */ +int flag_force;/* overwrite existing stuff */ long page_size;/* size of page */ long page_shift;unsigned long long max_mapnr;/* number of page descriptor */
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec
Hi Bernhard,
Quoted 3 lines · Bernhard Walle
As I always forget to delete the produced dump file when testing something, I'd like to see a `-f' option that forces makedumpfile to overwrite existing files.
Thank you for a good patch.
I will merge it into a new release.
Thanks
Ken'ichi Ohmichi
Quoted 79 lines
Signed-off-by Bernhard Walle <[email protected]>---
makedumpfile.8 | 10 ++++++++++ makedumpfile.c | 11 +++++++++-- makedumpfile.h | 1 + 3 files changed, 20 insertions(+), 2 deletions(-)makedumpfile.8 +0
-0@@ -144,6 +144,16 @@ support compressed data. # makedumpfile \-E \-d 31 \-x vmlinux /proc/vmcore dumpfile.TP
+\fB\-f\fRmakedumpfile.8 +9
-0+Force existing files to be overwritten. +.br +.B Example: +.br +# makedumpfile \-f \-x vmlinux /proc/vmcore dumpfile +.br +This command overwrites \fIdumpfile\fR if it already exists. + +.TP\fB\-x\fR \fIVMLINUX\fR
Specify the first kernel's \fIVMLINUX\fR with debug information to analyze the first kernel's memory usage.makedumpfile.c +9
-2@@ -409,6 +409,10 @@ int open_dump_file(struct DumpInfo *info) {int fd; +int open_flags =O_RDWR |O_CREAT ; + +if (!info->flag_force) + open_flags |=O_EXCL ;if (info->flag_flatten) { if ((info->name_dumpfile@@ -420,7 +424,7 @@ open_dump_file(struct DumpInfo *info) fd =STDOUT_FILENO ;strcpy (info->name_dumpfile,FILENAME_STDOUT ); - }else if ((fd =open (info->name_dumpfile,O_RDWR |O_CREAT |O_EXCL , + }else if ((fd =open (info->name_dumpfile, open_flags,S_IRUSR |S_IWUSR )) <0 ) {ERRMSG ("Can't open the dump file(%s). %s\n" , info->name_dumpfile,strerror (errno));@@ -4624,7 +4628,7 @@ main(int argc, char *argv[]) vt = &info->vm_table; info->block_order =DEFAULT_ORDER ; -while ((opt =getopt (argc, argv,"b:cDd:EFg:hi:Rvx:" )) !=-1 ) { +while ((opt =getopt (argc, argv,"b:cDd:EFg:hi:Rvx:f" )) !=-1 ) {switch (opt) {case 'b' : info->block_order =atoi (optarg);@@ -4646,6 +4650,9 @@ main(int argc, char *argv[])case 'F' : info->flag_flatten =1 ;break ; +case 'f' : + info->flag_force =1 ; +break ;case 'g' : info->flag_generate_config =1 ; info->name_configfile = optarg;makedumpfile.h +1
-0@@ -552,6 +552,7 @@ struct DumpInfo {format to a standard out */ int flag_rearrange;/* flag of creating dumpfile from flattened format */ +int flag_force;/* overwrite existing stuff */ long page_size;/* size of page */ long page_shift;unsigned long long max_mapnr;/* number of page descriptor */
Quoted 4 lines
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec