linux-xfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Allison Henderson <allison.henderson@oracle.com>
To: "Darrick J. Wong" <djwong@kernel.org>
Cc: linux-xfs@vger.kernel.org
Subject: Re: [PATCH v25 10/12] xfs: Add larp debug option
Date: Wed, 1 Dec 2021 00:34:23 -0700	[thread overview]
Message-ID: <fe0fbf1f-96ab-172d-e017-e4100eea7356@oracle.com> (raw)
In-Reply-To: <20211123232948.GY266024@magnolia>



On 11/23/21 4:29 PM, Darrick J. Wong wrote:
> On Tue, Nov 16, 2021 at 09:13:41PM -0700, Allison Henderson wrote:
>> This patch adds a debug option to enable log attribute replay. Eventually
>> this can be removed when delayed attrs becomes permanent.
>>
>> Signed-off-by: Allison Henderson <allison.henderson@oracle.com>
>> Reviewed-by: Chandan Babu R <chandanrlinux@gmail.com>
> 
> LOL LARP
> Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Great, thank you!
Allison

> 
> --D
> 
>> ---
>>   fs/xfs/libxfs/xfs_attr.h |  4 ++++
>>   fs/xfs/xfs_globals.c     |  1 +
>>   fs/xfs/xfs_sysctl.h      |  1 +
>>   fs/xfs/xfs_sysfs.c       | 24 ++++++++++++++++++++++++
>>   4 files changed, 30 insertions(+)
>>
>> diff --git a/fs/xfs/libxfs/xfs_attr.h b/fs/xfs/libxfs/xfs_attr.h
>> index 977434f343a1..6f5a150565c7 100644
>> --- a/fs/xfs/libxfs/xfs_attr.h
>> +++ b/fs/xfs/libxfs/xfs_attr.h
>> @@ -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
>>   }
>>   
>>   /*
>> diff --git a/fs/xfs/xfs_globals.c b/fs/xfs/xfs_globals.c
>> index f62fa652c2fd..4d0a98f920ca 100644
>> --- a/fs/xfs/xfs_globals.c
>> +++ b/fs/xfs/xfs_globals.c
>> @@ -41,5 +41,6 @@ struct xfs_globals xfs_globals = {
>>   #endif
>>   #ifdef DEBUG
>>   	.pwork_threads		=	-1,	/* automatic thread detection */
>> +	.larp			=	false,	/* log attribute replay */
>>   #endif
>>   };
>> diff --git a/fs/xfs/xfs_sysctl.h b/fs/xfs/xfs_sysctl.h
>> index 7692e76ead33..f78ad6b10ea5 100644
>> --- a/fs/xfs/xfs_sysctl.h
>> +++ b/fs/xfs/xfs_sysctl.h
>> @@ -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) */
>> diff --git a/fs/xfs/xfs_sysfs.c b/fs/xfs/xfs_sysfs.c
>> index 8608f804388f..02a0b55e26b3 100644
>> --- a/fs/xfs/xfs_sysfs.c
>> +++ b/fs/xfs/xfs_sysfs.c
>> @@ -227,6 +227,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[] = {
>> @@ -236,6 +259,7 @@ static struct attribute *xfs_dbg_attrs[] = {
>>   	ATTR_LIST(always_cow),
>>   #ifdef DEBUG
>>   	ATTR_LIST(pwork_threads),
>> +	ATTR_LIST(larp),
>>   #endif
>>   	NULL,
>>   };
>> -- 
>> 2.25.1
>>

  reply	other threads:[~2021-12-01  7:34 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-17  4:13 [PATCH v25 00/12] Log Attribute Replay Allison Henderson
2021-11-17  4:13 ` [PATCH v25 01/12] xfs: Fix double unlock in defer capture code Allison Henderson
2021-11-17  4:13 ` [PATCH v25 02/12] xfs: don't commit the first deferred transaction without intents Allison Henderson
2021-11-23 23:28   ` Darrick J. Wong
2021-12-01  7:34     ` Allison Henderson
2021-11-17  4:13 ` [PATCH v25 03/12] xfs: Return from xfs_attr_set_iter if there are no more rmtblks to process Allison Henderson
2021-11-17  4:13 ` [PATCH v25 04/12] xfs: Set up infrastructure for log attribute replay Allison Henderson
2021-11-23 23:50   ` Darrick J. Wong
2021-12-01  7:35     ` Allison Henderson
2021-11-17  4:13 ` [PATCH v25 05/12] xfs: Implement attr logging and replay Allison Henderson
2021-11-24  0:11   ` Darrick J. Wong
2021-12-01  7:34     ` Allison Henderson
2021-12-01 17:52       ` Darrick J. Wong
2021-11-17  4:13 ` [PATCH v25 06/12] xfs: Skip flip flags for delayed attrs Allison Henderson
2021-11-17  4:13 ` [PATCH v25 07/12] xfs: Add xfs_attr_set_deferred and xfs_attr_remove_deferred Allison Henderson
2021-11-17  4:13 ` [PATCH v25 08/12] xfs: Remove unused xfs_attr_*_args Allison Henderson
2021-11-17  4:13 ` [PATCH v25 09/12] xfs: Add log attribute error tag Allison Henderson
2021-11-17  4:13 ` [PATCH v25 10/12] xfs: Add larp debug option Allison Henderson
2021-11-23 23:29   ` Darrick J. Wong
2021-12-01  7:34     ` Allison Henderson [this message]
2021-11-17  4:13 ` [PATCH v25 11/12] xfs: Merge xfs_delattr_context into xfs_attr_item Allison Henderson
2021-11-17  4:13 ` [PATCH v25 12/12] xfs: Add helper function xfs_attr_leaf_addname Allison Henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fe0fbf1f-96ab-172d-e017-e4100eea7356@oracle.com \
    --to=allison.henderson@oracle.com \
    --cc=djwong@kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).