diff options
author | Dave Chinner <david@fromorbit.com> | 2016-03-15 11:44:35 +1100 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2016-03-15 11:44:35 +1100 |
commit | 2cdb958aba6afbced5bc563167813b972b6acbfe (patch) | |
tree | 1ad9f3ec2753f80e94e62353ffd5d80d24c3c8f9 /fs/xfs/xfs_mount.h | |
parent | ab9d1e4f7b0217948a3b35a64178602ab30ff45d (diff) | |
parent | 355cced45286ed7e710058174066628ff9ad9fa4 (diff) |
Merge branch 'xfs-misc-fixes-4.6-4' into for-next
Diffstat (limited to 'fs/xfs/xfs_mount.h')
-rw-r--r-- | fs/xfs/xfs_mount.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h index 1c8611f6b464..bac6b3435591 100644 --- a/fs/xfs/xfs_mount.h +++ b/fs/xfs/xfs_mount.h @@ -147,6 +147,17 @@ typedef struct xfs_mount { * to various other kinds of pain inflicted on the pNFS server. */ __uint32_t m_generation; + +#ifdef DEBUG + /* + * DEBUG mode instrumentation to test and/or trigger delayed allocation + * block killing in the event of failed writes. When enabled, all + * buffered writes are forced to fail. All delalloc blocks in the range + * of the write (including pre-existing delalloc blocks!) are tossed as + * part of the write failure error handling sequence. + */ + bool m_fail_writes; +#endif } xfs_mount_t; /* @@ -263,6 +274,20 @@ xfs_daddr_to_agbno(struct xfs_mount *mp, xfs_daddr_t d) return (xfs_agblock_t) do_div(ld, mp->m_sb.sb_agblocks); } +#ifdef DEBUG +static inline bool +xfs_mp_fail_writes(struct xfs_mount *mp) +{ + return mp->m_fail_writes; +} +#else +static inline bool +xfs_mp_fail_writes(struct xfs_mount *mp) +{ + return 0; +} +#endif + /* * Per-ag incore structure, copies of information in agf and agi, to improve the * performance of allocation group selection. |