From: Darrick J. Wong Date: Sun, 22 Feb 2026 22:41:05 +0000 (-0800) Subject: xfs: check if an open file is on the health monitored fs X-Git-Tag: v7.0.0~88 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ac360cbefe209581cab45f6b9a6ed536dbffa123;p=xfsprogs-dev.git xfs: check if an open file is on the health monitored fs Source kernel commit: 8b85dc4090e1c72c6d42acd823514cce67cd54fc Create a new ioctl for the healthmon file that checks that a given fd points to the same filesystem that the healthmon file is monitoring. This allows xfs_healer to check that when it reopens a mountpoint to perform repairs, the file that it gets matches the filesystem that generated the corruption report. (Note that xfs_healer doesn't maintain an open fd to a filesystem that it's monitoring so that it doesn't pin the mount.) Signed-off-by: "Darrick J. Wong" Reviewed-by: Christoph Hellwig --- diff --git a/libxfs/xfs_fs.h b/libxfs/xfs_fs.h index 4ec1b2ae..a01303c5 100644 --- a/libxfs/xfs_fs.h +++ b/libxfs/xfs_fs.h @@ -1151,6 +1151,15 @@ struct xfs_health_monitor { /* Initial return format version */ #define XFS_HEALTH_MONITOR_FMT_V0 (0) +/* + * Check that a given fd points to the same filesystem that the health monitor + * is monitoring. + */ +struct xfs_health_file_on_monitored_fs { + __s32 fd; + __u32 flags; /* zero for now */ +}; + /* * ioctl commands that are used by Linux filesystems */ @@ -1191,7 +1200,8 @@ struct xfs_health_monitor { #define XFS_IOC_SCRUBV_METADATA _IOWR('X', 64, struct xfs_scrub_vec_head) #define XFS_IOC_RTGROUP_GEOMETRY _IOWR('X', 65, struct xfs_rtgroup_geometry) #define XFS_IOC_HEALTH_MONITOR _IOW ('X', 68, struct xfs_health_monitor) - +#define XFS_IOC_HEALTH_FD_ON_MONITORED_FS \ + _IOW ('X', 69, struct xfs_health_file_on_monitored_fs) /* * ioctl commands that replace IRIX syssgi()'s */