xfs_mount_t *i_mount; /* fs mount struct ptr */
xfs_ino_t i_ino; /* inode number (agno/agino) */
struct xfs_imap i_imap; /* location for xfs_imap() */
- struct xfs_buftarg i_dev; /* dev for this inode */
+ struct xfs_buftarg i_dev; /* dev for this inode */
xfs_ifork_t *i_afp; /* attribute fork pointer */
xfs_ifork_t i_df; /* data fork */
xfs_trans_t *i_transp; /* ptr to owning transaction */
#undef libxfs_putbuf
xfs_buf_t *libxfs_readbuf(struct xfs_buftarg *, xfs_daddr_t, int, int,
- const struct xfs_buf_map *);
+ const struct xfs_buf_ops *);
xfs_buf_t *libxfs_readbuf_map(struct xfs_buftarg *, struct xfs_buf_map *,
- int, int, const struct xfs_buf_map *);
+ int, int, const struct xfs_buf_ops *);
int libxfs_writebuf(xfs_buf_t *, int);
xfs_buf_t *libxfs_getbuf(struct xfs_buftarg *, xfs_daddr_t, int);
xfs_buf_t *libxfs_getbuf_map(struct xfs_buftarg *, struct xfs_buf_map *, int);
}
}
- /*
- * clear any pre-existing error status on the buffer. This can occur if
- * the buffer is corrupt on disk and the repair process doesn't clear
- * the error before fixing and writing it back.
- */
- bp->b_error = 0;
- if (bp->b_ops) {
- bp->b_ops->verify_write(bp);
- if (bp->b_error) {
- fprintf(stderr,
- _("%s: write verifer failed on bno 0x%llx/0x%x\n"),
- __func__, (long long)bp->b_bn, bp->b_bcount);
- return bp->b_error;
- }
- }
-
if (!(bp->b_flags & LIBXFS_B_DISCONTIG)) {
error = __write_buf(fd, bp->b_addr, bp->b_bcount,
LIBXFS_BBTOOFF64(bp->b_bn), bp->b_flags);
}
memset(agcnts, 0, mp->m_sb.sb_agcount * sizeof(*agcnts));
- create_work_queue(&wq, mp, 1);
- //create_work_queue(&wq, mp, scan_threads);
+ create_work_queue(&wq, mp, scan_threads);
for (i = 0; i < mp->m_sb.sb_agcount; i++)
queue_work(&wq, scan_ag, i, &agcnts[i]);