diff --git a/e2fsprogs/e2p/fgetsetversion.c b/e2fsprogs/e2p/fgetsetversion.c
new file mode 100644
index 0000000..dcf127c
--- /dev/null
+++ b/e2fsprogs/e2p/fgetsetversion.c
@@ -0,0 +1,69 @@
+/*
+ * fgetversion.c	- Get a file version on an ext2 file system
+ * fsetversion.c	- Set a file version on an ext2 file system
+ *
+ *
+ * Copyright (C) 1993, 1994  Remy Card <card@masi.ibp.fr>
+ *                           Laboratoire MASI, Institut Blaise Pascal
+ *                           Universite Pierre et Marie Curie (Paris VI)
+ *
+ * This file can be redistributed under the terms of the GNU Library General
+ * Public License
+ */
+
+/*
+ * History:
+ * 93/10/30	- Creation
+ */
+
+#if HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <fcntl.h>
+#include <sys/ioctl.h>
+
+#include "e2p.h"
+
+#ifdef O_LARGEFILE
+#define OPEN_FLAGS (O_RDONLY|O_NONBLOCK|O_LARGEFILE)
+#else
+#define OPEN_FLAGS (O_RDONLY|O_NONBLOCK)
+#endif
+
+/* 
+   To do fsetversion:     unsigned long *ptr_version must be set to NULL.
+                      and unsigned long version must be set to a value   
+   To do fgetversion:     unsigned long *ptr_version must NOT be set to NULL
+                      and unsigned long version is ignored.
+	TITO.
+*/
+
+int fgetsetversion (const char * name, unsigned long * get_version, unsigned long set_version)
+{
+#if HAVE_EXT2_IOCTLS
+	int fd, r, ver, save_errno = 0;
+
+	fd = open (name, OPEN_FLAGS);
+	if (fd == -1)
+		return -1;
+	if (!get_version) {
+		ver = (int) set_version;
+		r = ioctl (fd, EXT2_IOC_SETVERSION, &ver);
+	} else {
+		r = ioctl (fd, EXT2_IOC_GETVERSION, &ver);
+		*get_version = ver;
+	}
+	if (r == -1)
+		save_errno = errno;
+	close (fd);
+	if (save_errno)
+		errno = save_errno;
+	return r;
+#else /* ! HAVE_EXT2_IOCTLS */
+	errno = EOPNOTSUPP;
+	return -1;
+#endif /* ! HAVE_EXT2_IOCTLS */
+}
