[PATCH 02/14] libxfs: make libxfs_getbuf_flags return an error code

Darrick J. Wong
2020-02-20T01:44:46Z

Convert libxfs_getbuf_flags() to return numeric error codes like most
everywhere else in xfsprogs.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
---
libxfs/rdwr.c | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/libxfs/rdwr.c b/libxfs/rdwr.c
index b686d1d5..6a7a66ae 100644
--- a/libxfs/rdwr.c
+++ b/libxfs/rdwr.c
@@ -775,25 +775,21 @@ __cache_lookup(
return 0;
}

-static struct xfs_buf *
+static int
libxfs_getbuf_flags(
struct xfs_buftarg *btp,
xfs_daddr_t blkno,
int len,
- unsigned int flags)
+ unsigned int flags,
+ struct xfs_buf **bpp)
{
struct xfs_bufkey key = {NULL};
- struct xfs_buf *bp;
- int error;

key.buftarg = btp;
key.blkno = blkno;
key.bblen = len;

- error = __cache_lookup(&key, flags, &bp);
- if (error)
- return NULL;
- return bp;
+ return __cache_lookup(&key, flags, bpp);
}

/*
@@ -828,9 +824,13 @@ __libxfs_buf_get_map(
int i;
int error;

- if (nmaps == 1)
- return libxfs_getbuf_flags(btp, map[0].bm_bn, map[0].bm_len,
- flags);
+ if (nmaps == 1) {
+ error = libxfs_getbuf_flags(btp, map[0].bm_bn, map[0].bm_len,
+ flags, &bp);
+ if (error)
+ return NULL;
+ return bp;
+ }

key.buftarg = btp;
key.blkno = map[0].bm_bn;
@@ -977,8 +977,8 @@ libxfs_readbuf(
struct xfs_buf *bp;
int error;

- bp = libxfs_getbuf_flags(btp, blkno, len, 0);
- if (!bp)
+ error = libxfs_getbuf_flags(btp, blkno, len, 0, &bp);
+ if (error)
return NULL;

/*