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

Hi all,

Just wanted to get this sent out again after the holidays. Original text
below:

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_v25_extended

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

v2 changes:
Updated naming scheme to make it clear that these error tags are meant to
trigger on the attribute code path for a replay

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  | 4 ++++
 libxfs/xfs_errortag.h  | 6 +++++-
 4 files changed, 16 insertions(+), 1 deletion(-)

-- 
2.25.1


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

* [RFC PATCH v2 1/2] xfsprogs: add leaf split error tag
  2022-01-10 21:29 [RFC PATCH v2 0/2] xfsprogs: add error tags for log attribute replay test Catherine Hoang
@ 2022-01-10 21:29 ` Catherine Hoang
  2022-01-10 21:29 ` [RFC PATCH v2 2/2] xfsprogs: add leaf to node " Catherine Hoang
  1 sibling, 0 replies; 4+ messages in thread
From: Catherine Hoang @ 2022-01-10 21:29 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 | 4 ++++
 libxfs/xfs_errortag.h | 4 +++-
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/io/inject.c b/io/inject.c
index 43b51db5..51f3e2da 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_LARP_LEAF_SPLIT,		"larp_leaf_split" },
 		{ XFS_ERRTAG_MAX,			NULL }
 	};
 	int	count;
diff --git a/libxfs/xfs_da_btree.c b/libxfs/xfs_da_btree.c
index f4e1fe80..e17354f3 100644
--- a/libxfs/xfs_da_btree.c
+++ b/libxfs/xfs_da_btree.c
@@ -479,6 +479,10 @@ xfs_da3_split(
 
 	trace_xfs_da_split(state->args);
 
+	if (XFS_TEST_ERROR(false, state->mp, XFS_ERRTAG_LARP_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..970f3a3f 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_LARP_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_LARP_LEAF_SPLIT			1
 
 #endif /* __XFS_ERRORTAG_H_ */
-- 
2.25.1


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

* [RFC PATCH v2 2/2] xfsprogs: add leaf to node error tag
  2022-01-10 21:29 [RFC PATCH v2 0/2] xfsprogs: add error tags for log attribute replay test Catherine Hoang
  2022-01-10 21:29 ` [RFC PATCH v2 1/2] xfsprogs: add leaf split error tag Catherine Hoang
@ 2022-01-10 21:29 ` Catherine Hoang
  1 sibling, 0 replies; 4+ messages in thread
From: Catherine Hoang @ 2022-01-10 21:29 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 51f3e2da..4fc5dec9 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_LARP_LEAF_SPLIT,		"larp_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 970f3a3f..6d90f064 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_LARP_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_LARP_LEAF_SPLIT			1
+#define XFS_RANDOM_LARP_LEAF_TO_NODE			1
 
 #endif /* __XFS_ERRORTAG_H_ */
-- 
2.25.1


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

* [RFC PATCH v2 0/2] xfsprogs: add error tags for log attribute replay test
@ 2021-12-07  0:01 Catherine Hoang
  0 siblings, 0 replies; 4+ messages in thread
From: Catherine Hoang @ 2021-12-07  0:01 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_v25_extended

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

v2 changes:
Updated naming scheme to make it clear that these error tags are meant to
trigger on the attribute code path for a replay

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  | 4 ++++
 libxfs/xfs_errortag.h  | 6 +++++-
 4 files changed, 16 insertions(+), 1 deletion(-)

-- 
2.25.1


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

end of thread, other threads:[~2022-01-10 21:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-10 21:29 [RFC PATCH v2 0/2] xfsprogs: add error tags for log attribute replay test Catherine Hoang
2022-01-10 21:29 ` [RFC PATCH v2 1/2] xfsprogs: add leaf split error tag Catherine Hoang
2022-01-10 21:29 ` [RFC PATCH v2 2/2] xfsprogs: add leaf to node " Catherine Hoang
  -- strict thread matches above, loose matches on Subject: below --
2021-12-07  0:01 [RFC PATCH v2 0/2] xfsprogs: add error tags for log attribute replay test 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.