Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6264bcd3 authored by Daniel Zheng's avatar Daniel Zheng Committed by Automerger Merge Worker
Browse files

Merge "Removing compression bit from v3 op" into main am: f7f3b62f am:...

Merge "Removing compression bit from v3 op" into main am: f7f3b62f am: 8f594c12 am: 814fb325 am: c1ff8567

Original change: https://android-review.googlesource.com/c/platform/system/core/+/2775901



Change-Id: Ib33fc5f93e6da148dec58e3c4bdd9adea0ec19bf
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents c94bfdb4 c1ff8567
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -201,14 +201,10 @@ static constexpr uint8_t kCowReadAheadInProgress = 1;
static constexpr uint8_t kCowReadAheadDone = 2;

static constexpr uint64_t kCowOpSourceInfoDataMask = (1ULL << 48) - 1;
static constexpr uint64_t kCowOpSourceInfoCompressBit = (1ULL << 63);

static inline uint64_t GetCowOpSourceInfoData(const CowOperation* op) {
    return op->source_info & kCowOpSourceInfoDataMask;
}
static inline bool GetCowOpSourceInfoCompression(const CowOperation* op) {
    return !!(op->source_info & kCowOpSourceInfoCompressBit);
}

struct CowFooter {
    CowFooterOperation op;
+0 −5
Original line number Diff line number Diff line
@@ -83,11 +83,6 @@ std::ostream& operator<<(std::ostream& os, CowOperation const& op) {
    os << "CowOperation(";
    EmitCowTypeString(os, op.type);
    if (op.type == kCowReplaceOp || op.type == kCowXorOp || op.type == kCowSequenceOp) {
        if (op.source_info & kCowOpSourceInfoCompressBit) {
            os << ", compressed";
        } else {
            os << ", uncompressed";
        }
        os << ", data_length:" << op.data_length;
    }
    if (op.type != kCowClusterOp && op.type != kCowSequenceOp && op.type != kCowLabelOp) {
+0 −1
Original line number Diff line number Diff line
@@ -136,7 +136,6 @@ bool CowReader::Parse(android::base::borrowed_fd fd, std::optional<uint64_t> lab
                           << v2_op.compression << ", op: " << v2_op;
                return false;
            }
            source_info |= kCowOpSourceInfoCompressBit;
        }
        new_op.source_info = source_info;
    }
+0 −6
Original line number Diff line number Diff line
@@ -143,7 +143,6 @@ TEST_F(CowTest, ReadWrite) {
    op = iter->Get();

    ASSERT_EQ(op->type, kCowReplaceOp);
    ASSERT_FALSE(GetCowOpSourceInfoCompression(op));
    ASSERT_EQ(op->data_length, 4096);
    ASSERT_EQ(op->new_block, 50);
    ASSERT_TRUE(ReadData(reader, op, sink.data(), sink.size()));
@@ -219,7 +218,6 @@ TEST_F(CowTest, ReadWriteXor) {
    op = iter->Get();

    ASSERT_EQ(op->type, kCowXorOp);
    ASSERT_FALSE(GetCowOpSourceInfoCompression(op));
    ASSERT_EQ(op->data_length, 4096);
    ASSERT_EQ(op->new_block, 50);
    ASSERT_EQ(GetCowOpSourceInfoData(op), 98314);  // 4096 * 24 + 10
@@ -276,7 +274,6 @@ TEST_F(CowTest, CompressGz) {
    std::string sink(data.size(), '\0');

    ASSERT_EQ(op->type, kCowReplaceOp);
    ASSERT_TRUE(GetCowOpSourceInfoCompression(op));
    ASSERT_EQ(op->data_length, 56);  // compressed!
    ASSERT_EQ(op->new_block, 50);
    ASSERT_TRUE(ReadData(reader, op, sink.data(), sink.size()));
@@ -523,7 +520,6 @@ TEST_F(CowTest, ClusterCompressGz) {
    std::string sink(data.size(), '\0');

    ASSERT_EQ(op->type, kCowReplaceOp);
    ASSERT_TRUE(GetCowOpSourceInfoCompression(op));
    ASSERT_EQ(op->data_length, 56);  // compressed!
    ASSERT_EQ(op->new_block, 50);
    ASSERT_TRUE(ReadData(reader, op, sink.data(), sink.size()));
@@ -541,7 +537,6 @@ TEST_F(CowTest, ClusterCompressGz) {

    sink = {};
    sink.resize(data2.size(), '\0');
    ASSERT_TRUE(GetCowOpSourceInfoCompression(op));
    ASSERT_EQ(op->data_length, 41);  // compressed!
    ASSERT_EQ(op->new_block, 51);
    ASSERT_TRUE(ReadData(reader, op, sink.data(), sink.size()));
@@ -586,7 +581,6 @@ TEST_F(CowTest, CompressTwoBlocks) {

    auto op = iter->Get();
    ASSERT_EQ(op->type, kCowReplaceOp);
    ASSERT_TRUE(GetCowOpSourceInfoCompression(op));
    ASSERT_EQ(op->new_block, 51);
    ASSERT_TRUE(ReadData(reader, op, sink.data(), sink.size()));
}