ChangeLog, llseek.c:
  llseek.c: Add #ifdef's for IA64 (it's a 64-bit platform, so we don't
  	need to use llseek).
ChangeLog, fsck.c:
  fsck.c (device_already_active): Add a special case check for MD
  	devices, so we don't try to check them in parallel with other devices.

diff --git a/lib/ext2fs/ChangeLog b/lib/ext2fs/ChangeLog
index a996397..b72b52a 100644
--- a/lib/ext2fs/ChangeLog
+++ b/lib/ext2fs/ChangeLog
@@ -1,3 +1,8 @@
+2000-10-24    <tytso@snap.thunk.org>
+
+	* llseek.c: Add #ifdef's for IA64 (it's a 64-bit platform, so we
+		don't need to use llseek).
+
 2000-10-24    <tytso@valinux.com>
 
 	* Makefile.in, ext2fs.h, jfs_dat.h, mkjournal.c: Add functions for
diff --git a/lib/ext2fs/llseek.c b/lib/ext2fs/llseek.c
index 27348d9..17d3d08 100644
--- a/lib/ext2fs/llseek.c
+++ b/lib/ext2fs/llseek.c
@@ -45,11 +45,11 @@
 
 #else	/* ! HAVE_LLSEEK */
 
-#ifdef __alpha__
+#if defined(__alpha__) || defined (__ia64__)
 
 #define llseek lseek
 
-#else /* !__alpha__ */
+#else /* !__alpha__ && !__ia64__*/
 
 #include <linux/unistd.h>
 
@@ -81,7 +81,7 @@
 	return (retval == -1 ? (ext2_loff_t) retval : result);
 }
 
-#endif	/* __alpha__ */
+#endif	/* __alpha__ || __ia64__ */
 
 #endif /* HAVE_LLSEEK */
 
diff --git a/misc/ChangeLog b/misc/ChangeLog
index 266e49c..048b9a4 100644
--- a/misc/ChangeLog
+++ b/misc/ChangeLog
@@ -1,5 +1,9 @@
 2000-10-24    <tytso@snap.thunk.org>
 
+	* fsck.c (device_already_active): Add a special case check for MD
+		devices, so we don't try to check them in parallel with
+		other devices.
+
 	* mke2fs.c (PRS, main), mke2fs.8.in: Add support for the -j
 		option, which builds an ext2/3 filesystem with an ext3
 		journal.
diff --git a/misc/fsck.c b/misc/fsck.c
index 981ec27..5202711 100644
--- a/misc/fsck.c
+++ b/misc/fsck.c
@@ -103,6 +103,7 @@
 	NULL
 };
 #else
+#define BASE_MD "/dev/md"
 static const char *base_devices[] = {
 	"/dev/hda",
 	"/dev/hdb",
@@ -123,6 +124,7 @@
 	"/dev/sde",
 	"/dev/sdf",
 	"/dev/sdg",
+	BASE_MD,
 	NULL
 };
 #endif
@@ -748,6 +750,14 @@
 	if (force_all_parallel)
 		return 0;
 
+#ifdef BASE_MD
+	/* Don't check a soft raid disk with any other disk */
+	if (instance_list &&
+	    (!strncmp(instance_list->device, BASE_MD, sizeof(BASE_MD)-1) ||
+	     !strncmp(device, BASE_MD, sizeof(BASE_MD)-1)))
+		return 1;
+#endif
+
 	for (inst = instance_list; inst; inst = inst->next) {
 		if (!strcmp(base, base_device(inst->device)))
 			return 1;