--- xfsprogs-3.1.10/libxfs/linux.c +++ xfsprogs-3.1.10-statfs/libxfs/linux.c @@ -21,7 +21,7 @@ #include #include #undef ustat -#include +#include #include #include #include @@ -49,9 +49,8 @@ static int max_block_alignment; int platform_check_ismounted(char *name, char *block, struct stat64 *s, int verbose) { - /* Pad ust; pre-2.6.28 linux copies out too much in 32bit compat mode */ - struct ustat ust[2]; - struct stat64 st; + struct statfs ust; + struct stat64 st; if (!s) { if (stat64(block, &st) < 0) @@ -61,7 +60,7 @@ platform_check_ismounted(char *name, cha s = &st; } - if (ustat(s->st_rdev, ust) >= 0) { + if (statfs(name, &ust) >= 0) { if (verbose) fprintf(stderr, _("%s: %s contains a mounted filesystem\n"),