health.c (f1184081ac97625d30c59851944f4c59ae7ddc2b) health.c (0b8686f19879d896bbe2d3e893f433a08160452d)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright (C) 2019-2023 Oracle. All Rights Reserved.
4 * Author: Darrick J. Wong <djwong@kernel.org>
5 */
6#include "xfs.h"
7#include "xfs_fs.h"
8#include "xfs_shared.h"

--- 161 unchanged lines hidden (view full) ---

170 return;
171
172 bad = (sc->sm->sm_flags & (XFS_SCRUB_OFLAG_CORRUPT |
173 XFS_SCRUB_OFLAG_XCORRUPT));
174 switch (type_to_health_flag[sc->sm->sm_type].group) {
175 case XHG_AG:
176 pag = xfs_perag_get(sc->mp, sc->sm->sm_agno);
177 if (bad)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright (C) 2019-2023 Oracle. All Rights Reserved.
4 * Author: Darrick J. Wong <djwong@kernel.org>
5 */
6#include "xfs.h"
7#include "xfs_fs.h"
8#include "xfs_shared.h"

--- 161 unchanged lines hidden (view full) ---

170 return;
171
172 bad = (sc->sm->sm_flags & (XFS_SCRUB_OFLAG_CORRUPT |
173 XFS_SCRUB_OFLAG_XCORRUPT));
174 switch (type_to_health_flag[sc->sm->sm_type].group) {
175 case XHG_AG:
176 pag = xfs_perag_get(sc->mp, sc->sm->sm_agno);
177 if (bad)
178 xfs_ag_mark_sick(pag, sc->sick_mask);
178 xfs_ag_mark_corrupt(pag, sc->sick_mask);
179 else
180 xfs_ag_mark_healthy(pag, sc->sick_mask);
181 xfs_perag_put(pag);
182 break;
183 case XHG_INO:
184 if (!sc->ip)
185 return;
186 if (bad)
179 else
180 xfs_ag_mark_healthy(pag, sc->sick_mask);
181 xfs_perag_put(pag);
182 break;
183 case XHG_INO:
184 if (!sc->ip)
185 return;
186 if (bad)
187 xfs_inode_mark_sick(sc->ip, sc->sick_mask);
187 xfs_inode_mark_corrupt(sc->ip, sc->sick_mask);
188 else
189 xfs_inode_mark_healthy(sc->ip, sc->sick_mask);
190 break;
191 case XHG_FS:
192 if (bad)
188 else
189 xfs_inode_mark_healthy(sc->ip, sc->sick_mask);
190 break;
191 case XHG_FS:
192 if (bad)
193 xfs_fs_mark_sick(sc->mp, sc->sick_mask);
193 xfs_fs_mark_corrupt(sc->mp, sc->sick_mask);
194 else
195 xfs_fs_mark_healthy(sc->mp, sc->sick_mask);
196 break;
197 case XHG_RT:
198 if (bad)
194 else
195 xfs_fs_mark_healthy(sc->mp, sc->sick_mask);
196 break;
197 case XHG_RT:
198 if (bad)
199 xfs_rt_mark_sick(sc->mp, sc->sick_mask);
199 xfs_rt_mark_corrupt(sc->mp, sc->sick_mask);
200 else
201 xfs_rt_mark_healthy(sc->mp, sc->sick_mask);
202 break;
203 default:
204 ASSERT(0);
205 break;
206 }
207}

--- 70 unchanged lines hidden ---
200 else
201 xfs_rt_mark_healthy(sc->mp, sc->sick_mask);
202 break;
203 default:
204 ASSERT(0);
205 break;
206 }
207}

--- 70 unchanged lines hidden ---