ChangeLog, main.c, resize2fs.c:
  main.c (main): Check to make sure we can really resize this
  	filesystem.  If there are compatible feature sets that we don't
  	support, we need to abort.
  resize2fs.c: Change to use the new prototype required by
  	block_iterate2 (which uses blkcnt_t for the blockcount).
version.h, RELEASE-NOTES:
  Interim commit of changes to date.

diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 1a5f275..4cfa621 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -9,6 +9,16 @@
 complaints about libc developers don't understand the concept of
 compatibility with previous versions of libc.)
 
+Added support for the EXT2_FEATURE_INCOMPAT_DIRNAME_SIZE feature,
+which means that e2fsprogs will ignore the high 8 bits of the
+directory entry's name_len field, so that it can be used for other
+purposes.
+
+Added support for the EXT2_FEATURE_RO_COMPAT_LARGE_FILE feature.
+E2fsprogs will now support filesystems with 64-bit sized files.
+
+Added support for the EXT2_FEATURE_COMPAT_DIR_PREALLOC feature.
+
 Added new program "e2label", contributed by Andries Brouwer.  E2label
 provides an easy-to-use interface to modify the filesystem label.
 
diff --git a/resize/ChangeLog b/resize/ChangeLog
index d91240a..fe93603 100644
--- a/resize/ChangeLog
+++ b/resize/ChangeLog
@@ -1,3 +1,12 @@
+1998-03-24  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+
+	* main.c (main): Check to make sure we can really resize this
+		filesystem.  If there are compatible feature sets that we
+		don't support, we need to abort.
+
+	* resize2fs.c: Change to use the new prototype required by
+		block_iterate2 (which uses blkcnt_t for the blockcount).
+
 1998-03-20  Theodore Ts'o  <tytso@rsts-11.mit.edu>
 
 	* resize2fs.c (inode_scan_and_fix): If we are expanding the
diff --git a/resize/main.c b/resize/main.c
index 87aa8dc..756e3cb 100644
--- a/resize/main.c
+++ b/resize/main.c
@@ -113,7 +113,8 @@
 	blk_t		max_size = 0;
 	io_manager	io_ptr;
 	char		*tmp;
-
+	struct ext2fs_sb *s;
+	
 	initialize_ext2_error_table();
 
 	fprintf (stderr, "resize2fs %s (%s)\n",
@@ -194,7 +195,18 @@
 		printf ("Couldn't find valid filesystem superblock.\n");
 		exit (1);
 	}
-
+	/*
+	 * Check for compatibility with the feature sets.  We need to
+	 * be more stringent than ext2fs_open().
+	 */
+	s = (struct ext2fs_sb *) fs->super;
+	if ((s->s_feature_compat & ~EXT2_LIB_FEATURE_COMPAT_SUPP) ||
+	    (s->s_feature_incompat & ~EXT2_LIB_FEATURE_RO_COMPAT_SUPP)) {
+		com_err(program_name, EXT2_ET_UNSUPP_FEATURE,
+			"(%s)", device_name);
+		exit(1);
+	}
+	
 	/*
 	 * Get the size of the containing partition, and use this for
 	 * defaults and for making sure the new filesystme doesn't
diff --git a/resize/resize2fs.c b/resize/resize2fs.c
index 1b6d082..4d85969 100644
--- a/resize/resize2fs.c
+++ b/resize/resize2fs.c
@@ -856,7 +856,7 @@
 };
 
 static int process_block(ext2_filsys fs, blk_t	*block_nr,
-			 int blockcnt, blk_t ref_block,
+			 blkcnt_t blockcnt, blk_t ref_block,
 			 int ref_offset, void *priv_data)
 {
 	struct process_block_struct *pb;
@@ -874,7 +874,7 @@
 			pb->changed = 1;
 #ifdef RESIZE2FS_DEBUG
 			if (pb->rfs->flags & RESIZE_DEBUG_BMOVE)
-				printf("ino=%ld, blockcnt=%d, %u->%u\n", 
+				printf("ino=%ld, blockcnt=%ld, %u->%u\n", 
 				       pb->ino, blockcnt, block, new_block);
 #endif
 			block = new_block;
@@ -882,7 +882,7 @@
 	}
 	if (pb->is_dir) {
 		retval = ext2fs_add_dir_block(fs->dblist, pb->ino,
-					      block, blockcnt);
+					      block, (int) blockcnt);
 		if (retval) {
 			pb->error = retval;
 			ret |= BLOCK_ABORT;
diff --git a/version.h b/version.h
index 1e0d026..8c97d06 100644
--- a/version.h
+++ b/version.h
@@ -7,5 +7,5 @@
  */
 
 #define E2FSPROGS_VERSION "1.12-WIP"
-#define E2FSPROGS_DATE "26-Feb-98"
+#define E2FSPROGS_DATE "23-Mar-98"