! FIO_compressFilename_internal() : * same as FIO_compressFilename_extRess(), with `ress.desFile` already opened. * @return : 0 : compression completed correctly, * 1 : missing or pb opening srcFileName */
| 1488 | * 1 : missing or pb opening srcFileName |
| 1489 | */ |
| 1490 | static int |
| 1491 | FIO_compressFilename_internal(FIO_ctx_t* const fCtx, |
| 1492 | FIO_prefs_t* const prefs, |
| 1493 | cRess_t ress, |
| 1494 | const char* dstFileName, const char* srcFileName, |
| 1495 | int compressionLevel) |
| 1496 | { |
| 1497 | UTIL_time_t const timeStart = UTIL_getTime(); |
| 1498 | clock_t const cpuStart = clock(); |
| 1499 | U64 readsize = 0; |
| 1500 | U64 compressedfilesize = 0; |
| 1501 | U64 const fileSize = UTIL_getFileSize(srcFileName); |
| 1502 | DISPLAYLEVEL(5, "%s: %u bytes \n", srcFileName, (unsigned)fileSize); |
| 1503 | |
| 1504 | /* compression format selection */ |
| 1505 | switch (prefs->compressionType) { |
| 1506 | default: |
| 1507 | case FIO_zstdCompression: |
| 1508 | compressedfilesize = FIO_compressZstdFrame(fCtx, prefs, &ress, srcFileName, fileSize, compressionLevel, &readsize); |
| 1509 | break; |
| 1510 | |
| 1511 | case FIO_gzipCompression: |
| 1512 | #ifdef ZSTD_GZCOMPRESS |
| 1513 | compressedfilesize = FIO_compressGzFrame(&ress, srcFileName, fileSize, compressionLevel, &readsize); |
| 1514 | #else |
| 1515 | (void)compressionLevel; |
| 1516 | EXM_THROW(20, "zstd: %s: file cannot be compressed as gzip (zstd compiled without ZSTD_GZCOMPRESS) -- ignored \n", |
| 1517 | srcFileName); |
| 1518 | #endif |
| 1519 | break; |
| 1520 | |
| 1521 | case FIO_xzCompression: |
| 1522 | case FIO_lzmaCompression: |
| 1523 | #ifdef ZSTD_LZMACOMPRESS |
| 1524 | compressedfilesize = FIO_compressLzmaFrame(&ress, srcFileName, fileSize, compressionLevel, &readsize, prefs->compressionType==FIO_lzmaCompression); |
| 1525 | #else |
| 1526 | (void)compressionLevel; |
| 1527 | EXM_THROW(20, "zstd: %s: file cannot be compressed as xz/lzma (zstd compiled without ZSTD_LZMACOMPRESS) -- ignored \n", |
| 1528 | srcFileName); |
| 1529 | #endif |
| 1530 | break; |
| 1531 | |
| 1532 | case FIO_lz4Compression: |
| 1533 | #ifdef ZSTD_LZ4COMPRESS |
| 1534 | compressedfilesize = FIO_compressLz4Frame(&ress, srcFileName, fileSize, compressionLevel, prefs->checksumFlag, &readsize); |
| 1535 | #else |
| 1536 | (void)compressionLevel; |
| 1537 | EXM_THROW(20, "zstd: %s: file cannot be compressed as lz4 (zstd compiled without ZSTD_LZ4COMPRESS) -- ignored \n", |
| 1538 | srcFileName); |
| 1539 | #endif |
| 1540 | break; |
| 1541 | } |
| 1542 | |
| 1543 | /* Status */ |
| 1544 | fCtx->totalBytesInput += (size_t)readsize; |
| 1545 | fCtx->totalBytesOutput += (size_t)compressedfilesize; |
| 1546 | DISPLAYLEVEL(2, "\r%79s\r", ""); |
| 1547 | if (g_display_prefs.displayLevel >= 2 && |
no test coverage detected