summaryrefslogtreecommitdiff
path: root/package/xfsprogs
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2013-04-05 15:16:51 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2013-04-05 15:16:51 +0200
commit1465e15f735333d9b8686a3eb56b151bb3d9426e (patch)
tree68fe8e3e03ce406abb15eda2ed9c30e5df450be0 /package/xfsprogs
parent75ea54a673167c1b27f1e0946c4288ab54c98431 (diff)
make qemu mips64 work again, allow xfsprogs to build with uclibc, add partprobe
Diffstat (limited to 'package/xfsprogs')
-rw-r--r--package/xfsprogs/Makefile10
-rw-r--r--package/xfsprogs/patches/patch-configure332
-rw-r--r--package/xfsprogs/patches/patch-fsr_xfs_fsr_c14
-rw-r--r--package/xfsprogs/patches/patch-include_buildmacros11
-rw-r--r--package/xfsprogs/patches/patch-libxfs_linux_c37
5 files changed, 327 insertions, 77 deletions
diff --git a/package/xfsprogs/Makefile b/package/xfsprogs/Makefile
index 690b2fb84..81c4589c5 100644
--- a/package/xfsprogs/Makefile
+++ b/package/xfsprogs/Makefile
@@ -4,18 +4,18 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= xfsprogs
-PKG_VERSION:= 3.1.5
-PKG_RELEASE:= 3
-PKG_MD5SUM:= b1db37749e2b4149a0dd178abff956be
+PKG_VERSION:= 3.1.10
+PKG_RELEASE:= 1
+PKG_MD5SUM:= d6159f7a664d95b4c150d580399d4400
PKG_DESCR:= Utilities for XFS filesystems
PKG_SECTION:= fs
PKG_BUILDDEP:= e2fsprogs util-linux
-PKG_DEPENDS:= libuuid libpthread libblkid
+PKG_DEPENDS:= libuuid libpthread libblkid librt libgcc
PKG_URL:= http://oss.sgi.com/projects/xfs
PKG_SITES:= ftp://oss.sgi.com/projects/xfs/cmd_tars/ \
ftp://oss.sgi.com/projects/xfs/previous/cmd_tars/
-PKG_CFLINE_XFSPROGS:= depends on ADK_TARGET_LIB_GLIBC || ADK_TARGET_LIB_EGLIBC
+#PKG_CFLINE_XFSPROGS:= depends on ADK_TARGET_LIB_GLIBC || ADK_TARGET_LIB_EGLIBC
PKG_TARGET_DEPENDS:= !atmel-ngw100
include ${TOPDIR}/mk/package.mk
diff --git a/package/xfsprogs/patches/patch-configure b/package/xfsprogs/patches/patch-configure
index 7b788a7e5..a7b60b30e 100644
--- a/package/xfsprogs/patches/patch-configure
+++ b/package/xfsprogs/patches/patch-configure
@@ -1,47 +1,148 @@
---- xfsprogs-3.1.5.orig/configure 2011-03-31 05:11:43.000000000 +0200
-+++ xfsprogs-3.1.5/configure 2011-10-12 14:40:56.000000000 +0200
-@@ -245,7 +245,7 @@ $0: the script under such a shell if you
- fi
- fi
- fi
--SHELL=${CONFIG_SHELL-/bin/sh}
-+SHELL=${CONFIG_SHELL-/bin/bash}
- export SHELL
- # Unset more variables known to interfere with behavior of common tools.
- CLICOLOR_FORCE= GREP_OPTIONS=
-@@ -6414,7 +6414,7 @@ fi
- LIBTOOL_DEPS="$ltmain"
+--- xfsprogs-3.1.10.orig/configure 2011-11-07 21:24:09.000000000 +0100
++++ xfsprogs-3.1.10/configure 2013-04-04 16:41:02.000000000 +0200
+@@ -12609,346 +12609,6 @@ fi
- # Always use our own libtool.
--LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-+LIBTOOL='$(CONFIG_SHELL) $(top_builddir)/libtool'
-
-@@ -10790,11 +10790,11 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
- test -z "$INSTALL_GROUP" || pkg_group="$INSTALL_GROUP"
-
-
-- pkg_distribution=`uname -s`
-+ pkg_distribution=Linux
- test -z "$DISTRIBUTION" || pkg_distribution="$DISTRIBUTION"
-
-
-- pkg_platform=`uname -s | tr 'A-Z' 'a-z' | tr -d / | sed -e 's/irix64/irix/'`
-+ pkg_platform=linux
- test -z "$PLATFORM" || pkg_platform="$PLATFORM"
-
-
-@@ -12036,90 +12036,6 @@ fi
-
-
-
-- for ac_header in aio.h
--do :
-- ac_fn_c_check_header_mongrel "$LINENO" "aio.h" "ac_cv_header_aio_h" "$ac_includes_default"
--if test "x$ac_cv_header_aio_h" = x""yes; then :
+-for ac_header in aio.h
+-do
+-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+- { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+-$as_echo_n "checking for $ac_header... " >&6; }
+-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+- $as_echo_n "(cached) " >&6
+-fi
+-ac_res=`eval 'as_val=${'$as_ac_Header'}
+- $as_echo "$as_val"'`
+- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+-$as_echo "$ac_res" >&6; }
+-else
+- # Is the header compilable?
+-{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+-$as_echo_n "checking $ac_header usability... " >&6; }
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-$ac_includes_default
+-#include <$ac_header>
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (ac_try="$ac_compile"
+-case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+-$as_echo "$ac_try_echo") >&5
+- (eval "$ac_compile") 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && {
+- test -z "$ac_c_werror_flag" ||
+- test ! -s conftest.err
+- } && test -s conftest.$ac_objext; then
+- ac_header_compiler=yes
+-else
+- $as_echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+- ac_header_compiler=no
+-fi
+-
+-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+-$as_echo "$ac_header_compiler" >&6; }
+-
+-# Is the header present?
+-{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+-$as_echo_n "checking $ac_header presence... " >&6; }
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <$ac_header>
+-_ACEOF
+-if { (ac_try="$ac_cpp conftest.$ac_ext"
+-case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+-$as_echo "$ac_try_echo") >&5
+- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null && {
+- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+- test ! -s conftest.err
+- }; then
+- ac_header_preproc=yes
+-else
+- $as_echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+- ac_header_preproc=no
+-fi
+-
+-rm -f conftest.err conftest.$ac_ext
+-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+-$as_echo "$ac_header_preproc" >&6; }
+-
+-# So? What about this header?
+-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+- yes:no: )
+- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+-$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+-$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+- ac_header_preproc=yes
+- ;;
+- no:yes:* )
+- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+-$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+-$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+-$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+-$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+-$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+-$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+-
+- ;;
+-esac
+-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+-$as_echo_n "checking for $ac_header... " >&6; }
+-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+- $as_echo_n "(cached) " >&6
+-else
+- eval "$as_ac_Header=\$ac_header_preproc"
+-fi
+-ac_res=`eval 'as_val=${'$as_ac_Header'}
+- $as_echo "$as_val"'`
+- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+-$as_echo "$ac_res" >&6; }
+-
+-fi
+-as_val=`eval 'as_val=${'$as_ac_Header'}
+- $as_echo "$as_val"'`
+- if test "x$as_val" = x""yes; then
- cat >>confdefs.h <<_ACEOF
--#define HAVE_AIO_H 1
+-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
@@ -54,12 +155,102 @@
- exit 1
- fi
-
-- for ac_func in lio_listio
--do :
-- ac_fn_c_check_func "$LINENO" "lio_listio" "ac_cv_func_lio_listio"
--if test "x$ac_cv_func_lio_listio" = x""yes; then :
+-
+-for ac_func in lio_listio
+-do
+-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+-$as_echo_n "checking for $ac_func... " >&6; }
+-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+- $as_echo_n "(cached) " >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+- For example, HP-UX 11i <limits.h> declares gettimeofday. */
+-#define $ac_func innocuous_$ac_func
+-
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char $ac_func (); below.
+- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+- <limits.h> exists even on freestanding compilers. */
+-
+-#ifdef __STDC__
+-# include <limits.h>
+-#else
+-# include <assert.h>
+-#endif
+-
+-#undef $ac_func
+-
+-/* Override any GCC internal prototype to avoid an error.
+- Use char because int might match the return type of a GCC
+- builtin and then its argument prototype would still apply. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-char $ac_func ();
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined __stub_$ac_func || defined __stub___$ac_func
+-choke me
+-#endif
+-
+-int
+-main ()
+-{
+-return $ac_func ();
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (ac_try="$ac_link"
+-case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+-$as_echo "$ac_try_echo") >&5
+- (eval "$ac_link") 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && {
+- test -z "$ac_c_werror_flag" ||
+- test ! -s conftest.err
+- } && test -s conftest$ac_exeext && {
+- test "$cross_compiling" = yes ||
+- $as_test_x conftest$ac_exeext
+- }; then
+- eval "$as_ac_var=yes"
+-else
+- $as_echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+- eval "$as_ac_var=no"
+-fi
+-
+-rm -rf conftest.dSYM
+-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+- conftest$ac_exeext conftest.$ac_ext
+-fi
+-ac_res=`eval 'as_val=${'$as_ac_var'}
+- $as_echo "$as_val"'`
+- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+-$as_echo "$ac_res" >&6; }
+-as_val=`eval 'as_val=${'$as_ac_var'}
+- $as_echo "$as_val"'`
+- if test "x$as_val" = x""yes; then
- cat >>confdefs.h <<_ACEOF
--#define HAVE_LIO_LISTIO 1
+-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
@@ -68,14 +259,19 @@
- if test $ac_cv_func_lio_listio = yes; then
- librt=""
- else
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lio_listio in -lrt" >&5
+-
+-{ $as_echo "$as_me:$LINENO: checking for lio_listio in -lrt" >&5
-$as_echo_n "checking for lio_listio in -lrt... " >&6; }
--if test "${ac_cv_lib_rt_lio_listio+set}" = set; then :
+-if test "${ac_cv_lib_rt_lio_listio+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lrt -lpthread $LIBS"
--cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
@@ -93,18 +289,43 @@
- return 0;
-}
-_ACEOF
--if ac_fn_c_try_link "$LINENO"; then :
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (ac_try="$ac_link"
+-case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+-$as_echo "$ac_try_echo") >&5
+- (eval "$ac_link") 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && {
+- test -z "$ac_c_werror_flag" ||
+- test ! -s conftest.err
+- } && test -s conftest$ac_exeext && {
+- test "$cross_compiling" = yes ||
+- $as_test_x conftest$ac_exeext
+- }; then
- ac_cv_lib_rt_lio_listio=yes
-else
-- ac_cv_lib_rt_lio_listio=no
+- $as_echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+- ac_cv_lib_rt_lio_listio=no
-fi
--rm -f core conftest.err conftest.$ac_objext \
-- conftest$ac_exeext conftest.$ac_ext
+-
+-rm -rf conftest.dSYM
+-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_lio_listio" >&5
+-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_rt_lio_listio" >&5
-$as_echo "$ac_cv_lib_rt_lio_listio" >&6; }
--if test "x$ac_cv_lib_rt_lio_listio" = x""yes; then :
+-if test "x$ac_cv_lib_rt_lio_listio" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBRT 1
-_ACEOF
@@ -120,6 +341,9 @@
-
- librt="-lrt"
- fi
+-
+-
+-
diff --git a/package/xfsprogs/patches/patch-fsr_xfs_fsr_c b/package/xfsprogs/patches/patch-fsr_xfs_fsr_c
index 5093c2924..f4abf974a 100644
--- a/package/xfsprogs/patches/patch-fsr_xfs_fsr_c
+++ b/package/xfsprogs/patches/patch-fsr_xfs_fsr_c
@@ -1,5 +1,5 @@
---- xfsprogs-3.1.4.orig/fsr/xfs_fsr.c 2010-10-01 19:33:38.000000000 +0200
-+++ xfsprogs-3.1.4/fsr/xfs_fsr.c 2011-01-22 20:34:12.465325200 +0100
+--- xfsprogs-3.1.10.orig/fsr/xfs_fsr.c 2012-12-13 22:29:24.000000000 +0100
++++ xfsprogs-3.1.10/fsr/xfs_fsr.c 2013-04-04 16:39:27.000000000 +0200
@@ -35,7 +35,6 @@
#include <sys/wait.h>
#include <sys/vfs.h>
@@ -8,7 +8,7 @@
#ifndef XFS_XFLAG_NODEFRAG
-@@ -1003,6 +1002,7 @@ fsr_setup_attr_fork(
+@@ -1032,6 +1031,7 @@ fsr_setup_attr_fork(
* use the old method if we have attr1 or the kernel does not yet
* support passing the fork offset in the bulkstat data.
*/
@@ -16,7 +16,7 @@
if (!(fsgeom.flags & XFS_FSOP_GEOM_FLAGS_ATTR2) ||
bstatp->bs_forkoff == 0) {
/* attr1 */
-@@ -1013,6 +1013,7 @@ fsr_setup_attr_fork(
+@@ -1042,6 +1042,7 @@ fsr_setup_attr_fork(
}
goto out;
}
@@ -24,7 +24,7 @@
/* attr2 w/ fork offsets */
-@@ -1050,6 +1051,7 @@ fsr_setup_attr_fork(
+@@ -1079,6 +1080,7 @@ fsr_setup_attr_fork(
* If there is no attribute, then we need to create one to get
* an attribute fork at the default location.
*/
@@ -32,7 +32,7 @@
if (!tbstat.bs_forkoff) {
ret = fsetxattr(tfd, name, "XX", 2, XATTR_CREATE);
if (ret) {
-@@ -1058,7 +1060,7 @@ fsr_setup_attr_fork(
+@@ -1087,7 +1089,7 @@ fsr_setup_attr_fork(
}
continue;
}
@@ -41,7 +41,7 @@
/*
* make a progress check so we don't get stuck trying to extend
* a large btree form attribute fork.
-@@ -1097,11 +1099,13 @@ fsr_setup_attr_fork(
+@@ -1126,11 +1128,13 @@ fsr_setup_attr_fork(
}
/* we need to grow the attr fork, so create another attr */
diff --git a/package/xfsprogs/patches/patch-include_buildmacros b/package/xfsprogs/patches/patch-include_buildmacros
deleted file mode 100644
index e6b9ae21f..000000000
--- a/package/xfsprogs/patches/patch-include_buildmacros
+++ /dev/null
@@ -1,11 +0,0 @@
---- xfsprogs-3.1.5.orig/include/buildmacros 2011-03-31 00:25:47.000000000 +0200
-+++ xfsprogs-3.1.5/include/buildmacros 2011-10-09 18:12:27.668626203 +0200
-@@ -32,7 +32,7 @@ OBJECTS = $(ASFILES:.s=.o) \
-
- INSTALL = $(TOPDIR)/install-sh -o $(PKG_USER) -g $(PKG_GROUP)
-
--SHELL = /bin/sh
-+SHELL ?= /bin/bash
- IMAGES_DIR = $(TOPDIR)/all-images
- DIST_DIR = $(TOPDIR)/dist
-
diff --git a/package/xfsprogs/patches/patch-libxfs_linux_c b/package/xfsprogs/patches/patch-libxfs_linux_c
new file mode 100644
index 000000000..3ace20dab
--- /dev/null
+++ b/package/xfsprogs/patches/patch-libxfs_linux_c
@@ -0,0 +1,37 @@
+--- xfsprogs-3.1.10.orig/libxfs/linux.c 2012-12-13 22:29:24.000000000 +0100
++++ xfsprogs-3.1.10/libxfs/linux.c 2013-04-04 16:47:19.000000000 +0200
+@@ -16,14 +16,12 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+-#define ustat __kernel_ustat
+ #include <xfs/libxfs.h>
+ #include <mntent.h>
+ #include <sys/stat.h>
+-#undef ustat
+-#include <sys/ustat.h>
+ #include <sys/mount.h>
+ #include <sys/ioctl.h>
++#include <sys/statvfs.h>
+ #include <sys/sysinfo.h>
+
+ int platform_has_uuid = 1;
+@@ -49,8 +47,7 @@ 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 statvfs info;
+ struct stat64 st;
+
+ if (!s) {
+@@ -61,7 +58,7 @@ platform_check_ismounted(char *name, cha
+ s = &st;
+ }
+
+- if (ustat(s->st_rdev, ust) >= 0) {
++ if (statvfs(name, &info) >= 0) {
+ if (verbose)
+ fprintf(stderr,
+ _("%s: %s contains a mounted filesystem\n"),