diff options
author | Dave Chinner <dchinner@redhat.com> | 2012-11-14 01:50:13 -0500 |
---|---|---|
committer | Ben Myers <bpm@sgi.com> | 2012-11-15 22:34:33 -0500 |
commit | c6319198702350a2215a8c0cacd6cc4283728a1b (patch) | |
tree | 3016229da9ca0c4c6a657c7b587d20ee41a9eaab /fs/xfs/xfs_dquot.h | |
parent | 3d3e6f64e22c94115d47de670611bcd3ecda3796 (diff) |
xfs: verify dquot blocks as they are read from disk
Add a dquot buffer verify callback function and pass it into the
buffer read functions. This checks all the dquots in a buffer, but
cannot completely verify the dquot ids are correct. Also, errors
cannot be repaired, so an additional function is added to repair bad
dquots in the buffer if such an error is detected in a context where
repair is allowed.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Phil White <pwhite@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_dquot.h')
-rw-r--r-- | fs/xfs/xfs_dquot.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/xfs/xfs_dquot.h b/fs/xfs/xfs_dquot.h index 7d20af27346d..a08ba92d7da0 100644 --- a/fs/xfs/xfs_dquot.h +++ b/fs/xfs/xfs_dquot.h | |||
@@ -140,6 +140,7 @@ static inline xfs_dquot_t *xfs_inode_dquot(struct xfs_inode *ip, int type) | |||
140 | 140 | ||
141 | extern int xfs_qm_dqread(struct xfs_mount *, xfs_dqid_t, uint, | 141 | extern int xfs_qm_dqread(struct xfs_mount *, xfs_dqid_t, uint, |
142 | uint, struct xfs_dquot **); | 142 | uint, struct xfs_dquot **); |
143 | extern void xfs_dquot_read_verify(struct xfs_buf *bp); | ||
143 | extern void xfs_qm_dqdestroy(xfs_dquot_t *); | 144 | extern void xfs_qm_dqdestroy(xfs_dquot_t *); |
144 | extern int xfs_qm_dqflush(struct xfs_dquot *, struct xfs_buf **); | 145 | extern int xfs_qm_dqflush(struct xfs_dquot *, struct xfs_buf **); |
145 | extern void xfs_qm_dqunpin_wait(xfs_dquot_t *); | 146 | extern void xfs_qm_dqunpin_wait(xfs_dquot_t *); |