From: Darrick J. Wong Date: Sat, 14 Mar 2020 03:00:59 +0000 (-0400) Subject: libxfs: make libxfs_getbuf_flags return an error code X-Git-Tag: v5.6.0-rc0~13 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=a5ab418c7f07487d02f7ff76cc0aa6f7b71f8802;p=users%2Fhch%2Fxfsprogs.git libxfs: make libxfs_getbuf_flags return an error code Convert libxfs_getbuf_flags() to return numeric error codes like most everywhere else in xfsprogs. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Signed-off-by: Eric Sandeen --- diff --git a/libxfs/rdwr.c b/libxfs/rdwr.c index 60fd042c6..c102f124a 100644 --- a/libxfs/rdwr.c +++ b/libxfs/rdwr.c @@ -545,25 +545,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); } /* @@ -598,9 +594,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; @@ -748,8 +748,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; /*