diff options
Diffstat (limited to 'fs/xfs/xfs_fsops.c')
-rw-r--r-- | fs/xfs/xfs_fsops.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c index 43b1d5699335..a7c116e814af 100644 --- a/fs/xfs/xfs_fsops.c +++ b/fs/xfs/xfs_fsops.c | |||
@@ -144,12 +144,11 @@ xfs_growfs_data_private( | |||
144 | if ((error = xfs_sb_validate_fsb_count(&mp->m_sb, nb))) | 144 | if ((error = xfs_sb_validate_fsb_count(&mp->m_sb, nb))) |
145 | return error; | 145 | return error; |
146 | dpct = pct - mp->m_sb.sb_imax_pct; | 146 | dpct = pct - mp->m_sb.sb_imax_pct; |
147 | error = xfs_read_buf(mp, mp->m_ddev_targp, | 147 | bp = xfs_buf_read_uncached(mp, mp->m_ddev_targp, |
148 | XFS_FSB_TO_BB(mp, nb) - XFS_FSS_TO_BB(mp, 1), | 148 | XFS_FSB_TO_BB(mp, nb) - XFS_FSS_TO_BB(mp, 1), |
149 | XFS_FSS_TO_BB(mp, 1), 0, &bp); | 149 | BBTOB(XFS_FSS_TO_BB(mp, 1)), 0); |
150 | if (error) | 150 | if (!bp) |
151 | return error; | 151 | return EIO; |
152 | ASSERT(bp); | ||
153 | xfs_buf_relse(bp); | 152 | xfs_buf_relse(bp); |
154 | 153 | ||
155 | new = nb; /* use new as a temporary here */ | 154 | new = nb; /* use new as a temporary here */ |
@@ -597,7 +596,8 @@ out: | |||
597 | * the extra reserve blocks from the reserve..... | 596 | * the extra reserve blocks from the reserve..... |
598 | */ | 597 | */ |
599 | int error; | 598 | int error; |
600 | error = xfs_mod_incore_sb(mp, XFS_SBS_FDBLOCKS, fdblks_delta, 0); | 599 | error = xfs_icsb_modify_counters(mp, XFS_SBS_FDBLOCKS, |
600 | fdblks_delta, 0); | ||
601 | if (error == ENOSPC) | 601 | if (error == ENOSPC) |
602 | goto retry; | 602 | goto retry; |
603 | } | 603 | } |