All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH v3 0/2] xfsprogs: add error tags for log attribute replay test
@ 2022-02-01 17:17 Catherine Hoang
  2022-02-01 17:17 ` [RFC PATCH v3 1/2] xfsprogs: add leaf split error tag Catherine Hoang
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Catherine Hoang @ 2022-02-01 17:17 UTC (permalink / raw)
  To: linux-xfs

Hi all,

These are the corresponding userspace changes for the new log attribute
replay test. These are built on top of Allison’s logged attribute patch
sets, which can be viewed here:
https://github.com/allisonhenderson/xfs_work/tree/delayed_attrs_xfsprogs_v26_extended

This set adds the new error tags da_leaf_split and larp_leaf_to_node,
which are used to inject errors in the tests. 

v2->v3:
Rename larp_leaf_split to da_leaf_split

Suggestions and feedback are appreciated!

Catherine


Catherine Hoang (2):
  xfsprogs: add leaf split error tag
  xfsprogs: add leaf to node error tag

 io/inject.c            | 2 ++
 libxfs/xfs_attr_leaf.c | 5 +++++
 libxfs/xfs_da_btree.c  | 3 +++
 libxfs/xfs_errortag.h  | 6 +++++-
 4 files changed, 15 insertions(+), 1 deletion(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [RFC PATCH v3 1/2] xfsprogs: add leaf split error tag
  2022-02-01 17:17 [RFC PATCH v3 0/2] xfsprogs: add error tags for log attribute replay test Catherine Hoang
@ 2022-02-01 17:17 ` Catherine Hoang
  2022-02-01 17:17 ` [RFC PATCH v3 2/2] xfsprogs: add leaf to node " Catherine Hoang
  2022-02-01 20:06 ` [RFC PATCH v3 0/2] xfsprogs: add error tags for log attribute replay test Darrick J. Wong
  2 siblings, 0 replies; 5+ messages in thread
From: Catherine Hoang @ 2022-02-01 17:17 UTC (permalink / raw)
  To: linux-xfs

Add an error tag on xfs_da3_split to test log attribute recovery
and replay.

Signed-off-by: Catherine Hoang <catherine.hoang@oracle.com>
Reviewed-by: Allison Henderson <allison.henderson@oracle.com>
---
 io/inject.c           | 1 +
 libxfs/xfs_da_btree.c | 3 +++
 libxfs/xfs_errortag.h | 4 +++-
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/io/inject.c b/io/inject.c
index 43b51db5..a7ad4df4 100644
--- a/io/inject.c
+++ b/io/inject.c
@@ -59,6 +59,7 @@ error_tag(char *name)
 		{ XFS_ERRTAG_BMAP_ALLOC_MINLEN_EXTENT,	"bmap_alloc_minlen_extent" },
 		{ XFS_ERRTAG_AG_RESV_FAIL,		"ag_resv_fail" },
 		{ XFS_ERRTAG_LARP,			"larp" },
+		{ XFS_ERRTAG_DA_LEAF_SPLIT,		"da_leaf_split" },
 		{ XFS_ERRTAG_MAX,			NULL }
 	};
 	int	count;
diff --git a/libxfs/xfs_da_btree.c b/libxfs/xfs_da_btree.c
index f4e1fe80..6474f6cd 100644
--- a/libxfs/xfs_da_btree.c
+++ b/libxfs/xfs_da_btree.c
@@ -479,6 +479,9 @@ xfs_da3_split(
 
 	trace_xfs_da_split(state->args);
 
+	if (XFS_TEST_ERROR(false, state->mp, XFS_ERRTAG_DA_LEAF_SPLIT))
+		return -EIO;
+
 	/*
 	 * Walk back up the tree splitting/inserting/adjusting as necessary.
 	 * If we need to insert and there isn't room, split the node, then
diff --git a/libxfs/xfs_errortag.h b/libxfs/xfs_errortag.h
index c15d2340..6d06a502 100644
--- a/libxfs/xfs_errortag.h
+++ b/libxfs/xfs_errortag.h
@@ -60,7 +60,8 @@
 #define XFS_ERRTAG_BMAP_ALLOC_MINLEN_EXTENT		37
 #define XFS_ERRTAG_AG_RESV_FAIL				38
 #define XFS_ERRTAG_LARP					39
-#define XFS_ERRTAG_MAX					40
+#define XFS_ERRTAG_DA_LEAF_SPLIT			40
+#define XFS_ERRTAG_MAX					41
 
 /*
  * Random factors for above tags, 1 means always, 2 means 1/2 time, etc.
@@ -105,5 +106,6 @@
 #define XFS_RANDOM_BMAP_ALLOC_MINLEN_EXTENT		1
 #define XFS_RANDOM_AG_RESV_FAIL				1
 #define XFS_RANDOM_LARP					1
+#define XFS_RANDOM_DA_LEAF_SPLIT			1
 
 #endif /* __XFS_ERRORTAG_H_ */
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [RFC PATCH v3 2/2] xfsprogs: add leaf to node error tag
  2022-02-01 17:17 [RFC PATCH v3 0/2] xfsprogs: add error tags for log attribute replay test Catherine Hoang
  2022-02-01 17:17 ` [RFC PATCH v3 1/2] xfsprogs: add leaf split error tag Catherine Hoang
@ 2022-02-01 17:17 ` Catherine Hoang
  2022-02-01 20:06 ` [RFC PATCH v3 0/2] xfsprogs: add error tags for log attribute replay test Darrick J. Wong
  2 siblings, 0 replies; 5+ messages in thread
From: Catherine Hoang @ 2022-02-01 17:17 UTC (permalink / raw)
  To: linux-xfs

Add an error tag on xfs_attr3_leaf_to_node to test log attribute
recovery and replay.

Signed-off-by: Catherine Hoang <catherine.hoang@oracle.com>
Reviewed-by: Allison Henderson <allison.henderson@oracle.com>
---
 io/inject.c            | 1 +
 libxfs/xfs_attr_leaf.c | 5 +++++
 libxfs/xfs_errortag.h  | 4 +++-
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/io/inject.c b/io/inject.c
index a7ad4df4..c211fcbc 100644
--- a/io/inject.c
+++ b/io/inject.c
@@ -60,6 +60,7 @@ error_tag(char *name)
 		{ XFS_ERRTAG_AG_RESV_FAIL,		"ag_resv_fail" },
 		{ XFS_ERRTAG_LARP,			"larp" },
 		{ XFS_ERRTAG_DA_LEAF_SPLIT,		"da_leaf_split" },
+		{ XFS_ERRTAG_LARP_LEAF_TO_NODE,		"larp_leaf_to_node" },
 		{ XFS_ERRTAG_MAX,			NULL }
 	};
 	int	count;
diff --git a/libxfs/xfs_attr_leaf.c b/libxfs/xfs_attr_leaf.c
index 6c0997c5..0f40a1ec 100644
--- a/libxfs/xfs_attr_leaf.c
+++ b/libxfs/xfs_attr_leaf.c
@@ -1181,6 +1181,11 @@ xfs_attr3_leaf_to_node(
 
 	trace_xfs_attr_leaf_to_node(args);
 
+	if (XFS_TEST_ERROR(false, mp, XFS_ERRTAG_LARP_LEAF_TO_NODE)) {
+		error = -EIO;
+		goto out;
+	}
+
 	error = xfs_da_grow_inode(args, &blkno);
 	if (error)
 		goto out;
diff --git a/libxfs/xfs_errortag.h b/libxfs/xfs_errortag.h
index 6d06a502..74b75319 100644
--- a/libxfs/xfs_errortag.h
+++ b/libxfs/xfs_errortag.h
@@ -61,7 +61,8 @@
 #define XFS_ERRTAG_AG_RESV_FAIL				38
 #define XFS_ERRTAG_LARP					39
 #define XFS_ERRTAG_DA_LEAF_SPLIT			40
-#define XFS_ERRTAG_MAX					41
+#define XFS_ERRTAG_LARP_LEAF_TO_NODE			41
+#define XFS_ERRTAG_MAX					42
 
 /*
  * Random factors for above tags, 1 means always, 2 means 1/2 time, etc.
@@ -107,5 +108,6 @@
 #define XFS_RANDOM_AG_RESV_FAIL				1
 #define XFS_RANDOM_LARP					1
 #define XFS_RANDOM_DA_LEAF_SPLIT			1
+#define XFS_RANDOM_LARP_LEAF_TO_NODE			1
 
 #endif /* __XFS_ERRORTAG_H_ */
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [RFC PATCH v3 0/2] xfsprogs: add error tags for log attribute replay test
  2022-02-01 17:17 [RFC PATCH v3 0/2] xfsprogs: add error tags for log attribute replay test Catherine Hoang
  2022-02-01 17:17 ` [RFC PATCH v3 1/2] xfsprogs: add leaf split error tag Catherine Hoang
  2022-02-01 17:17 ` [RFC PATCH v3 2/2] xfsprogs: add leaf to node " Catherine Hoang
@ 2022-02-01 20:06 ` Darrick J. Wong
  2022-02-01 22:05   ` Catherine Hoang
  2 siblings, 1 reply; 5+ messages in thread
From: Darrick J. Wong @ 2022-02-01 20:06 UTC (permalink / raw)
  To: Catherine Hoang; +Cc: linux-xfs

On Tue, Feb 01, 2022 at 05:17:53PM +0000, Catherine Hoang wrote:
> Hi all,
> 
> These are the corresponding userspace changes for the new log attribute
> replay test. These are built on top of Allison’s logged attribute patch
> sets, which can be viewed here:
> https://github.com/allisonhenderson/xfs_work/tree/delayed_attrs_xfsprogs_v26_extended
> 
> This set adds the new error tags da_leaf_split and larp_leaf_to_node,
> which are used to inject errors in the tests. 
> 
> v2->v3:
> Rename larp_leaf_split to da_leaf_split

With the XFS_ERRTAG_LARP_LEAF_TO_NODE -> XFS_ERRTAG_ATTR_LEAF_TO_NODE
change made, you can add:

Reviewed-by: Darrick J. Wong <djwong@kernel.org>

For the whole series.

--D

> 
> Suggestions and feedback are appreciated!
> 
> Catherine
> 
> 
> Catherine Hoang (2):
>   xfsprogs: add leaf split error tag
>   xfsprogs: add leaf to node error tag
> 
>  io/inject.c            | 2 ++
>  libxfs/xfs_attr_leaf.c | 5 +++++
>  libxfs/xfs_da_btree.c  | 3 +++
>  libxfs/xfs_errortag.h  | 6 +++++-
>  4 files changed, 15 insertions(+), 1 deletion(-)
> 
> -- 
> 2.25.1
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [RFC PATCH v3 0/2] xfsprogs: add error tags for log attribute replay test
  2022-02-01 20:06 ` [RFC PATCH v3 0/2] xfsprogs: add error tags for log attribute replay test Darrick J. Wong
@ 2022-02-01 22:05   ` Catherine Hoang
  0 siblings, 0 replies; 5+ messages in thread
From: Catherine Hoang @ 2022-02-01 22:05 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: linux-xfs

> On Feb 1, 2022, at 12:06 PM, Darrick J. Wong <djwong@kernel.org> wrote:
> 
> On Tue, Feb 01, 2022 at 05:17:53PM +0000, Catherine Hoang wrote:
>> Hi all,
>> 
>> These are the corresponding userspace changes for the new log attribute
>> replay test. These are built on top of Allison’s logged attribute patch
>> sets, which can be viewed here:
>> https://urldefense.com/v3/__https://github.com/allisonhenderson/xfs_work/tree/delayed_attrs_xfsprogs_v26_extended__;!!ACWV5N9M2RV99hQ!e2WVNIakDohiZPdPKi-YzSjukd97AcL-PAGBteXwqTgvz2mtn0jADrAQbq-Js7j8A1E$ 
>> 
>> This set adds the new error tags da_leaf_split and larp_leaf_to_node,
>> which are used to inject errors in the tests. 
>> 
>> v2->v3:
>> Rename larp_leaf_split to da_leaf_split
> 
> With the XFS_ERRTAG_LARP_LEAF_TO_NODE -> XFS_ERRTAG_ATTR_LEAF_TO_NODE
> change made, you can add:
> 
> Reviewed-by: Darrick J. Wong <djwong@kernel.org>
> 
> For the whole series.
> 
> --D

Sure, will change that. Thanks!
> 
>> 
>> Suggestions and feedback are appreciated!
>> 
>> Catherine
>> 
>> 
>> Catherine Hoang (2):
>>  xfsprogs: add leaf split error tag
>>  xfsprogs: add leaf to node error tag
>> 
>> io/inject.c            | 2 ++
>> libxfs/xfs_attr_leaf.c | 5 +++++
>> libxfs/xfs_da_btree.c  | 3 +++
>> libxfs/xfs_errortag.h  | 6 +++++-
>> 4 files changed, 15 insertions(+), 1 deletion(-)
>> 
>> -- 
>> 2.25.1
>> 


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-02-01 22:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-01 17:17 [RFC PATCH v3 0/2] xfsprogs: add error tags for log attribute replay test Catherine Hoang
2022-02-01 17:17 ` [RFC PATCH v3 1/2] xfsprogs: add leaf split error tag Catherine Hoang
2022-02-01 17:17 ` [RFC PATCH v3 2/2] xfsprogs: add leaf to node " Catherine Hoang
2022-02-01 20:06 ` [RFC PATCH v3 0/2] xfsprogs: add error tags for log attribute replay test Darrick J. Wong
2022-02-01 22:05   ` Catherine Hoang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.