xfs_health.c (762f99f4f3cb41a775b5157dd761217beba65873) xfs_health.c (d9041681dd2f5334529a68868c9266631c384de4)
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright (C) 2019 Oracle. All Rights Reserved.
4 * Author: Darrick J. Wong <darrick.wong@oracle.com>
5 */
6#include "xfs.h"
7#include "xfs_fs.h"
8#include "xfs_shared.h"

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

217}
218
219/* Mark the unhealthy parts of an inode. */
220void
221xfs_inode_mark_sick(
222 struct xfs_inode *ip,
223 unsigned int mask)
224{
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright (C) 2019 Oracle. All Rights Reserved.
4 * Author: Darrick J. Wong <darrick.wong@oracle.com>
5 */
6#include "xfs.h"
7#include "xfs_fs.h"
8#include "xfs_shared.h"

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

217}
218
219/* Mark the unhealthy parts of an inode. */
220void
221xfs_inode_mark_sick(
222 struct xfs_inode *ip,
223 unsigned int mask)
224{
225 ASSERT(!(mask & ~XFS_SICK_INO_PRIMARY));
225 ASSERT(!(mask & ~(XFS_SICK_INO_PRIMARY | XFS_SICK_INO_ZAPPED)));
226 trace_xfs_inode_mark_sick(ip, mask);
227
228 spin_lock(&ip->i_flags_lock);
229 ip->i_sick |= mask;
230 ip->i_checked |= mask;
231 spin_unlock(&ip->i_flags_lock);
232
233 /*

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

241}
242
243/* Mark parts of an inode healed. */
244void
245xfs_inode_mark_healthy(
246 struct xfs_inode *ip,
247 unsigned int mask)
248{
226 trace_xfs_inode_mark_sick(ip, mask);
227
228 spin_lock(&ip->i_flags_lock);
229 ip->i_sick |= mask;
230 ip->i_checked |= mask;
231 spin_unlock(&ip->i_flags_lock);
232
233 /*

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

241}
242
243/* Mark parts of an inode healed. */
244void
245xfs_inode_mark_healthy(
246 struct xfs_inode *ip,
247 unsigned int mask)
248{
249 ASSERT(!(mask & ~XFS_SICK_INO_PRIMARY));
249 ASSERT(!(mask & ~(XFS_SICK_INO_PRIMARY | XFS_SICK_INO_ZAPPED)));
250 trace_xfs_inode_mark_healthy(ip, mask);
251
252 spin_lock(&ip->i_flags_lock);
253 ip->i_sick &= ~mask;
254 ip->i_checked |= mask;
255 spin_unlock(&ip->i_flags_lock);
256}
257

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

364 { XFS_SICK_INO_CORE, XFS_BS_SICK_INODE },
365 { XFS_SICK_INO_BMBTD, XFS_BS_SICK_BMBTD },
366 { XFS_SICK_INO_BMBTA, XFS_BS_SICK_BMBTA },
367 { XFS_SICK_INO_BMBTC, XFS_BS_SICK_BMBTC },
368 { XFS_SICK_INO_DIR, XFS_BS_SICK_DIR },
369 { XFS_SICK_INO_XATTR, XFS_BS_SICK_XATTR },
370 { XFS_SICK_INO_SYMLINK, XFS_BS_SICK_SYMLINK },
371 { XFS_SICK_INO_PARENT, XFS_BS_SICK_PARENT },
250 trace_xfs_inode_mark_healthy(ip, mask);
251
252 spin_lock(&ip->i_flags_lock);
253 ip->i_sick &= ~mask;
254 ip->i_checked |= mask;
255 spin_unlock(&ip->i_flags_lock);
256}
257

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

364 { XFS_SICK_INO_CORE, XFS_BS_SICK_INODE },
365 { XFS_SICK_INO_BMBTD, XFS_BS_SICK_BMBTD },
366 { XFS_SICK_INO_BMBTA, XFS_BS_SICK_BMBTA },
367 { XFS_SICK_INO_BMBTC, XFS_BS_SICK_BMBTC },
368 { XFS_SICK_INO_DIR, XFS_BS_SICK_DIR },
369 { XFS_SICK_INO_XATTR, XFS_BS_SICK_XATTR },
370 { XFS_SICK_INO_SYMLINK, XFS_BS_SICK_SYMLINK },
371 { XFS_SICK_INO_PARENT, XFS_BS_SICK_PARENT },
372 { XFS_SICK_INO_BMBTD_ZAPPED, XFS_BS_SICK_BMBTD },
373 { XFS_SICK_INO_BMBTA_ZAPPED, XFS_BS_SICK_BMBTA },
374 { XFS_SICK_INO_DIR_ZAPPED, XFS_BS_SICK_DIR },
375 { XFS_SICK_INO_SYMLINK_ZAPPED, XFS_BS_SICK_SYMLINK },
372 { 0, 0 },
373};
374
375/* Fill out bulkstat health info. */
376void
377xfs_bulkstat_health(
378 struct xfs_inode *ip,
379 struct xfs_bulkstat *bs)

--- 16 unchanged lines hidden ---
376 { 0, 0 },
377};
378
379/* Fill out bulkstat health info. */
380void
381xfs_bulkstat_health(
382 struct xfs_inode *ip,
383 struct xfs_bulkstat *bs)

--- 16 unchanged lines hidden ---