diff --git a/io/prealloc.c b/io/prealloc.c
index de8fbee..638ec0f 100644
--- a/io/prealloc.c
+++ b/io/prealloc.c
@@ -36,6 +36,10 @@
 #define FALLOC_FL_MAP_FREE_SPACE 0x8000
 #endif
 
+#ifndef FALLOC_FL_ZEROINIT_RANGE
+#define FALLOC_FL_ZEROINIT_RANGE 0x80
+#endif
+
 static cmdinfo_t allocsp_cmd;
 static cmdinfo_t freesp_cmd;
 static cmdinfo_t resvsp_cmd;
@@ -49,6 +53,7 @@
 static cmdinfo_t fzero_cmd;
 static cmdinfo_t funshare_cmd;
 static cmdinfo_t fmapfree_cmd;
+static cmdinfo_t fzeroinit_cmd;
 #endif
 
 static int
@@ -346,6 +351,28 @@
 }
 
 static int
+fzeroinit_f(
+	int		argc,
+	char		**argv)
+{
+	xfs_flock64_t	segment;
+	int		mode = FALLOC_FL_ZEROINIT_RANGE | FALLOC_FL_KEEP_SIZE;
+	int		index = 1;
+
+	if (!offset_length(argv[index], argv[index + 1], &segment)) {
+		exitcode = 1;
+		return 0;
+	}
+
+	if (fallocate(file->fd, mode, segment.l_start, segment.l_len)) {
+		perror("fallocate");
+		exitcode = 1;
+		return 0;
+	}
+	return 0;
+}
+
+static int
 funshare_f(
 	int		argc,
 	char		**argv)
@@ -503,6 +530,16 @@
 	_("zeroes space and eliminates holes by preallocating");
 	add_command(&fzero_cmd);
 
+	fzeroinit_cmd.name = "fzeroinit";
+	fzeroinit_cmd.cfunc = fzeroinit_f;
+	fzeroinit_cmd.argmin = 2;
+	fzeroinit_cmd.argmax = 2;
+	fzeroinit_cmd.flags = CMD_NOMAP_OK | CMD_FOREIGN_OK;
+	fzeroinit_cmd.args = _("off len");
+	fzeroinit_cmd.oneline =
+	_("zero-initializes allocated space");
+	add_command(&fzeroinit_cmd);
+
 	funshare_cmd.name = "funshare";
 	funshare_cmd.cfunc = funshare_f;
 	funshare_cmd.argmin = 2;
diff --git a/man/man8/xfs_io.8 b/man/man8/xfs_io.8
index 26eae3c..28115ac 100644
--- a/man/man8/xfs_io.8
+++ b/man/man8/xfs_io.8
@@ -536,6 +536,11 @@
 .B -k
 option, use the FALLOC_FL_KEEP_SIZE flag as well.
 .TP
+.BI "fzeroinit " " offset length"
+Call fallocate with FALLOC_FL_ZEROINIT_RANGE flag as described in the
+.BR fallocate (2)
+manual page to allocate and zero blocks within the range.
+.TP
 .BI zero " offset length"
 Call xfsctl with
 .B XFS_IOC_ZERO_RANGE
