mirror of https://gitee.com/openkylin/linux.git
xfs: Check the return value of xfs_buf_get()
Check the return value of xfs_buf_get() and fail appropriately. Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com> Signed-off-by: Alex Elder <aelder@sgi.com>
This commit is contained in:
parent
04f658ee22
commit
b522950f0a
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue