diff --git a/io/fsuuid.c b/io/fsuuid.c
index af2f87a..8e50ec1 100644
--- a/io/fsuuid.c
+++ b/io/fsuuid.c
@@ -12,6 +12,7 @@
 #include "libfrog/logging.h"
 
 static cmdinfo_t fsuuid_cmd;
+static cmdinfo_t sysfspath_cmd;
 
 static int
 fsuuid_f(
@@ -35,6 +36,62 @@
 	return 0;
 }
 
+#ifndef FS_IOC_GETFSSYSFSPATH
+struct fs_sysfs_path {
+	__u8			len;
+	__u8			name[128];
+};
+#define FS_IOC_GETFSSYSFSPATH		_IOR(0x15, 1, struct fs_sysfs_path)
+#endif
+
+static void
+sysfspath_help(void)
+{
+	printf(_(
+"\n"
+" print the sysfs path for the open file\n"
+"\n"
+" Prints the path in sysfs where one might find information about the\n"
+" filesystem backing the open files.  The path is not required to exist.\n"
+" -d	-- return the path in debugfs, if any\n"
+"\n"));
+}
+
+static int
+sysfspath_f(
+	int			argc,
+	char			**argv)
+{
+	struct fs_sysfs_path	path;
+	bool			debugfs = false;
+	int			c;
+	int			ret;
+
+	while ((c = getopt(argc, argv, "d")) != EOF) {
+		switch (c) {
+		case 'd':
+			debugfs = true;
+			break;
+		default:
+			exitcode = 1;
+			return command_usage(&sysfspath_cmd);
+		}
+	}
+
+	ret = ioctl(file->fd, FS_IOC_GETFSSYSFSPATH, &path);
+	if (ret) {
+		xfrog_perror(ret, "FS_IOC_GETSYSFSPATH");
+		exitcode = 1;
+		return 0;
+	}
+
+	if (debugfs)
+		printf("/sys/kernel/debug/%.*s\n", path.len, path.name);
+	else
+		printf("/sys/fs/%.*s\n", path.len, path.name);
+	return 0;
+}
+
 void
 fsuuid_init(void)
 {
@@ -46,4 +103,15 @@
 	fsuuid_cmd.oneline = _("get mounted filesystem UUID");
 
 	add_command(&fsuuid_cmd);
+
+	sysfspath_cmd.name = "sysfspath";
+	sysfspath_cmd.cfunc = sysfspath_f;
+	sysfspath_cmd.argmin = 0;
+	sysfspath_cmd.argmax = -1;
+	sysfspath_cmd.args = _("-d");
+	sysfspath_cmd.flags = CMD_NOMAP_OK | CMD_FLAG_FOREIGN_OK;
+	sysfspath_cmd.oneline = _("get mounted filesystem sysfs path");
+	sysfspath_cmd.help = sysfspath_help;
+
+	add_command(&sysfspath_cmd);
 }
diff --git a/man/man8/xfs_io.8 b/man/man8/xfs_io.8
index 56abe00..3ce280a 100644
--- a/man/man8/xfs_io.8
+++ b/man/man8/xfs_io.8
@@ -1464,6 +1464,13 @@
 .TP
 .B fsuuid
 Print the mounted filesystem UUID.
+.TP
+.B sysfspath
+Print the sysfs or debugfs path for the mounted filesystem.
+
+The
+.B -d
+option selects debugfs instead of sysfs.
 
 
 .SH OTHER COMMANDS
