Whamcloud - gitweb
tests, mke2fs: add option to suppress xattr copying to fix f_extent_htree
[tools/e2fsprogs.git] / debugfs / debugfs.c
index 2bf6a30..0b04508 100644 (file)
@@ -55,6 +55,7 @@ int sci_idx;
 ext2_filsys    current_fs;
 quota_ctx_t    current_qctx;
 ext2_ino_t     root, cwd;
+int            no_copy_xattrs;
 
 static int debugfs_setup_tdb(const char *device_name, char *undo_file,
                             io_manager *io_ptr)
@@ -172,7 +173,8 @@ static void open_filesystem(char *device, int open_flags, blk64_t superblock,
 try_open_again:
        retval = ext2fs_open(device, open_flags, superblock, blocksize,
                             io_ptr, &current_fs);
-       if (retval && !(open_flags & EXT2_FLAG_IGNORE_CSUM_ERRORS)) {
+       if (retval && (retval == EXT2_ET_SB_CSUM_INVALID) &&
+           !(open_flags & EXT2_FLAG_IGNORE_CSUM_ERRORS)) {
                open_flags |= EXT2_FLAG_IGNORE_CSUM_ERRORS;
                printf("Checksum errors in superblock!  Retrying...\n");
                goto try_open_again;
@@ -1766,7 +1768,8 @@ void do_mknod(int argc, char *argv[])
                goto usage;
 
        st.st_rdev = makedev(major, minor);
-       retval = do_mknod_internal(current_fs, cwd, argv[1], &st);
+       retval = do_mknod_internal(current_fs, cwd, argv[1],
+                                  st.st_mode, st.st_rdev);
        if (retval)
                com_err(argv[0], retval, 0);
 }