Changeset 3150 in MondoRescue for branches/3.0/mondo/src/common
- Timestamp:
- Jun 21, 2013, 6:48:23 AM (11 years ago)
- Location:
- branches/3.0/mondo/src/common
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3.0/mondo/src/common/libmondo-archive.c
r3060 r3150 562 562 563 563 if (IS_THIS_A_STREAMING_BACKUP(bkpinfo->backup_media_type)) { 564 mr_asprintf(&tape_size_sz, "%ld", bkpinfo->media_size [1]);564 mr_asprintf(&tape_size_sz, "%ld", bkpinfo->media_size); 565 565 ntapedev = get_non_rewind_dev(bkpinfo->media_device); 566 566 if ((bkpinfo->use_obdr) && (ntapedev != NULL)) { … … 2546 2546 va_end(ap); 2547 2547 2548 if (bkpinfo->media_size [g_current_media_number]<= 0) {2548 if (bkpinfo->media_size <= 0) { 2549 2549 fatal_error("move_files_to_cd() - unknown media size"); 2550 2550 } 2551 if (would_occupy / 1024 > bkpinfo->media_size [g_current_media_number]) {2551 if (would_occupy / 1024 > bkpinfo->media_size) { 2552 2552 res = write_iso_and_go_on(FALSE); /* FALSE because this is not the last CD we'll write */ 2553 2553 retval += res; … … 3347 3347 assert(bkpinfo != NULL); 3348 3348 orig_vfy_flag_val = bkpinfo->verify_data; 3349 if (bkpinfo->media_size [g_current_media_number]<= 0) {3349 if (bkpinfo->media_size <= 0) { 3350 3350 fatal_error("write_iso_and_go_on() - unknown media size"); 3351 3351 } … … 3380 3380 paranoid_fclose(fout); 3381 3381 } 3382 if (space_occupied_by_cd(bkpinfo->scratchdir) / 1024 > 3383 bkpinfo->media_size[g_current_media_number]) { 3382 if (space_occupied_by_cd(bkpinfo->scratchdir) / 1024 > bkpinfo->media_size) { 3384 3383 sprintf(tmp, 3385 3384 "Warning! CD is too big. It occupies %ld KB, which is more than the %ld KB allowed.", 3386 3385 (long) space_occupied_by_cd(bkpinfo->scratchdir), 3387 (long) bkpinfo->media_size [g_current_media_number]);3386 (long) bkpinfo->media_size); 3388 3387 log_to_screen(tmp); 3389 3388 } … … 3445 3444 } 3446 3445 g_current_media_number++; 3447 if (g_current_media_number > MAX_NOOF_MEDIA) {3448 fatal_error("Too many media. Use tape or net.");3449 }3450 3446 wipe_archives(bkpinfo->scratchdir); 3451 3447 sprintf(tmp, "rm -Rf %s/images/*gz %s/images/*data*img", -
branches/3.0/mondo/src/common/libmondo-cli.c
r3141 r3150 86 86 flag_set[i] = FALSE; 87 87 } 88 for (j = 1; j <= MAX_NOOF_MEDIA; j++) { 89 bkpinfo->media_size[j] = 650; 90 } /* default */ 91 res = 92 retrieve_switches_from_command_line(argc, argv, flag_val, 93 flag_set); 88 bkpinfo->media_size = 650; /* default */ 89 res = retrieve_switches_from_command_line(argc, argv, flag_val, flag_set); 94 90 retval += res; 95 91 if (!retval) { … … 145 141 assert(value != NULL); 146 142 147 bkpinfo->media_size[0] = -1; /* dummy value */ 148 for (j = 1, p = value; j < MAX_NOOF_MEDIA && strchr(p, ','); 149 j++, p = strchr(p, ',') + 1) { 150 strncpy(tmp, p, MAX_STR_LEN); 151 *(strchr(tmp, ',')) = '\0'; 152 bkpinfo->media_size[j] = friendly_sizestr_to_sizelong(tmp); 153 sprintf(comment, "media_size[%d] = %ld", j, 154 bkpinfo->media_size[j]); 155 log_msg(3, comment); 156 } 157 for (; j <= MAX_NOOF_MEDIA; j++) { 158 bkpinfo->media_size[j] = friendly_sizestr_to_sizelong(p); 159 } 160 // bkpinfo->media_size[0] = bkpinfo->media_size[MAX_NOOF_MEDIA]; 161 for (j = 1; j <= MAX_NOOF_MEDIA; j++) { 162 if (bkpinfo->media_size[j] <= 0) { 163 log_msg(1, "You gave media #%d an invalid size\n", j); 164 return (-1); 165 } 143 bkpinfo->media_size = -1; /* dummy value */ 144 bkpinfo->media_size = friendly_sizestr_to_sizelong(p); 145 log_msg(3, "media_size = %ld", bkpinfo->media_size); 146 if (bkpinfo->media_size <= 0) { 147 log_msg(1, "You gave media an invalid size %s\n", p); 148 return (-1); 166 149 } 167 150 return (0); … … 461 444 } 462 445 } else if (flag_set['u'] || flag_set['t']) { 463 for (i = 0; i <= MAX_NOOF_MEDIA; i++) { 464 bkpinfo->media_size[i] = 0; 465 } 446 bkpinfo->media_size = 0; 466 447 } else { 467 448 retval++; -
branches/3.0/mondo/src/common/libmondo-devices.c
r3111 r3150 2277 2277 finish(1); 2278 2278 } 2279 for (i = 0; i <= MAX_NOOF_MEDIA; i++) { 2280 bkpinfo->media_size[i] = atoi(sz_size); 2281 } 2282 if (bkpinfo->media_size[0] <= 0) { 2279 bkpinfo->media_size = atoi(sz_size); 2280 if (bkpinfo->media_size <= 0) { 2283 2281 log_to_screen("User has chosen not to backup the PC"); 2284 2282 finish(1); … … 2357 2355 2358 2356 if (bkpinfo->backup_media_type == cdstream) { 2359 for (i = 0; i <= MAX_NOOF_MEDIA; i++) { 2360 bkpinfo->media_size[i] = 650; 2361 } 2357 bkpinfo->media_size = 650; 2362 2358 } 2363 2359 break; … … 2415 2411 2416 2412 if (sz_size[0] == '\0') { 2417 bkpinfo->media_size [0]= 0;2413 bkpinfo->media_size = 0; 2418 2414 } else { 2419 bkpinfo->media_size[0] = 2420 friendly_sizestr_to_sizelong(sz_size) / 2 - 50; 2421 } 2422 log_msg(4, "media_size[0] = %ld", bkpinfo->media_size[0]); 2423 if (bkpinfo->media_size[0] <= 0) { 2424 bkpinfo->media_size[0] = 0; 2425 } 2426 for (i = 1; i <= MAX_NOOF_MEDIA; i++) { 2427 bkpinfo->media_size[i] = bkpinfo->media_size[0]; 2415 bkpinfo->media_size = friendly_sizestr_to_sizelong(sz_size) / 2 - 50; 2416 } 2417 log_msg(4, "media_size = %ld", bkpinfo->media_size); 2418 if (bkpinfo->media_size <= 0) { 2419 bkpinfo->media_size = 0; 2428 2420 } 2429 2421 bkpinfo->use_obdr = ask_me_yes_or_no … … 2511 2503 strcpy(sz_size, "0"); 2512 2504 } 2513 for (i = 0; i <= MAX_NOOF_MEDIA; i++) { 2514 bkpinfo->media_size[i] = atoi(sz_size); 2515 } 2516 if (bkpinfo->media_size[0] < 0) { 2505 bkpinfo->media_size = atoi(sz_size); 2506 if (bkpinfo->media_size < 0) { 2517 2507 log_to_screen("User has chosen not to backup the PC"); 2518 2508 finish(1); … … 2658 2648 finish(1); 2659 2649 } 2660 for (i = 0; i <= MAX_NOOF_MEDIA; i++) { 2661 bkpinfo->media_size[i] = atoi(sz_size); 2662 } 2650 bkpinfo->media_size = atoi(sz_size); 2663 2651 } else { 2664 for (i = 0; i <= MAX_NOOF_MEDIA; i++) { 2665 bkpinfo->media_size[i] = 650; 2666 } 2652 bkpinfo->media_size = 650; 2667 2653 } 2668 2654 } … … 2870 2856 2871 2857 log_it("media device = %s", bkpinfo->media_device); 2872 log_it("media size = %ld", bkpinfo->media_size [1]);2858 log_it("media size = %ld", bkpinfo->media_size); 2873 2859 log_it("media type = %s", bkptype_to_string(bkpinfo->backup_media_type)); 2874 2860 log_it("prefix = %s", bkpinfo->prefix); … … 2888 2874 log_it("boot_device = '%s' (loader=%c)", bkpinfo->boot_device, 2889 2875 bkpinfo->boot_loader); 2890 if (bkpinfo->media_size [0]< 0) {2876 if (bkpinfo->media_size < 0) { 2891 2877 if (archiving_to_media) { 2892 2878 fatal_error("Media size is less than zero."); 2893 2879 } else { 2894 2880 log_msg(2, "Warning - media size is less than zero."); 2895 bkpinfo->media_size [0]= 0;2881 bkpinfo->media_size = 0; 2896 2882 } 2897 2883 } -
branches/3.0/mondo/src/common/libmondo-files.c
r3074 r3150 1259 1259 long long scratchLL; 1260 1260 1261 if (bkpinfo->media_size [1]<= 0) {1261 if (bkpinfo->media_size <= 0) { 1262 1262 log_to_screen("Number of media required: UNKNOWN"); 1263 1263 return; … … 1268 1268 (long long) (noof_sets) * (long long) (bkpinfo->optimal_set_size) 1269 1269 + (long long) (size_of_all_biggiefiles_K()); 1270 scratchLL = (scratchLL / 1024) / bkpinfo->media_size [1];1270 scratchLL = (scratchLL / 1024) / bkpinfo->media_size; 1271 1271 scratchLL++; 1272 1272 if (bkpinfo->use_lzo) { -
branches/3.0/mondo/src/common/libmondo-stream.c
r3116 r3150 199 199 } 200 200 if (should_we_write_to_next_tape 201 (bkpinfo->media_size [g_current_media_number], (off_t)256 * 1024)) {201 (bkpinfo->media_size, (off_t)256 * 1024)) { 202 202 start_to_write_to_next_tape(); 203 203 } … … 212 212 { 213 213 fwrite (blk, 1, 256*1024, g_tape_stream); 214 if (should_we_write_to_next_tape (bkpinfo->media_size [g_current_media_number], 256*1024))214 if (should_we_write_to_next_tape (bkpinfo->media_size, 256*1024)) 215 215 { 216 216 start_to_write_to_next_tape (); … … 1493 1493 log_it("New tape requested."); 1494 1494 insist_on_this_tape_number(g_current_media_number + 1); // will increment g_current_media, too 1495 if (g_current_media_number > MAX_NOOF_MEDIA) {1496 res++;1497 log_to_screen("Too many tapes. Man, you need to use nfs!");1498 }1499 1495 if (bkpinfo->backup_media_type == cdstream) { 1500 1496 mr_asprintf(&command, … … 1694 1690 filesize = length_of_file(infile); 1695 1691 if (should_we_write_to_next_tape 1696 (bkpinfo->media_size [g_current_media_number], filesize)) {1692 (bkpinfo->media_size, filesize)) { 1697 1693 start_to_write_to_next_tape(); 1698 1694 write_backcatalog_to_tape(); -
branches/3.0/mondo/src/common/libmondo-string.c
r3042 r3150 222 222 assert_string_is_neither_NULL_nor_zerolength(incoming); 223 223 224 malloc_string(tmp);225 224 if (!incoming[0]) { 226 free(tmp);227 225 return (0); 228 226 } … … 230 228 fatal_error("Please use integers only. No decimal points."); 231 229 } 230 malloc_string(tmp); 232 231 strcpy(tmp, incoming); 233 232 i = (int) strlen(tmp); … … 1076 1075 1077 1076 1078 if (bkpinfo->media_size [g_current_media_number]<= 0)1077 if (bkpinfo->media_size <= 0) 1079 1078 // { fatal_error( "percentage_media_full_comment() - unknown media size"); } 1080 1079 { … … 1086 1085 /* update screen */ 1087 1086 if (IS_THIS_A_STREAMING_BACKUP(bkpinfo->backup_media_type)) { 1088 percentage = 1089 (int) (g_tape_posK / 10 / 1090 bkpinfo->media_size[g_current_media_number]); 1087 percentage = (int) (g_tape_posK / 10 / bkpinfo->media_size); 1091 1088 if (percentage > 100) { 1092 1089 percentage = 100; … … 1095 1092 } else { 1096 1093 percentage = 1097 (int) (space_occupied_by_cd(bkpinfo->scratchdir) * 100 / 1024 / 1098 bkpinfo->media_size[g_current_media_number]); 1094 (int) (space_occupied_by_cd(bkpinfo->scratchdir) * 100 / 1024 / bkpinfo->media_size); 1099 1095 mds = media_descriptor_string(bkpinfo->backup_media_type); 1100 1096 sprintf(outstr, "%s %d: [", mds, g_current_media_number); -
branches/3.0/mondo/src/common/libmondo-tools.c
r3060 r3150 788 788 789 789 bkpinfo->media_device[0] = '\0'; 790 for (i = 0; i <= MAX_NOOF_MEDIA; i++) { 791 bkpinfo->media_size[i] = -1; 792 } 790 bkpinfo->media_size = -1; 793 791 bkpinfo->boot_loader = '\0'; 794 792 bkpinfo->boot_device[0] = '\0'; -
branches/3.0/mondo/src/common/mondostructures.h
r3137 r3150 23 23 */ 24 24 25 26 /** @def MAX_NOOF_MEDIA The maximum number of media that can be used in any one backup. */27 28 ///* So we can override it in config.h: */29 //#ifndef MAX_NOOF_MEDIA30 #define MAX_NOOF_MEDIA 5031 //#endif32 25 33 26 /** … … 344 337 345 338 /** 346 * An array containing the sizes of each media in our backup set, in MB. 347 * For example, media 1's size would be stored in media_size[1]. 348 * Element 0 is unused. 339 * A field containing the sizes of the media in our backup set, in MB. 349 340 * If the size should be autodetected, make it -1 (preferable) or 0. 350 * @bug This should probably be only one variable, not an array. 351 */ 352 long media_size[MAX_NOOF_MEDIA + 1]; 341 */ 342 long media_size; 353 343 354 344 /**
Note:
See TracChangeset
for help on using the changeset viewer.