@@ -1115,6 +1115,20 @@ struct xfs_health_monitor {
/* Return events in JSON format */
#define XFS_HEALTH_MONITOR_FMT_JSON (1)
+struct xfs_media_error {
+ __u64 flags; /* flags */
+ __u64 daddr; /* disk address of range */
+ __u64 bbcount; /* length, in 512b blocks */
+ __u64 pad; /* zero */
+};
+
+#define XFS_MEDIA_ERROR_DATADEV (1) /* data device */
+#define XFS_MEDIA_ERROR_LOGDEV (2) /* external log device */
+#define XFS_MEDIA_ERROR_RTDEV (3) /* realtime device */
+
+/* bottom byte of flags is the device code */
+#define XFS_MEDIA_ERROR_DEVMASK (0xFF)
+
/*
* ioctl commands that are used by Linux filesystems
*/
@@ -1157,6 +1171,7 @@ struct xfs_health_monitor {
#define XFS_IOC_GETFSREFCOUNTS _IOWR('X', 66, struct xfs_getfsrefs_head)
#define XFS_IOC_MAP_FREESP _IOW ('X', 67, struct xfs_map_freesp)
#define XFS_IOC_HEALTH_MONITOR _IOW ('X', 68, struct xfs_health_monitor)
+#define XFS_IOC_MEDIA_ERROR _IOW ('X', 69, struct xfs_media_error)
/*
* ioctl commands that replace IRIX syssgi()'s