HDIO_GETGEO has been around longer than XFS.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
AC_MSG_ERROR([libicu not found.])
fi
fi
-AC_HAVE_HDIO_GETGEO
AC_CONFIG_SYSTEMD_SYSTEM_UNIT_DIR
AC_CONFIG_CROND_DIR
AC_CONFIG_UDEV_RULE_DIR
HAVE_MALLINFO2 = @have_mallinfo2@
HAVE_LIBATTR = @have_libattr@
HAVE_LIBICU = @have_libicu@
-HAVE_HDIO_GETGEO = @have_hdio_getgeo@
HAVE_SYSTEMD = @have_systemd@
SYSTEMD_SYSTEM_UNIT_DIR = @systemd_system_unit_dir@
HAVE_CROND = @have_crond@
AC_SUBST(have_mallinfo2)
])
-#
-# Check if we have the HDIO_GETGEO ioctl
-#
-AC_DEFUN([AC_HAVE_HDIO_GETGEO],
- [ AC_MSG_CHECKING([for struct hd_geometry ])
- AC_COMPILE_IFELSE(
- [ AC_LANG_PROGRAM([[
-#include <linux/hdreg.h>
-#include <sys/ioctl.h>
- ]], [[
-struct hd_geometry hdr;
-ioctl(0, HDIO_GETGEO, &hdr);
- ]])
- ], have_hdio_getgeo=yes
- AC_MSG_RESULT(yes),
- AC_MSG_RESULT(no))
- AC_SUBST(have_hdio_getgeo)
- ])
-
AC_DEFUN([AC_PACKAGE_CHECK_LTO],
[ AC_MSG_CHECKING([if C compiler supports LTO])
OLD_CFLAGS="$CFLAGS"
LCFLAGS += -DHAVE_LIBICU $(LIBICU_CFLAGS)
endif
-ifeq ($(HAVE_HDIO_GETGEO),yes)
-LCFLAGS += -DHAVE_HDIO_GETGEO
-endif
-
LDIRT = $(XFS_SCRUB_ALL_PROG) $(XFS_SCRUB_FAIL_PROG) *.service *.cron
default: depend $(LTCOMMAND) $(XFS_SCRUB_ALL_PROG) $(XFS_SCRUB_FAIL_PROG) $(OPTIONAL_TARGETS)
#include <sys/types.h>
#include <sys/statvfs.h>
#include <scsi/sg.h>
-#ifdef HAVE_HDIO_GETGEO
-# include <linux/hdreg.h>
-#endif
+#include <linux/hdreg.h>
#include "platform_defs.h"
#include "libfrog/util.h"
#include "libfrog/paths.h"
disk_open(
const char *pathname)
{
-#ifdef HAVE_HDIO_GETGEO
struct hd_geometry bdgeo;
-#endif
struct disk *disk;
bool suspicious_disk = false;
int error;
error = ioctl(disk->d_fd, BLKBSZGET, &disk->d_blksize);
if (error)
disk->d_blksize = 0;
-#ifdef HAVE_HDIO_GETGEO
error = ioctl(disk->d_fd, HDIO_GETGEO, &bdgeo);
if (!error) {
/*
suspicious_disk = true;
disk->d_start = bdgeo.start << BBSHIFT;
} else
-#endif
disk->d_start = 0;
} else {
disk->d_size = disk->d_sb.st_size;