struct xfs_buf *bp;
unsigned int agcount;
int c;
+ int error;
setlocale(LC_ALL, "");
bindtextdomain(PACKAGE, LOCALEDIR);
*/
memset(&xmount, 0, sizeof(struct xfs_mount));
libxfs_buftarg_init(&xmount, x.ddev, x.logdev, x.rtdev);
- bp = libxfs_buf_read(xmount.m_ddev_targp, XFS_SB_DADDR,
- 1 << (XFS_MAX_SECTORSIZE_LOG - BBSHIFT), 0, NULL);
-
- if (!bp || bp->b_error) {
+ error = -libxfs_buf_read_uncached(xmount.m_ddev_targp, XFS_SB_DADDR,
+ 1 << (XFS_MAX_SECTORSIZE_LOG - BBSHIFT), 0, &bp, NULL);
+ if (error) {
fprintf(stderr, _("%s: %s is invalid (cannot read first 512 "
"bytes)\n"), progname, fsdevice);
exit(1);
/* copy SB from buffer to in-core, converting architecture as we go */
libxfs_sb_from_disk(&xmount.m_sb, XFS_BUF_TO_SBP(bp));
libxfs_buf_relse(bp);
- libxfs_purgebuf(bp);
sbp = &xmount.m_sb;
if (sbp->sb_magicnum != XFS_SB_MAGIC) {