Many files:
  Checked in e2fsprogs 0.5c

diff --git a/e2fsck/flushb.c b/e2fsck/flushb.c
index eba4e85..20b9917 100644
--- a/e2fsck/flushb.c
+++ b/e2fsck/flushb.c
@@ -9,7 +9,9 @@
 #include <fcntl.h>
 #include <sys/ioctl.h>
 
+#ifdef HAVE_LINUX_FS_H
 #include <linux/fs.h>
+#endif
 
 #ifdef __STDC__
 #define NOARGS void
@@ -43,9 +45,15 @@
 	 * Note: to reread the partition table, use the ioctl
 	 * BLKRRPART instead of BLKFSLBUF.
 	 */
+#ifdef BLKFLSBUF
 	if (ioctl(fd, BLKFLSBUF, 0) < 0) {
-		perror("ioctl");
+		perror("ioctl BLKFLSBUF");
 		exit(1);
 	}
 	return 0;
+#else
+	fprintf(stderr,
+		"BLKFLSBUF ioctl not supported!  Can't flush buffers.\n");
+	return 1;
+#endif
 }