xfs: clean up xfs_buf_item_get_format return value
authorDarrick J. Wong <darrick.wong@oracle.com>
Wed, 8 Jan 2020 17:21:22 +0000 (09:21 -0800)
committerDarrick J. Wong <darrick.wong@oracle.com>
Thu, 16 Jan 2020 16:07:23 +0000 (08:07 -0800)
The only thing that can cause a nonzero return from
xfs_buf_item_get_format is if the kmem_alloc fails, which it can't.
Get rid of all the unnecessary error handling.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
fs/xfs/xfs_buf_item.c

index 3984779e59110e69033f558de18017c9ae539fd0..9737f177a49b5e5eb6ca2117d44bfe74152fca24 100644 (file)
@@ -688,7 +688,7 @@ static const struct xfs_item_ops xfs_buf_item_ops = {
        .iop_push       = xfs_buf_item_push,
 };
 
-STATIC int
+STATIC void
 xfs_buf_item_get_format(
        struct xfs_buf_log_item *bip,
        int                     count)
@@ -698,14 +698,11 @@ xfs_buf_item_get_format(
 
        if (count == 1) {
                bip->bli_formats = &bip->__bli_format;
-               return 0;
+               return;
        }
 
        bip->bli_formats = kmem_zalloc(count * sizeof(struct xfs_buf_log_format),
                                0);
-       if (!bip->bli_formats)
-               return -ENOMEM;
-       return 0;
 }
 
 STATIC void
@@ -731,7 +728,6 @@ xfs_buf_item_init(
        struct xfs_buf_log_item *bip = bp->b_log_item;
        int                     chunks;
        int                     map_size;
-       int                     error;
        int                     i;
 
        /*
@@ -760,13 +756,7 @@ xfs_buf_item_init(
         * Discontiguous buffer support follows the layout of the underlying
         * buffer. This makes the implementation as simple as possible.
         */
-       error = xfs_buf_item_get_format(bip, bp->b_map_count);
-       ASSERT(error == 0);
-       if (error) {    /* to stop gcc throwing set-but-unused warnings */
-               kmem_cache_free(xfs_buf_item_zone, bip);
-               return error;
-       }
-
+       xfs_buf_item_get_format(bip, bp->b_map_count);
 
        for (i = 0; i < bip->bli_format_count; i++) {
                chunks = DIV_ROUND_UP(BBTOB(bp->b_maps[i].bm_len),