Changeset 948 in MondoRescue for branches/stable/mondo/src/common/libmondo-stream.c
- Timestamp:
- Nov 19, 2006, 1:27:46 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/stable/mondo/src/common/libmondo-stream.c
r684 r948 115 115 extern bool g_sigpipe; 116 116 extern int g_tape_buffer_size_MB; 117 118 extern char *g_getfacl; 119 extern char *g_getfattr; 117 120 118 121 /** … … 443 446 444 447 // xattr 445 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 446 if (*pctrl_chr != BLK_START_EXAT_FILE) { 447 wrong_marker(BLK_START_EXAT_FILE, *pctrl_chr); 448 } 449 if (!strstr(tmp_fname, "xattr")) { 450 fatal_error("Wrong order, sunshine."); 451 } 452 read_file_from_stream_to_file(bkpinfo, xattr_fname, *ptmp_size); 453 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 454 if (*pctrl_chr != BLK_STOP_EXAT_FILE) { 455 wrong_marker(BLK_STOP_EXAT_FILE, *pctrl_chr); 448 if (g_getfattr) { 449 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 450 if (*pctrl_chr != BLK_START_EXAT_FILE) { 451 wrong_marker(BLK_START_EXAT_FILE, *pctrl_chr); 452 } 453 if (!strstr(tmp_fname, "xattr")) { 454 fatal_error("Wrong order, sunshine."); 455 } 456 read_file_from_stream_to_file(bkpinfo, xattr_fname, *ptmp_size); 457 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 458 if (*pctrl_chr != BLK_STOP_EXAT_FILE) { 459 wrong_marker(BLK_STOP_EXAT_FILE, *pctrl_chr); 460 } 461 log_msg(1, "Got xattr"); 456 462 } 457 463 // acl 458 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 459 if (!strstr(tmp_fname, "acl")) { 460 fatal_error("Wrong order, sunshine."); 461 } 462 if (*pctrl_chr != BLK_START_EXAT_FILE) { 463 wrong_marker(BLK_START_EXAT_FILE, *pctrl_chr); 464 } 465 read_file_from_stream_to_file(bkpinfo, acl_fname, *ptmp_size); 466 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 467 if (*pctrl_chr != BLK_STOP_EXAT_FILE) { 468 wrong_marker(BLK_STOP_EXAT_FILE, *pctrl_chr); 469 } 470 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 471 if (*pctrl_chr != BLK_STOP_EXTENDED_ATTRIBUTES) { 472 wrong_marker(BLK_STOP_EXTENDED_ATTRIBUTES, *pctrl_chr); 464 if (g_getfacl) { 465 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 466 if (!strstr(tmp_fname, "acl")) { 467 fatal_error("Wrong order, sunshine."); 468 } 469 if (*pctrl_chr != BLK_START_EXAT_FILE) { 470 wrong_marker(BLK_START_EXAT_FILE, *pctrl_chr); 471 } 472 read_file_from_stream_to_file(bkpinfo, acl_fname, *ptmp_size); 473 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 474 if (*pctrl_chr != BLK_STOP_EXAT_FILE) { 475 wrong_marker(BLK_STOP_EXAT_FILE, *pctrl_chr); 476 } 477 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 478 if (*pctrl_chr != BLK_STOP_EXTENDED_ATTRIBUTES) { 479 wrong_marker(BLK_STOP_EXTENDED_ATTRIBUTES, *pctrl_chr); 480 } 481 log_msg(1, "Got acl"); 473 482 } 474 483 // tarball itself 475 484 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 476 log_msg(1, " Got xattr and acl;now looking for afioball");485 log_msg(1, "now looking for afioball"); 477 486 return (retval); 478 487 } … … 483 492 { 484 493 int res = 0; 485 // EXATs 486 write_header_block_to_stream(length_of_file(xattr_fname), xattr_fname, 487 BLK_START_EXTENDED_ATTRIBUTES); 494 if (g_getfattr) { 488 495 // xattr 489 write_header_block_to_stream(length_of_file(xattr_fname), xattr_fname, 490 BLK_START_EXAT_FILE); 491 write_file_to_stream_from_file(bkpinfo, xattr_fname); 492 write_header_block_to_stream((off_t)-1, xattr_fname, BLK_STOP_EXAT_FILE); 496 write_header_block_to_stream(length_of_file(xattr_fname), xattr_fname, 497 BLK_START_EXTENDED_ATTRIBUTES); 498 write_header_block_to_stream(length_of_file(xattr_fname), xattr_fname, 499 BLK_START_EXAT_FILE); 500 write_file_to_stream_from_file(bkpinfo, xattr_fname); 501 write_header_block_to_stream((off_t)-1, xattr_fname, BLK_STOP_EXAT_FILE); 502 } 503 if (g_getfacl) { 493 504 // acl 494 write_header_block_to_stream(length_of_file(acl_fname), acl_fname, 495 BLK_START_EXAT_FILE); 496 write_file_to_stream_from_file(bkpinfo, acl_fname); 497 write_header_block_to_stream((off_t)-1, acl_fname, BLK_STOP_EXAT_FILE); 498 write_header_block_to_stream(length_of_file(xattr_fname), xattr_fname, 499 BLK_STOP_EXTENDED_ATTRIBUTES); 505 write_header_block_to_stream(length_of_file(acl_fname), acl_fname, 506 BLK_START_EXAT_FILE); 507 write_file_to_stream_from_file(bkpinfo, acl_fname); 508 write_header_block_to_stream((off_t)-1, acl_fname, BLK_STOP_EXAT_FILE); 509 write_header_block_to_stream(length_of_file(xattr_fname), xattr_fname, 510 BLK_STOP_EXTENDED_ATTRIBUTES); 511 } 500 512 return (res); 501 513 }
Note:
See TracChangeset
for help on using the changeset viewer.