Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c303c5b8 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Ben Myers
Browse files

xfs: add xlog_grant_head_init



Reviewed-by: default avatarMark Tinguely <tinguely@sgi.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
Signed-off-by: default avatarBen Myers <bpm@sgi.com>
parent 28496968
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -150,6 +150,15 @@ xlog_grant_add_space(
	} while (head_val != old);
}

STATIC void
xlog_grant_head_init(
	struct xlog_grant_head	*head)
{
	xlog_assign_grant_head(&head->grant, 1, 0);
	INIT_LIST_HEAD(&head->waiters);
	spin_lock_init(&head->lock);
}

STATIC bool
xlog_reserveq_wake(
	struct log		*log,
@@ -1070,12 +1079,9 @@ xlog_alloc_log(xfs_mount_t *mp,
	xlog_assign_atomic_lsn(&log->l_tail_lsn, 1, 0);
	xlog_assign_atomic_lsn(&log->l_last_sync_lsn, 1, 0);
	log->l_curr_cycle  = 1;	    /* 0 is bad since this is initial value */
	xlog_assign_grant_head(&log->l_reserve_head.grant, 1, 0);
	xlog_assign_grant_head(&log->l_write_head.grant, 1, 0);
	INIT_LIST_HEAD(&log->l_reserve_head.waiters);
	INIT_LIST_HEAD(&log->l_write_head.waiters);
	spin_lock_init(&log->l_reserve_head.lock);
	spin_lock_init(&log->l_write_head.lock);

	xlog_grant_head_init(&log->l_reserve_head);
	xlog_grant_head_init(&log->l_write_head);

	error = EFSCORRUPTED;
	if (xfs_sb_version_hassector(&mp->m_sb)) {