For this it was necessary to change a workaround for missing f_brsize on Mac OS X. Signed-off-by: Felix Janda <felix.janda@xxxxxxxxx> --- fsr/xfs_fsr.c | 16 ++++------------ include/darwin.h | 4 ++-- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c index 98390e7..f3cc07e 100644 --- a/fsr/xfs_fsr.c +++ b/fsr/xfs_fsr.c @@ -89,7 +89,7 @@ static void fsrallfs(char *mtab, int howlong, char *leftofffile); static void fsrall_cleanup(int timeout); static int getnextents(int); int xfsrtextsize(int fd); -int xfs_getrt(int fd, struct statvfs64 *sfbp); +int xfs_getrt(int fd, struct statvfs *sfbp); char * gettmpname(char *fname); char * getparent(char *fname); int fsrprintf(const char *fmt, ...); @@ -888,7 +888,7 @@ fsrfile_common( xfs_bstat_t *statp) { int error; - struct statvfs64 vfss; + struct statvfs vfss; struct fsxattr fsx; unsigned long bsize; @@ -940,16 +940,12 @@ fsrfile_common( * Note that xfs_bstat.bs_blksize returns the filesystem blocksize, * not the optimal I/O size as struct stat. */ - if (statvfs64(fsname ? fsname : fname, &vfss) < 0) { + if (statvfs(fsname ? fsname : fname, &vfss) < 0) { fsrprintf(_("unable to get fs stat on %s: %s\n"), 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: " @@ -1704,7 +1700,7 @@ xfs_getgeom(int fd, xfs_fsop_geom_v1_t * fsgeom) * Get xfs realtime space information */ int -xfs_getrt(int fd, struct statvfs64 *sfbp) +xfs_getrt(int fd, struct statvfs *sfbp) { unsigned long bsize; unsigned long factor; @@ -1717,11 +1713,7 @@ 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/darwin.h b/include/darwin.h index fb13915..bd1a112 100644 --- a/include/darwin.h +++ b/include/darwin.h @@ -216,8 +216,8 @@ static inline int timer_gettime (timer_t timerid, struct itimerspec *value) # include <sys/param.h> #include <sys/ucred.h> #include <errno.h> -#define statvfs64 statfs -#define _PATH_MOUNTED "/etc/mtab" +#define f_frsize f_bsize +#define _PATH_MOUNTED "/etc/mtab" struct mntent { -- 2.7.3 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs