1
0
Fork 0

xfs: use xfs_trans_getsb in xfs_sync_sb_buf

Use xfs_trans_getsb rather than reaching right in for
mp->m_sb_bp; I think this is more correct, and it facilitates
building this libxfs code in userspace as well.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
hifive-unleashed-5.1
Eric Sandeen 2018-06-04 17:29:09 -07:00 committed by Darrick J. Wong
parent d2e7366542
commit 89c2e71123
1 changed files with 5 additions and 3 deletions

View File

@ -970,14 +970,16 @@ xfs_sync_sb_buf(
struct xfs_mount *mp)
{
struct xfs_trans *tp;
struct xfs_buf *bp;
int error;
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_sb, 0, 0, 0, &tp);
if (error)
return error;
bp = xfs_trans_getsb(tp, mp, 0);
xfs_log_sb(tp);
xfs_trans_bhold(tp, mp->m_sb_bp);
xfs_trans_bhold(tp, bp);
xfs_trans_set_sync(tp);
error = xfs_trans_commit(tp);
if (error)
@ -985,9 +987,9 @@ xfs_sync_sb_buf(
/*
* write out the sb buffer to get the changes to disk
*/
error = xfs_bwrite(mp->m_sb_bp);
error = xfs_bwrite(bp);
out:
xfs_buf_relse(mp->m_sb_bp);
xfs_buf_relse(bp);
return error;
}