Commit bc2dd9f2 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Carlos Maiolino
Browse files

xfs: remove l_iclog_heads



l_iclog_heads is only used in one place and can be trivially derived
from l_iclog_hsize by a single shift operation.  Remove it, and switch
the initialization of l_iclog_hsize to use struct_size so that it is
directly derived from the on-disk format definition.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarDarrick J. Wong <djwong@kernel.org>
Reviewed-by: default avatarCarlos Maiolino <cmaiolino@redhat.com>
Signed-off-by: default avatarCarlos Maiolino <cem@kernel.org>
parent ef1e2756
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -1279,11 +1279,12 @@ xlog_get_iclog_buffer_size(
	log->l_iclog_size = mp->m_logbsize;

	/*
	 * # headers = size / 32k - one header holds cycles from 32k of data.
	 * Combined size of the log record headers.  The first 32k cycles
	 * are stored directly in the xlog_rec_header, the rest in the
	 * variable number of xlog_rec_ext_headers at its end.
	 */
	log->l_iclog_heads =
		DIV_ROUND_UP(mp->m_logbsize, XLOG_HEADER_CYCLE_SIZE);
	log->l_iclog_hsize = log->l_iclog_heads << BBSHIFT;
	log->l_iclog_hsize = struct_size(log->l_iclog->ic_header, h_ext,
		DIV_ROUND_UP(mp->m_logbsize, XLOG_HEADER_CYCLE_SIZE) - 1);
}

void
@@ -1526,7 +1527,7 @@ xlog_pack_data(
		dp += BBSIZE;
	}

	for (i = 0; i < log->l_iclog_heads - 1; i++)
	for (i = 0; i < (log->l_iclog_hsize >> BBSHIFT) - 1; i++)
		rhead->h_ext[i].xh_cycle = cycle_lsn;
}

+0 −1
Original line number Diff line number Diff line
@@ -406,7 +406,6 @@ struct xlog {
	struct list_head	*l_buf_cancel_table;
	struct list_head	r_dfops;	/* recovered log intent items */
	int			l_iclog_hsize;  /* size of iclog header */
	int			l_iclog_heads;  /* # of iclog header sectors */
	uint			l_sectBBsize;   /* sector size in BBs (2^n) */
	int			l_iclog_size;	/* size of log in bytes */
	int			l_iclog_bufs;	/* number of iclog buffers */