Loading fs_mgr/libsnapshot/inspect_cow.cpp +18 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,7 @@ static bool Inspect(const std::string& path, Options opt) { } StringSink sink; bool success = true; uint64_t xor_ops = 0, copy_ops = 0, replace_ops = 0, zero_ops = 0; while (!iter->Done()) { const CowOperation& op = iter->Get(); Loading Loading @@ -187,9 +188,26 @@ static bool Inspect(const std::string& path, Options opt) { } } if (op.type == kCowCopyOp) { copy_ops++; } else if (op.type == kCowReplaceOp) { replace_ops++; } else if (op.type == kCowZeroOp) { zero_ops++; } else if (op.type == kCowXorOp) { xor_ops++; } iter->Next(); } if (!opt.silent) { auto total_ops = replace_ops + zero_ops + copy_ops + xor_ops; std::cout << "Total-data-ops: " << total_ops << "Replace-ops: " << replace_ops << " Zero-ops: " << zero_ops << " Copy-ops: " << copy_ops << " Xor_ops: " << xor_ops << std::endl; } return success; } Loading Loading
fs_mgr/libsnapshot/inspect_cow.cpp +18 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,7 @@ static bool Inspect(const std::string& path, Options opt) { } StringSink sink; bool success = true; uint64_t xor_ops = 0, copy_ops = 0, replace_ops = 0, zero_ops = 0; while (!iter->Done()) { const CowOperation& op = iter->Get(); Loading Loading @@ -187,9 +188,26 @@ static bool Inspect(const std::string& path, Options opt) { } } if (op.type == kCowCopyOp) { copy_ops++; } else if (op.type == kCowReplaceOp) { replace_ops++; } else if (op.type == kCowZeroOp) { zero_ops++; } else if (op.type == kCowXorOp) { xor_ops++; } iter->Next(); } if (!opt.silent) { auto total_ops = replace_ops + zero_ops + copy_ops + xor_ops; std::cout << "Total-data-ops: " << total_ops << "Replace-ops: " << replace_ops << " Zero-ops: " << zero_ops << " Copy-ops: " << copy_ops << " Xor_ops: " << xor_ops << std::endl; } return success; } Loading