]> git.wh0rd.org - dump.git/blobdiff - dump/traverse.c
Get the install paths from configure.
[dump.git] / dump / traverse.c
index 4bf70d5ddf8565d819ab4bfd7a05ff0438e1280a..c4e1e9ab0dde48fe1ab28bb3d7aa1dfd46f3b47b 100644 (file)
@@ -41,7 +41,7 @@
 
 #ifndef lint
 static const char rcsid[] =
-       "$Id: traverse.c,v 1.29 2001/03/21 09:37:13 stelian Exp $";
+       "$Id: traverse.c,v 1.31 2001/03/28 12:59:48 stelian Exp $";
 #endif /* not lint */
 
 #include <config.h>
@@ -108,7 +108,7 @@ extern int iexclude_num;                    /* number of elements in list */
 #define ext2_journal_ino(sb) (*((__u32 *)sb + 0x38))
 #endif
 #ifndef HAVE_EXT2_INO_T
-#define ext2_ino_t __u32
+typedef ino_t ext2_ino_t;
 #endif
 
 #ifndef EXT3_FEATURE_COMPAT_HAS_JOURNAL
@@ -128,6 +128,9 @@ extern int iexclude_num;                    /* number of elements in list */
 #define EXT2_LIB_FEATURE_INCOMPAT_SUPP (EXT3_FEATURE_INCOMPAT_RECOVER | \
                                        EXT2_FEATURE_INCOMPAT_FILETYPE)
 #endif
+#ifndef EXT2_RESIZE_INO
+#define EXT2_RESIZE_INO                        7
+#endif
 
 int dump_fs_open(const char *disk, ext2_filsys *fs)
 {
@@ -136,7 +139,7 @@ int dump_fs_open(const char *disk, ext2_filsys *fs)
        retval = ext2fs_open(disk, EXT2_FLAG_FORCE, 0, 0, unix_io_manager, fs);
        if (!retval) {
                struct ext2_super_block *es = (*fs)->super;
-               ext2_ino_t journal_ino = ext2_journal_ino(es);
+               dump_ino_t journal_ino = ext2_journal_ino(es);
 
                if (es->s_feature_incompat & EXT3_FEATURE_INCOMPAT_JOURNAL_DEV){
                        fprintf(stderr, "This an journal, not a filesystem!\n");
@@ -152,13 +155,16 @@ int dump_fs_open(const char *disk, ext2_filsys *fs)
                        retval = EXT2_ET_UNSUPP_FEATURE;
                        ext2fs_close(*fs);
                }
-               else if (es->s_feature_compat &
+               else {
+                       if (es->s_feature_compat &
                                EXT3_FEATURE_COMPAT_HAS_JOURNAL && 
-                               journal_ino && 
-                               !exclude_ino((dump_ino_t)journal_ino)) {
-                       iexclude_list[iexclude_num++] = (dump_ino_t)journal_ino;
-                       msg("Added ext3 journal inode %d to exclude list\n",
-                           journal_ino);
+                               journal_ino && !exclude_ino(journal_ino)) {
+                               iexclude_list[iexclude_num++] = journal_ino;
+                               msg("Exclude ext3 journal inode %u\n",
+                                   journal_ino);
+                       }
+                       if (!exclude_ino(EXT2_RESIZE_INO))
+                               iexclude_list[iexclude_num++] = EXT2_RESIZE_INO;
                }
        }
        return retval;