Changeset 2157 for box/trunk/lib/backupclient/BackupClientRestore.cpp
- Timestamp:
- 05/05/2008 15:44:38 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
box/trunk/lib/backupclient/BackupClientRestore.cpp
r2144 r2157 194 194 bool PrintDots; 195 195 bool RestoreDeleted; 196 bool ContinueAfterErrors; 197 bool ContinuedAfterError; 196 198 std::string mRestoreResumeInfoFilename; 197 199 RestoreResumeInfo mResumeInfo; … … 388 390 BOX_LOG_SYS_ERROR("Failed to create directory '" << 389 391 rLocalDirectoryName << "'"); 390 return Restore_UnknownError; 392 393 if (Params.ContinueAfterErrors) 394 { 395 Params.ContinuedAfterError = true; 396 } 397 else 398 { 399 return Restore_UnknownError; 400 } 391 401 } 392 402 … … 401 411 Params.mRestoreResumeInfoFilename << "': " << 402 412 e.what()); 403 return Restore_UnknownError; 413 414 if (Params.ContinueAfterErrors) 415 { 416 Params.ContinuedAfterError = true; 417 } 418 else 419 { 420 return Restore_UnknownError; 421 } 404 422 } 405 423 catch(...) … … 408 426 Params.mRestoreResumeInfoFilename << 409 427 "': unknown error"); 410 return Restore_UnknownError; 428 429 if (Params.ContinueAfterErrors) 430 { 431 Params.ContinuedAfterError = true; 432 } 433 else 434 { 435 return Restore_UnknownError; 436 } 411 437 } 412 438 … … 436 462 BOX_ERROR("Failed to restore attributes for '" << 437 463 rLocalDirectoryName << "': " << e.what()); 438 return Restore_UnknownError; 464 465 if (Params.ContinueAfterErrors) 466 { 467 Params.ContinuedAfterError = true; 468 } 469 else 470 { 471 return Restore_UnknownError; 472 } 439 473 } 440 474 catch(...) … … 442 476 BOX_ERROR("Failed to restore attributes for '" << 443 477 rLocalDirectoryName << "': unknown error"); 444 return Restore_UnknownError; 478 479 if (Params.ContinueAfterErrors) 480 { 481 Params.ContinuedAfterError = true; 482 } 483 else 484 { 485 return Restore_UnknownError; 486 } 445 487 } 446 488 … … 474 516 "file '" << localFilename << 475 517 "'"); 476 return Restore_UnknownError; 518 519 if (Params.ContinueAfterErrors) 520 { 521 Params.ContinuedAfterError = true; 522 } 523 else 524 { 525 return Restore_UnknownError; 526 } 477 527 } 478 528 … … 508 558 localFilename << "': " << 509 559 e.what()); 510 return Restore_UnknownError; 560 561 if (Params.ContinueAfterErrors) 562 { 563 Params.ContinuedAfterError = true; 564 } 565 else 566 { 567 return Restore_UnknownError; 568 } 511 569 } 512 570 catch(...) … … 515 573 localFilename << 516 574 "': unknown error"); 517 return Restore_UnknownError; 575 576 if (Params.ContinueAfterErrors) 577 { 578 Params.ContinuedAfterError = true; 579 } 580 else 581 { 582 return Restore_UnknownError; 583 } 518 584 } 519 585 … … 546 612 localFilename << "': " << 547 613 e.what()); 548 return Restore_UnknownError; 614 615 if (Params.ContinueAfterErrors) 616 { 617 Params.ContinuedAfterError = true; 618 } 619 else 620 { 621 return Restore_UnknownError; 622 } 549 623 } 550 624 catch(...) … … 554 628 localFilename << "': " 555 629 "unknown error"); 556 return Restore_UnknownError; 630 631 if (Params.ContinueAfterErrors) 632 { 633 Params.ContinuedAfterError = true; 634 } 635 else 636 { 637 return Restore_UnknownError; 638 } 557 639 } 558 640 … … 607 689 Params.mRestoreResumeInfoFilename << "': " << 608 690 e.what()); 609 return Restore_UnknownError; 691 if (Params.ContinueAfterErrors) 692 { 693 Params.ContinuedAfterError = true; 694 } 695 else 696 { 697 return Restore_UnknownError; 698 } 610 699 } 611 700 catch(...) … … 614 703 Params.mRestoreResumeInfoFilename << 615 704 "': unknown error"); 616 return Restore_UnknownError; 705 if (Params.ContinueAfterErrors) 706 { 707 Params.ContinuedAfterError = true; 708 } 709 else 710 { 711 return Restore_UnknownError; 712 } 617 713 } 618 714 … … 671 767 BOX_ERROR("Failed to restore attributes for '" << 672 768 rLocalDirectoryName << "': " << e.what()); 673 return Restore_UnknownError; 769 if (Params.ContinueAfterErrors) 770 { 771 Params.ContinuedAfterError = true; 772 } 773 else 774 { 775 return Restore_UnknownError; 776 } 674 777 } 675 778 catch(...) … … 677 780 BOX_ERROR("Failed to restore attributes for '" << 678 781 rLocalDirectoryName << "': unknown error"); 679 return Restore_UnknownError; 782 if (Params.ContinueAfterErrors) 783 { 784 Params.ContinuedAfterError = true; 785 } 786 else 787 { 788 return Restore_UnknownError; 789 } 680 790 } 681 791 … … 688 798 // Function 689 799 // Name: BackupClientRestore(BackupProtocolClient &, int64_t, 690 // const char *, bool, bool )800 // const char *, bool, bool, bool, bool, bool) 691 801 // Purpose: Restore a directory on the server to a local 692 802 // directory on the disc. The local directory must not … … 708 818 // 709 819 // Returns Restore_Complete on success. (Exceptions 710 // on error.) 820 // on error, unless ContinueAfterError is true and 821 // the error is recoverable, in which case it returns 822 // Restore_CompleteWithErrors) 711 823 // Created: 23/11/03 712 824 // … … 715 827 int64_t DirectoryID, const char *LocalDirectoryName, 716 828 bool PrintDots, bool RestoreDeleted, 717 bool UndeleteAfterRestoreDeleted, bool Resume) 829 bool UndeleteAfterRestoreDeleted, bool Resume, 830 bool ContinueAfterErrors) 718 831 { 719 832 // Parameter block … … 721 834 params.PrintDots = PrintDots; 722 835 params.RestoreDeleted = RestoreDeleted; 836 params.ContinueAfterErrors = ContinueAfterErrors; 837 params.ContinuedAfterError = false; 723 838 params.mRestoreResumeInfoFilename = LocalDirectoryName; 724 839 params.mRestoreResumeInfoFilename += ".boxbackupresume"; … … 783 898 ::unlink(params.mRestoreResumeInfoFilename.c_str()); 784 899 785 return Restore_Complete; 900 return params.ContinuedAfterError ? Restore_CompleteWithErrors 901 : Restore_Complete; 786 902 } 787 903
Note: See TracChangeset
for help on using the changeset viewer.
