mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 20:22:09 +00:00
xfs: make xfs_buf_read return an error code
Convert xfs_buf_read() to return numeric error codes like most everywhere else in xfs. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Dave Chinner <dchinner@redhat.com>
This commit is contained in:
parent
2842b6db3d
commit
0e3eccce5e
@ -418,10 +418,10 @@ xfs_attr_rmtval_get(
|
||||
(map[i].br_startblock != HOLESTARTBLOCK));
|
||||
dblkno = XFS_FSB_TO_DADDR(mp, map[i].br_startblock);
|
||||
dblkcnt = XFS_FSB_TO_BB(mp, map[i].br_blockcount);
|
||||
bp = xfs_buf_read(mp->m_ddev_targp, dblkno, dblkcnt, 0,
|
||||
&xfs_attr3_rmt_buf_ops);
|
||||
if (!bp)
|
||||
return -ENOMEM;
|
||||
error = xfs_buf_read(mp->m_ddev_targp, dblkno, dblkcnt,
|
||||
0, &bp, &xfs_attr3_rmt_buf_ops);
|
||||
if (error)
|
||||
return error;
|
||||
|
||||
error = xfs_attr_rmtval_copyout(mp, bp, args->dp->i_ino,
|
||||
&offset, &valuelen,
|
||||
|
@ -213,22 +213,18 @@ xfs_buf_get(
|
||||
return xfs_buf_get_map(target, &map, 1, 0, bpp);
|
||||
}
|
||||
|
||||
static inline struct xfs_buf *
|
||||
static inline int
|
||||
xfs_buf_read(
|
||||
struct xfs_buftarg *target,
|
||||
xfs_daddr_t blkno,
|
||||
size_t numblks,
|
||||
xfs_buf_flags_t flags,
|
||||
struct xfs_buf **bpp,
|
||||
const struct xfs_buf_ops *ops)
|
||||
{
|
||||
struct xfs_buf *bp;
|
||||
int error;
|
||||
DEFINE_SINGLE_BUF_MAP(map, blkno, numblks);
|
||||
|
||||
error = xfs_buf_read_map(target, &map, 1, flags, &bp, ops);
|
||||
if (error)
|
||||
return NULL;
|
||||
return bp;
|
||||
return xfs_buf_read_map(target, &map, 1, flags, bpp, ops);
|
||||
}
|
||||
|
||||
static inline void
|
||||
|
@ -2745,10 +2745,10 @@ xlog_recover_buffer_pass2(
|
||||
if (buf_f->blf_flags & XFS_BLF_INODE_BUF)
|
||||
buf_flags |= XBF_UNMAPPED;
|
||||
|
||||
bp = xfs_buf_read(mp->m_ddev_targp, buf_f->blf_blkno, buf_f->blf_len,
|
||||
buf_flags, NULL);
|
||||
if (!bp)
|
||||
return -ENOMEM;
|
||||
error = xfs_buf_read(mp->m_ddev_targp, buf_f->blf_blkno, buf_f->blf_len,
|
||||
buf_flags, &bp, NULL);
|
||||
if (error)
|
||||
return error;
|
||||
|
||||
/*
|
||||
* Recover the buffer only if we get an LSN from it and it's less than
|
||||
@ -2945,12 +2945,10 @@ xlog_recover_inode_pass2(
|
||||
}
|
||||
trace_xfs_log_recover_inode_recover(log, in_f);
|
||||
|
||||
bp = xfs_buf_read(mp->m_ddev_targp, in_f->ilf_blkno, in_f->ilf_len, 0,
|
||||
&xfs_inode_buf_ops);
|
||||
if (!bp) {
|
||||
error = -ENOMEM;
|
||||
error = xfs_buf_read(mp->m_ddev_targp, in_f->ilf_blkno, in_f->ilf_len,
|
||||
0, &bp, &xfs_inode_buf_ops);
|
||||
if (error)
|
||||
goto error;
|
||||
}
|
||||
ASSERT(in_f->ilf_fields & XFS_ILOG_CORE);
|
||||
dip = xfs_buf_offset(bp, in_f->ilf_boffset);
|
||||
|
||||
|
@ -53,10 +53,10 @@ xfs_readlink_bmap_ilocked(
|
||||
d = XFS_FSB_TO_DADDR(mp, mval[n].br_startblock);
|
||||
byte_cnt = XFS_FSB_TO_B(mp, mval[n].br_blockcount);
|
||||
|
||||
bp = xfs_buf_read(mp->m_ddev_targp, d, BTOBB(byte_cnt), 0,
|
||||
&xfs_symlink_buf_ops);
|
||||
if (!bp)
|
||||
return -ENOMEM;
|
||||
error = xfs_buf_read(mp->m_ddev_targp, d, BTOBB(byte_cnt), 0,
|
||||
&bp, &xfs_symlink_buf_ops);
|
||||
if (error)
|
||||
return error;
|
||||
byte_cnt = XFS_SYMLINK_BUF_SPACE(mp, byte_cnt);
|
||||
if (pathlen < byte_cnt)
|
||||
byte_cnt = pathlen;
|
||||
|
Loading…
Reference in New Issue
Block a user