Changeset 3300 in MondoRescue for branches/3.2/mondo/src
- Timestamp:
- Jun 8, 2014, 10:51:42 AM (11 years ago)
- Location:
- branches/3.2/mondo/src/mondorestore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3.2/mondo/src/mondorestore/mondo-prep.c
r3292 r3300 695 695 fprintf(g_fprep, "%s\n", program); 696 696 } 697 mr_free(program); 697 698 fin = fopen("/tmp/plexes", "r"); 698 699 while (fgets(line, MAX_STR_LEN - 1, fin)) { … … 754 755 fprintf(g_fprep, "%s\n", program); 755 756 } 757 mr_free(program); 756 758 } 757 759 paranoid_system("sync"); … … 765 767 if (!strcmp(format, "lvm")) { 766 768 log_msg(1, "Don't format %s - it's part of an lvm volume", device); 767 mr_free(program);768 769 return (0); 769 770 } 770 res = which_format_command_do_i_need(format, program);771 program = which_format_command_do_i_need(format); 771 772 mr_asprintf(tmp, "%s %s", program, device); 772 773 if (strstr(program, "kludge")) { … … 2116 2117 * @return 0 for success, nonzero for failure. 2117 2118 */ 2118 int which_format_command_do_i_need(char *format, char *program) { 2119 2120 /** int *************************************************************/ 2121 int res = 0; 2122 2123 /** buffers *********************************************************/ 2124 2125 /** end ***************************************************************/ 2119 char *which_format_command_do_i_need(char *format) { 2126 2120 2127 2121 assert_string_is_neither_NULL_nor_zerolength(format); 2128 assert(program != NULL);2129 2122 2130 2123 if (strcmp(format, "swap") == 0) { 2131 2124 #ifdef __FreeBSD__ 2132 strcpy(program, "true");2125 mr_asprintf(program, "true"); 2133 2126 #else 2134 strcpy(program, "mkswap");2127 mr_asprintf(program, "mkswap"); 2135 2128 #endif 2136 2129 } else if (strcmp(format, "vfat") == 0) { 2137 strcpy(program, "format-and-kludge-vfat");2130 mr_asprintf(program, "format-and-kludge-vfat"); 2138 2131 #ifndef __FreeBSD__ 2139 2132 } else if (strcmp(format, "reiserfs") == 0) { 2140 strcpy(program, "mkreiserfs -ff");2133 mr_asprintf(program, "mkreiserfs -ff"); 2141 2134 } else if (strcmp(format, "xfs") == 0) { 2142 strcpy(program, "mkfs.xfs -f -q");2135 mr_asprintf(program, "mkfs.xfs -f -q"); 2143 2136 } else if (strcmp(format, "jfs") == 0) { 2144 strcpy(program, "mkfs.jfs");2137 mr_asprintf(program, "mkfs.jfs"); 2145 2138 } else if (strcmp(format, "ext3") == 0) { 2146 strcpy(program, "mkfs -t ext3 -F -q");2139 mr_asprintf(program, "mkfs -t ext3 -F -q"); 2147 2140 } else if (strcmp(format, "ext4") == 0) { 2148 strcpy(program, "mkfs -t ext4 -F -q");2141 mr_asprintf(program, "mkfs -t ext4 -F -q"); 2149 2142 } else if (strcmp(format, "btrfs") == 0) { 2150 strcpy(program, "mkfs.btrfs");2143 mr_asprintf(program, "mkfs.btrfs"); 2151 2144 } else if (strcmp(format, "minix") == 0) { 2152 strcpy(program, "mkfs.minix");2145 mr_asprintf(program, "mkfs.minix"); 2153 2146 } else if (strcmp(format, "vmfs") == 0) { 2154 strcpy(program, "mkfs -t vmfs");2147 mr_asprintf(program, "mkfs -t vmfs"); 2155 2148 } else if (strcmp(format, "ntfs") == 0) { 2156 2149 /* … … 2158 2151 * so the default "mkfs -t %s -c" command structure fails 2159 2152 */ 2160 strcpy(program, "mkfs -t ntfs");2153 mr_asprintf(program, "mkfs -t ntfs"); 2161 2154 } else if (strcmp(format, "ocfs2") == 0) { 2162 2155 /* … … 2164 2157 * 2165 2158 */ 2166 strcpy(program, "mkfs -t ocfs2 -F");2159 mr_asprintf(program, "mkfs -t ocfs2 -F"); 2167 2160 #endif 2168 2161 } else if (strcmp(format, "ext2") == 0) { 2169 strcpy(program, "mke2fs -F -q");2162 mr_asprintf(program, "mke2fs -F -q"); 2170 2163 } else { 2171 2164 #ifdef __FreeBSD__ 2172 sprintf(program, "newfs_%s", format);2165 mr_asprintf(program, "newfs_%s", format); 2173 2166 #else 2174 sprintf(program, "mkfs -t %s -c", format); // -c checks for bad blocks2167 mr_asprintf(program, "mkfs -t %s -c", format); // -c checks for bad blocks 2175 2168 #endif 2176 2169 log_it("Unknown format (%s) - assuming '%s' will do", format, program); 2177 res = 0; 2178 } 2179 return (res); 2170 } 2171 return(program); 2180 2172 } 2181 2173 -
branches/3.2/mondo/src/mondorestore/mondoprep.h
r3042 r3300 69 69 int partition_everything(struct mountlist_itself *); 70 70 int do_my_funky_lvm_stuff(bool, bool); 71 int which_format_command_do_i_need(char *,char *);71 char *which_format_command_do_i_need(char *); 72 72 int make_dummy_partitions(FILE *, char *, int); 73 73 int make_list_of_drives(struct mountlist_itself *,
Note:
See TracChangeset
for help on using the changeset viewer.