From d90f3494b219f9fe327eaa561faf75582f65ad9e Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Fri, 22 Jun 2001 21:01:17 -0400 Subject: [PATCH] e2fsck/flushb.c and lib/ext2fs/flushb.c: Use platform independent method of defining the BLKFLSBUF and FDFLUSH ioctl's. Also include sys/mount.h since on newer glibc's BLKFLSBUF is defined there. --- e2fsck/ChangeLog | 6 ++++++ e2fsck/flushb.c | 7 ++++--- lib/ext2fs/ChangeLog | 4 ++++ lib/ext2fs/flushb.c | 17 +++++++++++------ 4 files changed, 25 insertions(+), 9 deletions(-) diff --git a/e2fsck/ChangeLog b/e2fsck/ChangeLog index 782aec72..4a9aa9f0 100644 --- a/e2fsck/ChangeLog +++ b/e2fsck/ChangeLog @@ -1,3 +1,9 @@ +2001-06-22 Theodore Tso + + * flushb.c: Use platform independent method of defining the + BLKFLSBUF ioctl. Also include sys/mount.h since on newer + platforms BLKFLSBUF is defined there. + 2001-06-19 Theodore Tso * super.c (release_inode_blocks): Don't try to release the blocks diff --git a/e2fsck/flushb.c b/e2fsck/flushb.c index 16389b2d..d56b41c5 100644 --- a/e2fsck/flushb.c +++ b/e2fsck/flushb.c @@ -29,11 +29,12 @@ #include #include #include +#include #include "../misc/nls-enable.h" -/* For Linux/i386, define BLKFLSBUF */ -#if (!defined(BLKFLSBUF) && defined(__i386__)) -#define BLKFLSBUF 0x1261 /* flush buffer cache */ +/* For Linux, define BLKFLSBUF if necessary */ +#if (!defined(BLKFLSBUF) && defined(__linux__)) +#define BLKFLSBUF _IO(0x12,97) /* flush buffer cache */ #endif const char *progname; diff --git a/lib/ext2fs/ChangeLog b/lib/ext2fs/ChangeLog index 38e026af..00ee60cd 100644 --- a/lib/ext2fs/ChangeLog +++ b/lib/ext2fs/ChangeLog @@ -1,5 +1,9 @@ 2001-06-22 Theodore Tso + * flushb.c: Use platform independent method of defining the + BLKFLSBUF and FDFLUSH ioctl's. Also include sys/mount.h + since on newer glibc's BLKFLSBUF is defined there. + * bitops.h: The C language versions of ext2fs_swab16/32 need to be included if EXT2FS_ENABLE_SWAPFS is defined, since we need to support byte swapping even if we don't support the diff --git a/lib/ext2fs/flushb.c b/lib/ext2fs/flushb.c index 03f48a6f..282dca37 100644 --- a/lib/ext2fs/flushb.c +++ b/lib/ext2fs/flushb.c @@ -20,21 +20,26 @@ #if HAVE_SYS_IOCTL_H #include #endif +#if HAVE_SYS_MOUNT_H +#include /* This may define BLKFLSBUF */ +#endif #include "ext2_fs.h" #include "ext2fs.h" /* - * For Linux/i386, define BLKFLSBUF and FDFLUSH if necessary, since - * no portable header file does so for us. This really should be - * fixed in the glibc header files. Until then.... + * For Linux, define BLKFLSBUF and FDFLUSH if necessary, since + * not all portable header file does so for us. This really should be + * fixed in the glibc header files. (Recent glibcs appear to define + * BLKFLSBUF in sys/mount.h, but FDFLUSH still doesn't seem to be + * defined anywhere portable.) Until then.... */ -#if (defined(__i386__) && defined(__linux__)) +#ifdef __linux__ #ifndef BLKFLSBUF -#define BLKFLSBUF 0x1261 /* flush buffer cache */ +#define BLKFLSBUF _IO(0x12,97) /* flush buffer cache */ #endif #ifndef FDFLUSH -#define FDFLUSH 0x024b /* flush floppy disk */ +#define FDFLUSH _IO(2,0x4b) /* flush floppy disk */ #endif #endif