Loading fs_mgr/TEST_MAPPING +6 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,12 @@ }, { "name": "liblp_test" }, { "name": "fiemap_image_test_presubmit" }, { "name": "fiemap_writer_test" } ] } fs_mgr/libfiemap/Android.bp +30 −0 Original line number Diff line number Diff line Loading @@ -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, } fs_mgr/libfiemap/fiemap_writer.cpp +6 −8 Original line number Diff line number Diff line Loading @@ -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, Loading @@ -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; Loading Loading @@ -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"; Loading fs_mgr/libfiemap/image_test.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -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. Loading Loading
fs_mgr/TEST_MAPPING +6 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,12 @@ }, { "name": "liblp_test" }, { "name": "fiemap_image_test_presubmit" }, { "name": "fiemap_writer_test" } ] }
fs_mgr/libfiemap/Android.bp +30 −0 Original line number Diff line number Diff line Loading @@ -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, }
fs_mgr/libfiemap/fiemap_writer.cpp +6 −8 Original line number Diff line number Diff line Loading @@ -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, Loading @@ -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; Loading Loading @@ -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"; Loading
fs_mgr/libfiemap/image_test.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -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. Loading