Commit 67a841f9 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Chandan Babu R
Browse files

xfs: clean up buffer allocation in xlog_do_recovery_pass



Merge the initial xlog_alloc_buffer calls, and pass the variable
designating the length that is initialized to 1 above instead of passing
the open coded 1 directly.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
Reviewed-by: default avatar"Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: default avatarChandan Babu R <chandanbabu@kernel.org>
parent 45cf9760
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -3010,6 +3010,10 @@ xlog_do_recovery_pass(
	for (i = 0; i < XLOG_RHASH_SIZE; i++)
		INIT_HLIST_HEAD(&rhash[i]);

	hbp = xlog_alloc_buffer(log, hblks);
	if (!hbp)
		return -ENOMEM;

	/*
	 * Read the header of the tail block and get the iclog buffer size from
	 * h_size.  Use this to tell how many sectors make up the log header.
@@ -3020,10 +3024,6 @@ xlog_do_recovery_pass(
		 * iclog header and extract the header size from it.  Get a
		 * new hbp that is the correct size.
		 */
		hbp = xlog_alloc_buffer(log, 1);
		if (!hbp)
			return -ENOMEM;

		error = xlog_bread(log, tail_blk, 1, hbp, &offset);
		if (error)
			goto bread_err1;
@@ -3067,16 +3067,15 @@ xlog_do_recovery_pass(
			if (hblks > 1) {
				kvfree(hbp);
				hbp = xlog_alloc_buffer(log, hblks);
				if (!hbp)
					return -ENOMEM;
			}
		}
	} else {
		ASSERT(log->l_sectBBsize == 1);
		hbp = xlog_alloc_buffer(log, 1);
		h_size = XLOG_BIG_RECORD_BSIZE;
	}

	if (!hbp)
		return -ENOMEM;
	dbp = xlog_alloc_buffer(log, BTOBB(h_size));
	if (!dbp) {
		kvfree(hbp);