Commit b522950f authored by Chandra Seetharaman's avatar Chandra Seetharaman Committed by Alex Elder
Browse files

xfs: Check the return value of xfs_buf_get()



Check the return value of xfs_buf_get() and fail appropriately.

Signed-off-by: default avatarChandra Seetharaman <sekharan@us.ibm.com>
Signed-off-by: default avatarAlex Elder <aelder@sgi.com>
parent 04f658ee
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2109,8 +2109,8 @@ xfs_attr_rmtval_set(xfs_da_args_t *args)

		bp = xfs_buf_get(mp->m_ddev_targp, dblkno, blkcnt,
				 XBF_LOCK | XBF_DONT_BLOCK);
		ASSERT(!xfs_buf_geterror(bp));

		if (!bp)
			return ENOMEM;
		tmp = (valuelen < XFS_BUF_SIZE(bp)) ? valuelen :
							XFS_BUF_SIZE(bp);
		xfs_buf_iomove(bp, 0, tmp, src, XBRW_WRITE);
+20 −0
Original line number Diff line number Diff line
@@ -194,6 +194,10 @@ xfs_growfs_data_private(
		bp = xfs_buf_get(mp->m_ddev_targp,
				 XFS_AG_DADDR(mp, agno, XFS_AGF_DADDR(mp)),
				 XFS_FSS_TO_BB(mp, 1), XBF_LOCK | XBF_MAPPED);
		if (!bp) {
			error = ENOMEM;
			goto error0;
		}
		agf = XFS_BUF_TO_AGF(bp);
		memset(agf, 0, mp->m_sb.sb_sectsize);
		agf->agf_magicnum = cpu_to_be32(XFS_AGF_MAGIC);
@@ -227,6 +231,10 @@ xfs_growfs_data_private(
		bp = xfs_buf_get(mp->m_ddev_targp,
				 XFS_AG_DADDR(mp, agno, XFS_AGI_DADDR(mp)),
				 XFS_FSS_TO_BB(mp, 1), XBF_LOCK | XBF_MAPPED);
		if (!bp) {
			error = ENOMEM;
			goto error0;
		}
		agi = XFS_BUF_TO_AGI(bp);
		memset(agi, 0, mp->m_sb.sb_sectsize);
		agi->agi_magicnum = cpu_to_be32(XFS_AGI_MAGIC);
@@ -253,6 +261,10 @@ xfs_growfs_data_private(
				 XFS_AGB_TO_DADDR(mp, agno, XFS_BNO_BLOCK(mp)),
				 BTOBB(mp->m_sb.sb_blocksize),
				 XBF_LOCK | XBF_MAPPED);
		if (!bp) {
			error = ENOMEM;
			goto error0;
		}
		block = XFS_BUF_TO_BLOCK(bp);
		memset(block, 0, mp->m_sb.sb_blocksize);
		block->bb_magic = cpu_to_be32(XFS_ABTB_MAGIC);
@@ -276,6 +288,10 @@ xfs_growfs_data_private(
				 XFS_AGB_TO_DADDR(mp, agno, XFS_CNT_BLOCK(mp)),
				 BTOBB(mp->m_sb.sb_blocksize),
				 XBF_LOCK | XBF_MAPPED);
		if (!bp) {
			error = ENOMEM;
			goto error0;
		}
		block = XFS_BUF_TO_BLOCK(bp);
		memset(block, 0, mp->m_sb.sb_blocksize);
		block->bb_magic = cpu_to_be32(XFS_ABTC_MAGIC);
@@ -300,6 +316,10 @@ xfs_growfs_data_private(
				 XFS_AGB_TO_DADDR(mp, agno, XFS_IBT_BLOCK(mp)),
				 BTOBB(mp->m_sb.sb_blocksize),
				 XBF_LOCK | XBF_MAPPED);
		if (!bp) {
			error = ENOMEM;
			goto error0;
		}
		block = XFS_BUF_TO_BLOCK(bp);
		memset(block, 0, mp->m_sb.sb_blocksize);
		block->bb_magic = cpu_to_be32(XFS_IBT_MAGIC);