Whamcloud - gitweb
misc/mke2fs: fix Windows build
authorEric Biggers <ebiggers@google.com>
Sat, 21 Jan 2023 20:32:24 +0000 (12:32 -0800)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 27 Jan 2023 17:38:31 +0000 (12:38 -0500)
unix_io_manager is no longer available on Windows.  windows_io_manager
must be used instead.

Fixes: 86b6db9f5a43 ("libext2fs: code adaptation to use the Windows IO manager")
Cc: Paulo Antonio Alvarez <pauloaalvarez@gmail.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
lib/ext2fs/ext2_io.h
lib/support/plausible.c
misc/mke2fs.c

index 8fe5b32..679184e 100644 (file)
@@ -145,10 +145,12 @@ extern errcode_t io_channel_cache_readahead(io_channel io,
 #ifdef _WIN32
 /* windows_io.c */
 extern io_manager windows_io_manager;
+#define default_io_manager windows_io_manager
 #else
 /* unix_io.c */
 extern io_manager unix_io_manager;
 extern io_manager unixfd_io_manager;
+#define default_io_manager unix_io_manager
 #endif
 
 /* sparse_io.c */
index 349aa2c..65a6b2e 100644 (file)
@@ -103,12 +103,7 @@ static void print_ext2_info(const char *device)
        time_t                  tm;
 
        retval = ext2fs_open2(device, 0, EXT2_FLAG_64BITS, 0, 0,
-#ifdef _WIN32
-                             windows_io_manager,
-#else
-                             unix_io_manager,
-#endif
-                  &fs);
+                             default_io_manager, &fs);
        if (retval)
                return;
        sb = fs->super;
index d69b8ec..f486de8 100644 (file)
@@ -1924,10 +1924,10 @@ profile_error:
 #ifdef CONFIG_TESTIO_DEBUG
                if (getenv("TEST_IO_FLAGS") || getenv("TEST_IO_BLOCK")) {
                        io_ptr = test_io_manager;
-                       test_io_backing_manager = unix_io_manager;
+                       test_io_backing_manager = default_io_manager;
                } else
 #endif
-                       io_ptr = unix_io_manager;
+                       io_ptr = default_io_manager;
                retval = ext2fs_open(journal_device,
                                     EXT2_FLAG_JOURNAL_DEV_OK, 0,
                                     0, io_ptr, &jfs);
@@ -2694,7 +2694,7 @@ static int should_do_undo(const char *name)
        io_channel channel;
        __u16   s_magic;
        struct ext2_super_block super;
-       io_manager manager = unix_io_manager;
+       io_manager manager = default_io_manager;
        int csum_flag, force_undo;
 
        csum_flag = ext2fs_has_feature_metadata_csum(&fs_param) ||
@@ -2999,10 +2999,10 @@ int main (int argc, char *argv[])
 #ifdef CONFIG_TESTIO_DEBUG
        if (getenv("TEST_IO_FLAGS") || getenv("TEST_IO_BLOCK")) {
                io_ptr = test_io_manager;
-               test_io_backing_manager = unix_io_manager;
+               test_io_backing_manager = default_io_manager;
        } else
 #endif
-               io_ptr = unix_io_manager;
+               io_ptr = default_io_manager;
 
        if (undo_file != NULL || should_do_undo(device_name)) {
                retval = mke2fs_setup_tdb(device_name, &io_ptr);
@@ -3395,7 +3395,7 @@ int main (int argc, char *argv[])
 
                retval = ext2fs_open(journal_device, EXT2_FLAG_RW|
                                     EXT2_FLAG_JOURNAL_DEV_OK, 0,
-                                    fs->blocksize, unix_io_manager, &jfs);
+                                    fs->blocksize, default_io_manager, &jfs);
                if (retval) {
                        com_err(program_name, retval,
                                _("while trying to open journal device %s\n"),