Fix erofs-utils 1.7 compatibility

Test: th
Change-Id: I273fb8937e584fadf8fe7205be75c049a474bdba
diff --git a/lz4diff/lz4diff_compress_unittest.cc b/lz4diff/lz4diff_compress_unittest.cc
index b4b56d2..d05c6be 100644
--- a/lz4diff/lz4diff_compress_unittest.cc
+++ b/lz4diff/lz4diff_compress_unittest.cc
@@ -47,21 +47,20 @@
 static void ExtractErofsImage(const char* erofs_image,
                               const char* inode_path,
                               Blob* output) {
-  // EROFS has plenty of global variable usage. Protect calls to EROFS APIs with
-  // global mutex.
-  // TODO(b/202784930) Replace erofs-utils with a cleaner and more C++ friendly
-  // library. (Or turn erofs-utils into one)
-  static std::mutex mutex;
-  std::lock_guard lock(mutex);
-  auto err = dev_open_ro(erofs_image);
+  struct erofs_sb_info sbi {};
+  auto err = dev_open_ro(&sbi, erofs_image);
   ASSERT_EQ(err, 0);
-  DEFER { dev_close(); };
+  DEFER {
+    dev_close(&sbi);
+  };
 
-  err = erofs_read_superblock();
+  err = erofs_read_superblock(&sbi);
   ASSERT_EQ(err, 0);
-  struct erofs_inode inode;
+  struct erofs_inode inode {
+    .sbi = &sbi
+  };
   err = erofs_ilookup(inode_path, &inode);
-  ASSERT_EQ(err, 0);
+  ASSERT_EQ(err, 0) << strerror(-err);
   output->resize(inode.i_size);
   err = erofs_pread(&inode,
                     reinterpret_cast<char*>(output->data()),