- s = (struct ext2fs_sb *) (*fs)->super;
- if ((s->s_feature_compat & ~EXT2_LIB_FEATURE_COMPAT_SUPP) ||
-#ifdef EXT3_FEATURE_INCOMPAT_RECOVER
- (s->s_feature_incompat & ~(EXT3_FEATURE_INCOMPAT_RECOVER | EXT2_LIB_FEATURE_INCOMPAT_SUPP))) {
-#else
- (s->s_feature_incompat & ~EXT2_LIB_FEATURE_INCOMPAT_SUPP)) {
-#endif
+ struct ext2_super_block *es = (*fs)->super;
+ ext2_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");
+ retval = EXT2_ET_UNSUPP_FEATURE;
+ ext2fs_close(*fs);
+ }
+ else if ((retval = es->s_feature_incompat &
+ ~(EXT2_LIB_FEATURE_INCOMPAT_SUPP |
+ EXT3_FEATURE_INCOMPAT_RECOVER))) {
+ fprintf(stderr,
+ "Unsupported feature(s) 0x%x in filesystem\n",
+ retval);