Commit 535e2f75 authored by Allison Henderson's avatar Allison Henderson Committed by Dave Chinner
Browse files

xfs: Add larp debug option



This patch adds a debug option to enable log attribute replay. Eventually
this can be removed when delayed attrs becomes permanent.

Signed-off-by: default avatarAllison Henderson <allison.henderson@oracle.com>
Reviewed-by: default avatarChandan Babu R <chandanrlinux@gmail.com>
Reviewed-by: default avatarDarrick J. Wong <djwong@kernel.org>
Signed-off-by: default avatarDave Chinner <david@fromorbit.com>
parent abd61ca3
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -30,7 +30,11 @@ struct xfs_attr_list_context;

static inline bool xfs_has_larp(struct xfs_mount *mp)
{
#ifdef DEBUG
	return xfs_globals.larp;
#else
	return false;
#endif
}

/*
+1 −0
Original line number Diff line number Diff line
@@ -41,5 +41,6 @@ struct xfs_globals xfs_globals = {
#endif
#ifdef DEBUG
	.pwork_threads		=	-1,	/* automatic thread detection */
	.larp			=	false,	/* log attribute replay */
#endif
};
+1 −0
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ extern xfs_param_t xfs_params;
struct xfs_globals {
#ifdef DEBUG
	int	pwork_threads;		/* parallel workqueue threads */
	bool	larp;			/* log attribute replay */
#endif
	int	log_recovery_delay;	/* log recovery delay (secs) */
	int	mount_delay;		/* mount setup delay (secs) */
+24 −0
Original line number Diff line number Diff line
@@ -228,6 +228,29 @@ pwork_threads_show(
	return sysfs_emit(buf, "%d\n", xfs_globals.pwork_threads);
}
XFS_SYSFS_ATTR_RW(pwork_threads);

static ssize_t
larp_store(
	struct kobject	*kobject,
	const char	*buf,
	size_t		count)
{
	ssize_t		ret;

	ret = kstrtobool(buf, &xfs_globals.larp);
	if (ret < 0)
		return ret;
	return count;
}

STATIC ssize_t
larp_show(
	struct kobject	*kobject,
	char		*buf)
{
	return snprintf(buf, PAGE_SIZE, "%d\n", xfs_globals.larp);
}
XFS_SYSFS_ATTR_RW(larp);
#endif /* DEBUG */

static struct attribute *xfs_dbg_attrs[] = {
@@ -237,6 +260,7 @@ static struct attribute *xfs_dbg_attrs[] = {
	ATTR_LIST(always_cow),
#ifdef DEBUG
	ATTR_LIST(pwork_threads),
	ATTR_LIST(larp),
#endif
	NULL,
};