diff options
Diffstat (limited to 'fs/xfs/xfs_vnodeops.c')
-rw-r--r-- | fs/xfs/xfs_vnodeops.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c index c2ff0fc86567..0d1caec873a1 100644 --- a/fs/xfs/xfs_vnodeops.c +++ b/fs/xfs/xfs_vnodeops.c | |||
@@ -308,6 +308,10 @@ xfs_inactive_symlink_rmt( | |||
308 | bp = xfs_trans_get_buf(tp, mp->m_ddev_targp, | 308 | bp = xfs_trans_get_buf(tp, mp->m_ddev_targp, |
309 | XFS_FSB_TO_DADDR(mp, mval[i].br_startblock), | 309 | XFS_FSB_TO_DADDR(mp, mval[i].br_startblock), |
310 | XFS_FSB_TO_BB(mp, mval[i].br_blockcount), 0); | 310 | XFS_FSB_TO_BB(mp, mval[i].br_blockcount), 0); |
311 | if (!bp) { | ||
312 | error = ENOMEM; | ||
313 | goto error1; | ||
314 | } | ||
311 | xfs_trans_binval(tp, bp); | 315 | xfs_trans_binval(tp, bp); |
312 | } | 316 | } |
313 | /* | 317 | /* |
@@ -1648,7 +1652,10 @@ xfs_symlink( | |||
1648 | byte_cnt = XFS_FSB_TO_B(mp, mval[n].br_blockcount); | 1652 | byte_cnt = XFS_FSB_TO_B(mp, mval[n].br_blockcount); |
1649 | bp = xfs_trans_get_buf(tp, mp->m_ddev_targp, d, | 1653 | bp = xfs_trans_get_buf(tp, mp->m_ddev_targp, d, |
1650 | BTOBB(byte_cnt), 0); | 1654 | BTOBB(byte_cnt), 0); |
1651 | ASSERT(!xfs_buf_geterror(bp)); | 1655 | if (!bp) { |
1656 | error = ENOMEM; | ||
1657 | goto error2; | ||
1658 | } | ||
1652 | if (pathlen < byte_cnt) { | 1659 | if (pathlen < byte_cnt) { |
1653 | byte_cnt = pathlen; | 1660 | byte_cnt = pathlen; |
1654 | } | 1661 | } |