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

Commit 08786610 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge changes I63b5e69b,I85c6af63 am: a800e1ee am: e37779bf

Change-Id: Icd8185c3dde915a3fc2422277504965944e1ea94
parents 064e4151 e37779bf
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -5,6 +5,12 @@
    },
    {
      "name": "liblp_test"
    },
    {
      "name": "fiemap_image_test_presubmit"
    },
    {
      "name": "fiemap_writer_test"
    }
  ]
}
+30 −0
Original line number Diff line number Diff line
@@ -104,4 +104,34 @@ cc_test {
    srcs: [
        "image_test.cpp",
    ],
    test_suites: ["device-tests"],
    auto_gen_config: true,
    require_root: true,
}

/* BUG(148874852) temporary test */
cc_test {
    name: "fiemap_image_test_presubmit",
    cppflags: [
        "-DSKIP_TEST_IN_PRESUBMIT",
    ],
    static_libs: [
        "libdm",
        "libext4_utils",
        "libfs_mgr",
        "liblp",
    ],
    shared_libs: [
        "libbase",
        "libcrypto",
        "libcrypto_utils",
        "libcutils",
        "liblog",
    ],
    srcs: [
        "image_test.cpp",
    ],
    test_suites: ["device-tests"],
    auto_gen_config: true,
    require_root: true,
}
+6 −8
Original line number Diff line number Diff line
@@ -526,11 +526,7 @@ static bool IsValidExtent(const fiemap_extent* extent, std::string_view file_pat
}

static bool IsLastExtent(const fiemap_extent* extent) {
    if (!(extent->fe_flags & FIEMAP_EXTENT_LAST)) {
        LOG(ERROR) << "Extents are being received out-of-order";
        return false;
    }
    return true;
    return !!(extent->fe_flags & FIEMAP_EXTENT_LAST);
}

static bool FiemapToExtents(struct fiemap* fiemap, std::vector<struct fiemap_extent>* extents,
@@ -552,7 +548,10 @@ static bool FiemapToExtents(struct fiemap* fiemap, std::vector<struct fiemap_ext
        fiemap_extent* next = &fiemap->fm_extents[i];

        // Make sure extents are returned in order
        if (next != last_extent && IsLastExtent(next)) return false;
        if (next != last_extent && IsLastExtent(next)) {
            LOG(ERROR) << "Extents are being received out-of-order";
            return false;
        }

        // Check if extent's flags are valid
        if (!IsValidExtent(next, file_path)) return false;
@@ -592,8 +591,7 @@ static bool ReadFiemap(int file_fd, const std::string& file_path,
        return false;
    }

    uint64_t fiemap_size =
            sizeof(struct fiemap_extent) + num_extents * sizeof(struct fiemap_extent);
    uint64_t fiemap_size = sizeof(struct fiemap) + num_extents * sizeof(struct fiemap_extent);
    auto buffer = std::unique_ptr<void, decltype(&free)>(calloc(1, fiemap_size), free);
    if (buffer == nullptr) {
        LOG(ERROR) << "Failed to allocate memory for fiemap";
+3 −0
Original line number Diff line number Diff line
@@ -212,6 +212,9 @@ TEST_F(ImageTest, DirectMount) {
}

TEST_F(ImageTest, IndirectMount) {
#ifdef SKIP_TEST_IN_PRESUBMIT
    GTEST_SKIP() << "WIP failure b/148874852";
#endif
    // Create a simple wrapper around the base device that we'll mount from
    // instead. This will simulate the code paths for dm-crypt/default-key/bow
    // and force us to use device-mapper rather than loop devices.