diff -ur /tmp/e2fsprogs-1.27/e2fsck/journal.c ./e2fsck/journal.c --- /tmp/e2fsprogs-1.27/e2fsck/journal.c Fri Mar 8 06:05:02 2002 +++ ./e2fsck/journal.c Tue May 7 19:07:13 2002 @@ -12,6 +12,7 @@ * any later version. */ +#include #ifdef HAVE_SYS_MOUNT_H #include #define MNT_FL (MS_MGC_VAL | MS_RDONLY) Only in ./include: asm Only in ./include: linux Only in ./intl: Makefile Only in ./intl: libintl.h Only in ./intl: po2tbl.sed diff -ur /tmp/e2fsprogs-1.27/lib/ext2fs/flushb.c ./lib/ext2fs/flushb.c --- /tmp/e2fsprogs-1.27/lib/ext2fs/flushb.c Sun Feb 24 21:03:59 2002 +++ ./lib/ext2fs/flushb.c Tue May 7 19:05:48 2002 @@ -11,6 +11,7 @@ */ #include +#include #if HAVE_ERRNO_H #include #endif diff -ur /tmp/e2fsprogs-1.27/lib/ext2fs/ismounted.c ./lib/ext2fs/ismounted.c --- /tmp/e2fsprogs-1.27/lib/ext2fs/ismounted.c Sun Feb 24 21:03:59 2002 +++ ./lib/ext2fs/ismounted.c Tue May 7 19:21:29 2002 @@ -279,6 +279,48 @@ #endif /* HAVE_MNTENT_H */ } +static int is_swap_device(const char *file) +{ + FILE *f; + char buf[1024], *cp; + dev_t file_dev; + struct stat st_buf; + int ret = 0; + + file_dev = 0; +#ifndef __GNU__ /* The GNU hurd is broken with respect to stat devices */ + if (stat(file, &st_buf) == 0) + file_dev = st_buf.st_rdev; +#endif + + if (!(f = fopen("/proc/swaps", "r"))) + return 0; + /* Skip the first line */ + fgets(buf, sizeof(buf), f); + while (!feof(f)) { + if (!fgets(buf, sizeof(buf), f)) + break; + if ((cp = strchr(buf, ' ')) != NULL) + *cp = 0; + if ((cp = strchr(buf, '\t')) != NULL) + *cp = 0; + if (strcmp(buf, file) == 0) { + ret++; + break; + } +#ifndef __GNU__ + if (file_dev && (stat(buf, &st_buf) == 0) && + file_dev == st_buf.st_rdev) { + ret++; + break; + } +#endif + } + fclose(f); + return ret; +} + + /* * ext2fs_check_if_mounted() sets the mount_flags EXT2_MF_MOUNTED, * EXT2_MF_READONLY, and EXT2_MF_ROOT Only in ./po: Makefile Only in ./po: Makefile.in Only in ./po: POTFILES