Re: [PATCH v25 11/14] xfsprogs: Add log attribute error tag

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 11/18/21 4:23 PM, Catherine Hoang wrote:
On Nov 16, 2021, at 8:16 PM, Allison Henderson <allison.henderson@xxxxxxxxxx
> <mailto:allison.henderson@xxxxxxxxxx>> wrote:
>
> This patch adds an error tag that we can use to test log attribute
> recovery and replay
>
> Signed-off-by: Allison Henderson <allison.henderson@xxxxxxxxxx > <mailto:allison.henderson@xxxxxxxxxx>> > Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx > <mailto:darrick.wong@xxxxxxxxxx>> > Reviewed-by: Chandan Babu R <chandanrlinux@xxxxxxxxx > <mailto:chandanrlinux@xxxxxxxxx>>
> ---
> io/inject.c           | 1 +
> libxfs/defer_item.c   | 6 ++++++
> libxfs/xfs_errortag.h | 4 +++-
> 3 files changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/io/inject.c b/io/inject.c
> index b8b0977e139e..43b51db5b9cc 100644
> --- a/io/inject.c
> +++ b/io/inject.c
> @@ -58,6 +58,7 @@ error_tag(char *name)
> { XFS_ERRTAG_REDUCE_MAX_IEXTENTS,"reduce_max_iextents" },
> { XFS_ERRTAG_BMAP_ALLOC_MINLEN_EXTENT,"bmap_alloc_minlen_extent" },
> { XFS_ERRTAG_AG_RESV_FAIL,"ag_resv_fail" },
> +{ XFS_ERRTAG_LARP,"larp" },
> { XFS_ERRTAG_MAX,NULL }
> };
> intcount;
> diff --git a/libxfs/defer_item.c b/libxfs/defer_item.c
> index 594f5e92e668..5392a1bcb961 100644
> --- a/libxfs/defer_item.c
> +++ b/libxfs/defer_item.c
> @@ -131,6 +131,11 @@ xfs_trans_attr_finish_update(
>     XFS_ATTR_OP_FLAGS_TYPE_MASK;
> interror;
>
> +if (XFS_TEST_ERROR(false, args->dp->i_mount, XFS_ERRTAG_LARP)) {
> +error = -EIO;
> +goto out;
> +}
> +
> switch (op) {
> case XFS_ATTR_OP_FLAGS_SET:
> error = xfs_attr_set_iter(dac);
> @@ -144,6 +149,7 @@ xfs_trans_attr_finish_update(
> break;
> }
>
> +out:
> /*
> * Mark the transaction dirty, even on error. This ensures the
> * transaction is aborted, which:
> diff --git a/libxfs/xfs_errortag.h b/libxfs/xfs_errortag.h
> index a23a52e643ad..c15d2340220c 100644
> --- a/libxfs/xfs_errortag.h
> +++ b/libxfs/xfs_errortag.h
> @@ -59,7 +59,8 @@
> #define XFS_ERRTAG_REDUCE_MAX_IEXTENTS36
> #define XFS_ERRTAG_BMAP_ALLOC_MINLEN_EXTENT37
> #define XFS_ERRTAG_AG_RESV_FAIL38
> -#define XFS_ERRTAG_MAX39
> +#define XFS_ERRTAG_LARP39
> +#define XFS_ERRTAG_MAX40
>
> /*
>  * Random factors for above tags, 1 means always, 2 means 1/2 time, etc.
> @@ -103,5 +104,6 @@
> #define XFS_RANDOM_REDUCE_MAX_IEXTENTS1
> #define XFS_RANDOM_BMAP_ALLOC_MINLEN_EXTENT1
> #define XFS_RANDOM_AG_RESV_FAIL1
> +#define XFS_RANDOM_LARP1
>
> #endif /* __XFS_ERRORTAG_H_ */
> -- > 2.25.1
>

Looks good

Reviewed-by: Catherine Hoang <catherine.hoang@xxxxxxxxxx
<mailto:catherine.hoang@xxxxxxxxxx>>
Great, thanks for the reviews Catherine!  I will add your rvbs :-)

Allison




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux