diff mbox series

[3/4] xfsprogs: remove darwin platform files

Message ID 34492e0f-c274-77b3-49b0-52effd0e4ca3@redhat.com (mailing list archive)
State Accepted
Headers show
Series xfsprogs: remove deprecated platforms | expand

Commit Message

Eric Sandeen Sept. 26, 2018, 7:45 p.m. UTC
As promised in April 2018 with:
a8502cc libxfs: warn about deprecation of irix, freebsd, darwin
remove the darwin platform files.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
---
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index 6774825..4f6435c 100644
--- a/Makefile
+++ b/Makefile
@@ -48,13 +48,9 @@  HDR_SUBDIRS = include libxfs
 LIBFROG_SUBDIR = libfrog
 DLIB_SUBDIRS = libxlog libxcmd libhandle
 LIB_SUBDIRS = libxfs $(DLIB_SUBDIRS)
-TOOL_SUBDIRS = copy db estimate fsck growfs io logprint mkfs quota \
+TOOL_SUBDIRS = copy db estimate fsck fsr growfs io logprint mkfs quota \
 		mdrestore repair rtcp m4 man doc debian spaceman scrub
 
-ifneq ("$(PKG_PLATFORM)","darwin")
-TOOL_SUBDIRS += fsr
-endif
-
 ifneq ("$(XGETTEXT)","")
 TOOL_SUBDIRS += po
 endif
diff --git a/configure.ac b/configure.ac
index 5fdf78e..6b3eb05 100644
--- a/configure.ac
+++ b/configure.ac
@@ -157,7 +157,6 @@  AC_HAVE_MADVISE
 AC_HAVE_MINCORE
 AC_HAVE_SENDFILE
 AC_HAVE_GETMNTENT
-AC_HAVE_GETMNTINFO
 AC_HAVE_FALLOCATE
 AC_HAVE_FIEMAP
 AC_HAVE_PWRITEV2
diff --git a/doc/INSTALL b/doc/INSTALL
index f667628..d4395ee 100644
--- a/doc/INSTALL
+++ b/doc/INSTALL
@@ -46,57 +46,3 @@  Linux Instructions
 	DEBUG=-DNDEBUG
 
    before running make or Makepkgs.
-
-
-Mac OS X Instructions
-=====================
-
-0. Note:  since there is no XFS implementation on Mac OS X, you are
-   severely limited in what you can do.  mkfs.xfs(8), xfs_db(8) and
-   xfs_repair(8) are the only functional tools on this platform, as
-   they do not interact with the XFS kernel code at all.  Still, it
-   can be useful to have access to these utilities from Mac OS X in
-   a dual boot configuration, for example.
-
-   However, keep on mind that mkfs.xfs on Mac OS X has disabled
-   device access, although you can create a filesystem in a file.
-   Also note that existing filesystem detection is disabled.
-
-1. Configure, build and install the package
-
-   The xfsprogs package uses autoconf/configure and expects a GNU build
-   environment (your platform must at least have both autoconf, make,
-   and glibtool). 
-
-   You will also need to have built and installed the UUID library which
-   is provided by the e2fsprogs source package. (Or use Homebrew, Macports
-   or any other 3rd party package manager.)
-
-   Building libuuid:
-
-	[download; unzip/untar e2fsprogs; cd e2fsprogs]
-	$ ./configure --prefix=/usr --mandir=/usr/share/man
-	$ make lib/ext2fs/ext2_types.h
-	$ cd lib/uuid
-	$ make
-	$ su root
-	# make install
-	[verify that you now have a /usr/lib/libuuid.a]
-
-   Building xfsprogs:
-
-	[firstly set these environment variables to these values]
-	TAR=/usr/bin/gnutar
-	LIBTOOL=/usr/bin/glibtool
-	INSTALL_GROUP=wheel
-	LOCAL_CONFIGURE_OPTIONS="\
-				 --enable-gettext=no\
-				 --enable-blkid=no\
-				 --enable-librt=no\
-				 "
-
-	$ make
-	$ su root
-	# make install
-	[and optionally, for the development libraries and headers]
-	# make install-dev
diff --git a/fsr/Makefile b/fsr/Makefile
index 1da44d3..86486fc 100644
--- a/fsr/Makefile
+++ b/fsr/Makefile
@@ -15,10 +15,6 @@  ifeq ($(HAVE_GETMNTENT),yes)
 LCFLAGS += -DHAVE_GETMNTENT
 endif
 
-ifeq ($(HAVE_GETMNTINFO),yes)
-LCFLAGS += -DHAVE_GETMNTINFO
-endif
-
 default: depend $(LTCOMMAND)
 
 include $(BUILDRULES)
diff --git a/include/Makefile b/include/Makefile
index 3a76b4f..e6aa9b2 100644
--- a/include/Makefile
+++ b/include/Makefile
@@ -40,7 +40,7 @@  HFILES = handle.h \
 	xqm.h \
 	xfs_arch.h
 
-PHFILES = darwin.h linux.h
+PHFILES = linux.h
 LSRCFILES = $(shell echo $(PHFILES) | sed -e "s/$(PKG_PLATFORM).h//g")
 LSRCFILES += platform_defs.h.in builddefs.in buildmacros buildrules install-sh
 LSRCFILES += $(DKHFILES) $(LIBHFILES)
diff --git a/include/builddefs.in b/include/builddefs.in
index e3612cd..261ae5e 100644
--- a/include/builddefs.in
+++ b/include/builddefs.in
@@ -89,7 +89,6 @@  HAVE_MADVISE = @have_madvise@
 HAVE_MINCORE = @have_mincore@
 HAVE_SENDFILE = @have_sendfile@
 HAVE_GETMNTENT = @have_getmntent@
-HAVE_GETMNTINFO = @have_getmntinfo@
 HAVE_FALLOCATE = @have_fallocate@
 HAVE_FIEMAP = @have_fiemap@
 HAVE_PREADV = @have_preadv@
@@ -129,10 +128,6 @@  PCFLAGS += -DHAVE_UMODE_T
 endif
 DEPENDFLAGS = -D__linux__
 endif
-ifeq ($(PKG_PLATFORM),darwin)
-PCFLAGS = $(GCCFLAGS)
-DEPENDFLAGS = -D__APPLE__ -D_DARWIN_FEATURE_64_BIT_INODE
-endif
 ifeq ($(HAVE_FLS),yes)
 LCFLAGS+= -DHAVE_FLS
 endif
diff --git a/include/darwin.h b/include/darwin.h
deleted file mode 100644
index 1a85e05..0000000
--- a/include/darwin.h
+++ /dev/null
@@ -1,303 +0,0 @@ 
-// SPDX-License-Identifier: LGPL-2.1
-/*
- * Copyright (c) 2004-2006 Silicon Graphics, Inc.
- * All Rights Reserved.
- */
-#ifndef __XFS_DARWIN_H__
-#define __XFS_DARWIN_H__
-
-#include <unistd.h>
-#include <sys/types.h>
-#include <string.h>
-#include <uuid/uuid.h>
-#include <libgen.h>
-#include <sys/vm.h>
-#include <sys/stat.h>
-#include <sys/ioctl.h>
-#include <sys/mount.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <ftw.h>
-#include <mach/mach_time.h>
-#include <inttypes.h>
-#include <stdio.h>
-#include <sys/mman.h>
-
-#include <machine/endian.h>
-#define __BYTE_ORDER	BYTE_ORDER
-#define __BIG_ENDIAN	BIG_ENDIAN
-#define __LITTLE_ENDIAN	LITTLE_ENDIAN
-
-#include <sys/syscall.h>
-# ifndef SYS_fsctl
-#  define SYS_fsctl	242
-# endif
-
-#ifndef XATTR_LIST_MAX
-#define XATTR_LIST_MAX  65536
-#endif
-
-static __inline__ int xfsctl(const char *path, int fd, int cmd, void *p)
-{
-	return syscall(SYS_fsctl, path, cmd, p, 0);
-}
-
-static __inline__ int platform_test_xfs_fd(int fd)
-{
-	struct statfs buf;
-	if (fstatfs(fd, &buf) < 0)
-		return 0;
-	return strncmp(buf.f_fstypename, "xfs", 4) == 0;
-}
-
-static __inline__ int platform_test_xfs_path(const char *path)
-{
-	struct statfs buf;
-	if (statfs(path, &buf) < 0)
-		return 0;
-	return strncmp(buf.f_fstypename, "xfs", 4) == 0;
-}
-
-static __inline__ int platform_fstatfs(int fd, struct statfs *buf)
-{
-	return fstatfs(fd, buf);
-}
-
-static __inline__ void platform_getoptreset(void)
-{
-	extern int optreset;
-	optreset = 0;
-}
-
-static __inline__ int platform_uuid_compare(uuid_t *uu1, uuid_t *uu2)
-{
-	return uuid_compare(*uu1, *uu2);
-}
-
-static __inline__ void platform_uuid_unparse(uuid_t *uu, char *buffer)
-{
-	uuid_unparse(*uu, buffer);
-}
-
-static __inline__ int platform_uuid_parse(char *buffer, uuid_t *uu)
-{
-	return uuid_parse(buffer, *uu);
-}
-
-static __inline__ int platform_uuid_is_null(uuid_t *uu)
-{
-	return uuid_is_null(*uu);
-}
-
-static __inline__ void platform_uuid_generate(uuid_t *uu)
-{
-	uuid_generate(*uu);
-}
-
-static __inline__ void platform_uuid_clear(uuid_t *uu)
-{
-	uuid_clear(*uu);
-}
-
-static __inline__ void platform_uuid_copy(uuid_t *dst, uuid_t *src)
-{
-	uuid_copy(*dst, *src);
-}
-
-typedef unsigned char		__u8;
-typedef signed char		__s8;
-typedef unsigned short		__u16;
-typedef signed short		__s16;
-typedef unsigned int		__u32;
-typedef signed int		__s32;
-typedef unsigned long long int	__u64;
-typedef signed long long int	__s64;
-
-#define int8_t		int8_t
-#define int16_t		int16_t
-#define int32_t		int32_t
-#define int32_t		int32_t
-#define int64_t		int64_t
-
-typedef off_t		xfs_off_t;
-typedef uint64_t	xfs_ino_t;
-typedef uint32_t	xfs_dev_t;
-typedef int64_t		xfs_daddr_t;
-typedef __u32		xfs_nlink_t;
-
-#define fdatasync	fsync
-#define memalign(a,sz)	valloc(sz)
-
-#define O_LARGEFILE     0
-#ifndef O_DIRECT
-#define O_DIRECT        0
-#endif
-#ifndef O_SYNC
-#define O_SYNC          0
-#endif
-
-#define EFSCORRUPTED	990	/* Filesystem is corrupted */
-#define EFSBADCRC	991	/* Bad CRC detected */
-
-#define HAVE_FID	1
-
-static __inline__ int
-platform_discard_blocks(int fd, uint64_t start, uint64_t len)
-{
-	return 0;
-}
-
-/*
- * POSIX timer replacement.
- * It really just do the minimum we need for xfs_repair.
- * Also, as setitimer can't create multiple timers,
- * the timerid things are useless - we have only one ITIMER_REAL
- * timer.
- */
-#define CLOCK_REALTIME ITIMER_REAL
-#define itimerspec itimerval
-typedef uint64_t timer_t;
-typedef double   timer_c;
-typedef clock_id_t clockid_t;
-
-
-static inline int timer_create (clockid_t __clock_id,
-                         struct sigevent *__restrict __evp,
-                         timer_t *__restrict timer)
-{
-	// set something, to initialize the variable, just in case
-	*timer = 0;
-	return 0;
-}
-
-static inline int timer_settime (timer_t timerid, int flags,
-                          const struct itimerspec *__restrict timerspec,
-                          struct itimerspec *__restrict ovalue)
-{
-	return setitimer(ITIMER_REAL, timerspec, ovalue);
-}
-
-static inline int timer_delete (timer_t timerid)
-{
-	struct itimerspec timespec;
-
-	timespec.it_interval.tv_sec=0;
-	timespec.it_interval.tv_usec=0;
-	timespec.it_value.tv_sec=0;
-	timespec.it_value.tv_usec=0;
-
-	return setitimer(ITIMER_REAL, &timespec, NULL);
-}
-
-static inline int timer_gettime (timer_t timerid, struct itimerspec *value)
-{
-	return getitimer(ITIMER_REAL, value);
-}
-
-/* FSR */
-
-#  include <sys/mount.h>
-#  include <sys/param.h>
-#include <sys/ucred.h>
-#include <errno.h>
-#define		_PATH_MOUNTED   "/etc/mtab"
-
-struct mntent
-{
-	char *mnt_fsname;
-	char *mnt_dir;
-	char *mnt_type;
-	char *mnt_opts;
-	int mnt_freq;
-	int mnt_passno;
-};
-
-static inline void mntinfo2mntent (struct statfs * stats, struct mntent * mnt) {
-	mnt->mnt_fsname = stats->f_mntfromname;
-	mnt->mnt_dir = stats->f_mntonname;
-	mnt->mnt_type = stats->f_fstypename;
-}
-
-
-
-/**
- * Abstraction of mountpoints.
- */
-struct mntent_cursor {
-	FILE *mtabp;
-	struct statfs *stats;
-	int count;
-	int i;
-};
-
-/**
- * OS X uses getmntinfo, which doesn't use a mtab file. So we just ignore it.
- */
-static inline int platform_mntent_open(struct mntent_cursor * cursor, char *mtab)
-{
-	if ((cursor->count = getmntinfo(&cursor->stats, 0)) < 0) {
-		fprintf(stderr, "Error: getmntinfo() failed: %s\n", strerror(errno));
-		return 1;
-	}
-	cursor->i = 0;
-	return 0;
-}
-
-static inline struct mntent * platform_mntent_next(struct mntent_cursor * cursor)
-{
-	struct mntent * t = NULL;
-	if (cursor->i >= cursor->count){
-		return NULL;
-	}
-	mntinfo2mntent(&cursor->stats[cursor->i], t);
-	cursor->i++;
-	return t;
-}
-
-static inline void platform_mntent_close(struct mntent_cursor * cursor)
-{
-	cursor->count = 0;
-	cursor->i = 0;
-}
-
-/* check whether we have to define FS_IOC_FS[GS]ETXATTR ourselves */
-#ifndef HAVE_FSXATTR
-struct fsxattr {
-	__u32		fsx_xflags;	/* xflags field value (get/set) */
-	__u32		fsx_extsize;	/* extsize field value (get/set)*/
-	__u32		fsx_nextents;	/* nextents field value (get)	*/
-	__u32		fsx_projid;	/* project identifier (get/set) */
-	__u32		fsx_cowextsize;	/* cow extsize field value (get/set) */
-	unsigned char	fsx_pad[8];
-};
-
-/*
- * Flags for the fsx_xflags field
- */
-#define FS_XFLAG_REALTIME	0x00000001	/* data in realtime volume */
-#define FS_XFLAG_PREALLOC	0x00000002	/* preallocated file extents */
-#define FS_XFLAG_IMMUTABLE	0x00000008	/* file cannot be modified */
-#define FS_XFLAG_APPEND		0x00000010	/* all writes append */
-#define FS_XFLAG_SYNC		0x00000020	/* all writes synchronous */
-#define FS_XFLAG_NOATIME	0x00000040	/* do not update access time */
-#define FS_XFLAG_NODUMP		0x00000080	/* do not include in backups */
-#define FS_XFLAG_RTINHERIT	0x00000100	/* create with rt bit set */
-#define FS_XFLAG_PROJINHERIT	0x00000200	/* create with parents projid */
-#define FS_XFLAG_NOSYMLINKS	0x00000400	/* disallow symlink creation */
-#define FS_XFLAG_EXTSIZE	0x00000800	/* extent size allocator hint */
-#define FS_XFLAG_EXTSZINHERIT	0x00001000	/* inherit inode extent size */
-#define FS_XFLAG_NODEFRAG	0x00002000	/* do not defragment */
-#define FS_XFLAG_FILESTREAM	0x00004000	/* use filestream allocator */
-#define FS_XFLAG_DAX		0x00008000	/* use DAX for IO */
-#define FS_XFLAG_HASATTR	0x80000000	/* no DIFLAG for this	*/
-
-#define FS_IOC_FSGETXATTR     _IOR ('X', 31, struct fsxattr)
-#define FS_IOC_FSSETXATTR     _IOW ('X', 32, struct fsxattr)
-
-#endif
-
-#ifndef FS_XFLAG_COWEXTSIZE
-#define FS_XFLAG_COWEXTSIZE	0x00010000	/* CoW extent size allocator hint */
-#endif
-
-#endif	/* __XFS_DARWIN_H__ */
diff --git a/include/xfs.h b/include/xfs.h
index d265800..f2f675d 100644
--- a/include/xfs.h
+++ b/include/xfs.h
@@ -7,8 +7,6 @@ 
 
 #if defined(__linux__)
 #include <xfs/linux.h>
-#elif defined(__APPLE__)
-#include <xfs/darwin.h>
 #else
 # error unknown platform... have fun porting!
 #endif
diff --git a/libfrog/Makefile b/libfrog/Makefile
index 5379871..8e4daed 100644
--- a/libfrog/Makefile
+++ b/libfrog/Makefile
@@ -31,17 +31,13 @@  crc32table.h
 LSRCFILES += gen_crc32table.c
 
 CFILES += $(PKG_PLATFORM).c
-PCFILES = darwin.c linux.c
+PCFILES = linux.c
 LSRCFILES = $(shell echo $(PCFILES) | sed -e "s/$(PKG_PLATFORM).c//g")
 
 ifeq ($(HAVE_GETMNTENT),yes)
 LCFLAGS += -DHAVE_GETMNTENT
 endif
 
-ifeq ($(HAVE_GETMNTINFO),yes)
-LCFLAGS += -DHAVE_GETMNTINFO
-endif
-
 LDIRT = gen_crc32table crc32table.h crc32selftest
 
 default: crc32selftest ltdepend $(LTLIBRARY)
diff --git a/libfrog/darwin.c b/libfrog/darwin.c
deleted file mode 100644
index 504adc7..0000000
--- a/libfrog/darwin.c
+++ /dev/null
@@ -1,136 +0,0 @@ 
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Copyright (c) 2003,2005 Silicon Graphics, Inc.
- * All Rights Reserved.
- */
-
-#include <sys/disk.h>
-#include <sys/stat.h>
-#include <sys/mount.h>
-#include <sys/ioctl.h>
-#include <sys/sysctl.h>
-#include "libxfs.h"
-
-int platform_has_uuid = 1;
-extern char *progname;
-
-#warning "Darwin support is deprecated and planned for removal in July 2018"
-#warning "Contact linux-xfs@vger.kernel.org if you'd like to maintain this port"
-#error   "Remove this line if you'd like to continue the build"
-
-int
-platform_check_ismounted(char *name, char *block, struct stat *s, int verbose)
-{
-	return 0;
-}
-
-int
-platform_check_iswritable(char *name, char *block, struct stat *s)
-{
-	int	fd, writable;
-
-	if ((fd = open(block, O_RDONLY, 0)) < 0) {
-		fprintf(stderr, _("%s: "
-			"error opening the device special file \"%s\": %s\n"),
-			progname, block, strerror(errno));
-		exit(1);
-	}
-
-	if (ioctl(fd, DKIOCISWRITABLE, &writable) < 0) {
-		fprintf(stderr, _("%s: can't tell if \"%s\" is writable: %s\n"),
-			progname, block, strerror(errno));
-		exit(1);
-	}
-	close(fd);
-	return writable == 0;
-}
-
-int
-platform_set_blocksize(int fd, char *path, dev_t device, int blocksize, int fatal)
-{
-	return fatal;
-}
-
-void
-platform_flush_device(int fd, dev_t device)
-{
-	ioctl(fd, DKIOCSYNCHRONIZECACHE, NULL);
-}
-
-void
-platform_findsizes(char *path, int fd, long long *sz, int *bsz)
-{
-	uint64_t	size;
-	struct stat	st;
-
-	if (fstat(fd, &st) < 0) {
-		fprintf(stderr,
-			_("%s: cannot stat the device file \"%s\": %s\n"),
-			progname, path, strerror(errno));
-		exit(1);
-	}
-	if ((st.st_mode & S_IFMT) == S_IFREG) {
-		*sz = (long long)(st.st_size >> 9);
-		*bsz = BBSIZE;
-		return;
-	}
-	if (ioctl(fd, DKIOCGETBLOCKCOUNT, &size) < 0) {
-		fprintf(stderr, _("%s: can't determine device size: %s\n"),
-			progname, strerror(errno));
-		exit(1);
-	}
-	*sz = (long long)size;
-	*bsz = BBSIZE;
-}
-
-char *
-platform_findrawpath(char *path)
-{
-	return path;
-}
-
-char *
-platform_findblockpath(char *path)
-{
-	return path;
-}
-
-int
-platform_direct_blockdev(void)
-{
-	return 0;
-}
-
-int
-platform_align_blockdev(void)
-{
-	return sizeof(void *);
-}
-
-int
-platform_nproc(void)
-{
-	int		ncpu;
-	size_t		len = sizeof(ncpu);
-	static int	mib[2] = {CTL_HW, HW_NCPU};
-
-	if (sysctl(mib, 2, &ncpu, &len, NULL, 0) < 0)
-		ncpu = 1;
-
-	return ncpu;
-}
-
-unsigned long
-platform_physmem(void)
-{
-	unsigned long	physmem;
-	size_t		len = sizeof(physmem);
-	static int	mib[2] = {CTL_HW, HW_PHYSMEM};
-
-	if (sysctl(mib, 2, &physmem, &len, NULL, 0) < 0) {
-		fprintf(stderr, _("%s: can't determine memory size\n"),
-			progname);
-		exit(1);
-	}
-	return physmem >> 10;
-}
diff --git a/libfrog/paths.c b/libfrog/paths.c
index 2379ea4..6e26665 100644
--- a/libfrog/paths.c
+++ b/libfrog/paths.c
@@ -415,61 +415,6 @@  fs_table_initialise_mounts(
 	return error;
 }
 
-#elif defined(HAVE_GETMNTINFO)
-#include <sys/mount.h>
-
-/*
- * If *path is NULL, initialize the fs table with all xfs mount points in mtab
- * If *path is specified, search for that path in mtab
- *
- * Everything - path, devices, and mountpoints - are boiled down to realpath()
- * for comparison, but fs_table is populated with what comes from getmntinfo.
- */
-static int
-fs_table_initialise_mounts(
-	char		*path)
-{
-	struct statfs	*stats;
-	int		i, count, error, found;
-	char		rpath[PATH_MAX], rmntfromname[PATH_MAX], rmntonname[PATH_MAX];
-
-	error = found = 0;
-	if ((count = getmntinfo(&stats, 0)) < 0) {
-		fprintf(stderr, _("%s: getmntinfo() failed: %s\n"),
-				progname, strerror(errno));
-		return 0;
-	}
-
-	/* Use realpath to resolve symlinks, relative paths, etc */
-	if (path)
-		if (!realpath(path, rpath))
-			return errno;
-
-	for (i = 0; i < count; i++) {
-		if (!realpath(stats[i].f_mntfromname, rmntfromname))
-			continue;
-		if (!realpath(stats[i].f_mntonname, rmntonname))
-			continue;
-
-		if (path &&
-		    ((strcmp(rpath, rmntonname) != 0) &&
-		     (strcmp(rpath, rmntfromname) != 0)))
-			continue;
-		/* TODO: external log and realtime device? */
-		(void) fs_table_insert(stats[i].f_mntonname, 0,
-					FS_MOUNT_POINT, stats[i].f_mntfromname,
-					NULL, NULL);
-		if (path) {
-			found = 1;
-			break;
-		}
-	}
-	if (path && !found)
-		error = ENXIO;
-
-	return error;
-}
-
 #else
 # error "How do I extract info about mounted filesystems on this platform?"
 #endif
diff --git a/libhandle/Makefile b/libhandle/Makefile
index 998081b..f297a59 100644
--- a/libhandle/Makefile
+++ b/libhandle/Makefile
@@ -10,11 +10,7 @@  LT_CURRENT = 1
 LT_REVISION = 3
 LT_AGE = 0
 
-ifeq ($(PKG_PLATFORM),darwin)
-LTLDFLAGS += -Wl,libhandle.sym
-else
 LTLDFLAGS += -Wl,--version-script,libhandle.sym
-endif
 
 CFILES = handle.c jdm.c
 LSRCFILES = libhandle.sym
diff --git a/m4/package_libcdev.m4 b/m4/package_libcdev.m4
index 847d429..268193d 100644
--- a/m4/package_libcdev.m4
+++ b/m4/package_libcdev.m4
@@ -79,23 +79,6 @@  AC_DEFUN([AC_HAVE_GETMNTENT],
   ])
 
 #
-# Check if we have a getmntinfo libc call (Mac OS X)
-#
-AC_DEFUN([AC_HAVE_GETMNTINFO],
-  [ AC_MSG_CHECKING([for getmntinfo ])
-    AC_TRY_COMPILE([
-#include <sys/param.h>
-#include <sys/ucred.h>
-#include <sys/mount.h>
-    ], [
-         getmntinfo(0, 0);
-    ], have_getmntinfo=yes
-       AC_MSG_RESULT(yes),
-       AC_MSG_RESULT(no))
-    AC_SUBST(have_getmntinfo)
-  ])
-
-#
 # Check if we have a fallocate libc call (Linux)
 #
 AC_DEFUN([AC_HAVE_FALLOCATE],
diff --git a/quota/Makefile b/quota/Makefile
index 41ed234..85e279b 100644
--- a/quota/Makefile
+++ b/quota/Makefile
@@ -11,7 +11,7 @@  CFILES = init.c util.c \
 	edit.c free.c path.c project.c quot.c quota.c report.c state.c
 
 CFILES += $(PKG_PLATFORM).c
-PCFILES = darwin.c linux.c
+PCFILES = linux.c
 LSRCFILES = $(shell echo $(PCFILES) | sed -e "s/$(PKG_PLATFORM).c//g")
 
 LLDLIBS = $(LIBXCMD) $(LIBFROG)
diff --git a/quota/darwin.c b/quota/darwin.c
deleted file mode 100644
index 250c9c7..0000000
--- a/quota/darwin.c
+++ /dev/null
@@ -1,21 +0,0 @@ 
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Copyright (c) 2005 Silicon Graphics, Inc.
- * All Rights Reserved.
- */
-
-#include "quota.h"
-#include <sys/quota.h>
-
-int
-xfsquotactl(
-	int		command,
-	const char	*device,
-	uint		type,
-	uint		id,
-	void		*addr)
-{
-	/* return quotactl(device, QCMD(command, type), id, addr); */
-	errno = -ENOSYS;
-	return -1;
-}