diff --git a/mkfs/xfs_mkfs.c b/../xfs_mkfs.c.bak
index 9dd0e79..49e3224 100644
--- a/mkfs/xfs_mkfs.c
+++ b/../xfs_mkfs.c.bak
@@ -13,6 +13,8 @@
 #include "libfrog/crc32cselftest.h"
 #include "proto.h"
 #include <ini.h>
+#include <linux/version.h>
+#include <sys/utsname.h>
 
 #define TERABYTES(count, blog)	((uint64_t)(count) << (40 - (blog)))
 #define GIGABYTES(count, blog)	((uint64_t)(count) << (30 - (blog)))
@@ -3998,6 +4000,23 @@ cfgfile_parse(
 		cli->cfgfile);
 }
 
+static unsigned int get_system_kver(void)
+{
+	const char *kver = getenv("KVER");
+	struct utsname utsname;
+	int a, b, c;
+
+	if (!kver) {
+		uname(&utsname);
+		kver = utsname.release;
+	}
+
+	if (sscanf(kver, "%d.%d.%d", &a, &b, &c) != 3)
+		return LINUX_VERSION_CODE;
+
+	return KERNEL_VERSION(a,b,c);
+}
+
 int
 main(
 	int			argc,
@@ -4077,7 +4096,15 @@ main(
 	};
 
 	struct list_head	buffer_list;
+	unsigned int		kver;
 	int			error;
+ 
+	/* turn bigtime & inobtcnt back off if running under older kernels */
+	kver = get_system_kver();
+	if (kver < KERNEL_VERSION(5,10,0)) {
+		dft.sb_feat.inobtcnt = false;
+		dft.sb_feat.bigtime = false;
+	}
 
 	platform_uuid_generate(&cli.uuid);
 	progname = basename(argv[0]);
