xfs
[Top] [All Lists]

[PATCH 09/11 v2] xfsprogs: Add statvfs64 for osx

To: xfs@xxxxxxxxxxx
Subject: [PATCH 09/11 v2] xfsprogs: Add statvfs64 for osx
From: Jan Tulak <jtulak@xxxxxxxxxx>
Date: Tue, 8 Sep 2015 16:24:23 +0200
Cc: hch@xxxxxxxxxxxxx, Jan Tulak <jtulak@xxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1440590555-20463-9-git-send-email-jtulak@xxxxxxxxxx>
References: <1440590555-20463-9-git-send-email-jtulak@xxxxxxxxxx>
Simply rename statvfs64 to statfs with a #define.

CHANGE:
remove dummy code, add rename

Signed-off-by: Jan Tulak <jtulak@xxxxxxxxxx>
---
 fsr/xfs_fsr.c        | 14 ++++++++++++++
 include/builddefs.in |  2 +-
 include/darwin.h     |  5 +++++
 3 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c
index e1b7bd6..5f95cdc 100644
--- a/fsr/xfs_fsr.c
+++ b/fsr/xfs_fsr.c
@@ -36,6 +36,12 @@
 #  include <mntent.h>
 #endif
 
+#ifdef __APPLE__
+//#  define statvfs64 statfs;
+#  include <sys/param.h>
+#  include <sys/mount.h>
+#endif
+
 #ifndef XFS_XFLAG_NODEFRAG
 #define XFS_XFLAG_NODEFRAG 0x00002000 /* src dependancy, remove later */
 #endif
@@ -948,7 +954,11 @@ fsrfile_common(
                        fname, strerror(errno));
                return -1;
        }
+#ifndef statvfs64
        bsize = vfss.f_frsize ? vfss.f_frsize : vfss.f_bsize;
+#else
+       bsize = vfss.f_bsize;
+#endif
        if (statp->bs_blksize * statp->bs_blocks >
            vfss.f_bfree * bsize - minimumfree) {
                fsrprintf(_("insufficient freespace for: %s: "
@@ -1728,7 +1738,11 @@ xfs_getrt(int fd, struct statvfs64 *sfbp)
                close(fd);
                return -1;
        }
+#ifndef statvfs64
        bsize = (sfbp->f_frsize ? sfbp->f_frsize : sfbp->f_bsize);
+#else
+       bsize = sfbp->f_bsize;
+#endif
        factor = fsgeom.blocksize / bsize;         /* currently this is == 1 */
        sfbp->f_bfree = (cnt.freertx * fsgeom.rtextsize) * factor;
        return 0;
diff --git a/include/builddefs.in b/include/builddefs.in
index 25b8816..31e21ba 100644
--- a/include/builddefs.in
+++ b/include/builddefs.in
@@ -123,7 +123,7 @@ PCFLAGS = -D_GNU_SOURCE $(GCCFLAGS)
 endif
 ifeq ($(PKG_PLATFORM),darwin)
 PCFLAGS = $(GCCFLAGS)
-DEPENDFLAGS = -D__APPLE__
+DEPENDFLAGS = -D__APPLE__ -D_DARWIN_FEATURE_64_BIT_INODE
 endif
 ifeq ($(PKG_PLATFORM),irix)
 PLDLIBS = -ldisk -lgen
diff --git a/include/darwin.h b/include/darwin.h
index 0d2f175..288ad1f 100644
--- a/include/darwin.h
+++ b/include/darwin.h
@@ -216,4 +216,9 @@ static inline int timer_gettime (timer_t timerid, struct 
itimerspec *value)
        return getitimer(ITIMER_REAL, value);
 }
 
+/* FSR */
+
+#define statvfs64 statfs
+#define                _PATH_MOUNTED   "/etc/mtab"
+
 #endif /* __XFS_DARWIN_H__ */
-- 
2.4.5

<Prev in Thread] Current Thread [Next in Thread>
  • [PATCH 09/11 v2] xfsprogs: Add statvfs64 for osx, Jan Tulak <=