Linux XFS filesystem development
 help / color / mirror / Atom feed
From: "Darrick J. Wong" <djwong@kernel.org>
To: Christoph Hellwig <hch@lst.de>
Cc: Carlos Maiolino <cem@kernel.org>, linux-xfs@vger.kernel.org
Subject: Re: [PATCH 7/8] xfs: remove xrep_trans_{alloc,cancel}_hook_dummy
Date: Wed, 16 Jul 2025 08:33:20 -0700	[thread overview]
Message-ID: <20250716153320.GF2672049@frogsfrogsfrogs> (raw)
In-Reply-To: <20250716124352.2146673-8-hch@lst.de>

On Wed, Jul 16, 2025 at 02:43:17PM +0200, Christoph Hellwig wrote:
> XFS stopped using current->journal_info in commit f2e812c1522d ("xfs:
> don't use current->journal_info"), so there is no point in saving and
> restoring it.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>

Excellent <tents fingers>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>

--D

> ---
>  fs/xfs/scrub/repair.c        | 28 ----------------------------
>  fs/xfs/scrub/repair.h        |  4 ----
>  fs/xfs/scrub/rmap_repair.c   | 10 +++-------
>  fs/xfs/scrub/rtrmap_repair.c | 10 +++-------
>  4 files changed, 6 insertions(+), 46 deletions(-)
> 
> diff --git a/fs/xfs/scrub/repair.c b/fs/xfs/scrub/repair.c
> index f7f80ff32afc..d00c18954a26 100644
> --- a/fs/xfs/scrub/repair.c
> +++ b/fs/xfs/scrub/repair.c
> @@ -1268,34 +1268,6 @@ xrep_setup_xfbtree(
>  	return xmbuf_alloc(sc->mp, descr, &sc->xmbtp);
>  }
>  
> -/*
> - * Create a dummy transaction for use in a live update hook function.  This
> - * function MUST NOT be called from regular repair code because the current
> - * process' transaction is saved via the cookie.
> - */
> -int
> -xrep_trans_alloc_hook_dummy(
> -	struct xfs_mount	*mp,
> -	void			**cookiep,
> -	struct xfs_trans	**tpp)
> -{
> -	*cookiep = current->journal_info;
> -	current->journal_info = NULL;
> -	*tpp = xfs_trans_alloc_empty(mp);
> -	return 0;
> -}
> -
> -/* Cancel a dummy transaction used by a live update hook function. */
> -void
> -xrep_trans_cancel_hook_dummy(
> -	void			**cookiep,
> -	struct xfs_trans	*tp)
> -{
> -	xfs_trans_cancel(tp);
> -	current->journal_info = *cookiep;
> -	*cookiep = NULL;
> -}
> -
>  /*
>   * See if this buffer can pass the given ->verify_struct() function.
>   *
> diff --git a/fs/xfs/scrub/repair.h b/fs/xfs/scrub/repair.h
> index af0a3a9e5ed9..9c04295742c8 100644
> --- a/fs/xfs/scrub/repair.h
> +++ b/fs/xfs/scrub/repair.h
> @@ -180,10 +180,6 @@ int xrep_quotacheck(struct xfs_scrub *sc);
>  int xrep_reinit_pagf(struct xfs_scrub *sc);
>  int xrep_reinit_pagi(struct xfs_scrub *sc);
>  
> -int xrep_trans_alloc_hook_dummy(struct xfs_mount *mp, void **cookiep,
> -		struct xfs_trans **tpp);
> -void xrep_trans_cancel_hook_dummy(void **cookiep, struct xfs_trans *tp);
> -
>  bool xrep_buf_verify_struct(struct xfs_buf *bp, const struct xfs_buf_ops *ops);
>  void xrep_inode_set_nblocks(struct xfs_scrub *sc, int64_t new_blocks);
>  int xrep_reset_metafile_resv(struct xfs_scrub *sc);
> diff --git a/fs/xfs/scrub/rmap_repair.c b/fs/xfs/scrub/rmap_repair.c
> index bf1e632b449a..17d4a38d735c 100644
> --- a/fs/xfs/scrub/rmap_repair.c
> +++ b/fs/xfs/scrub/rmap_repair.c
> @@ -1610,7 +1610,6 @@ xrep_rmapbt_live_update(
>  	struct xfs_mount		*mp;
>  	struct xfs_btree_cur		*mcur;
>  	struct xfs_trans		*tp;
> -	void				*txcookie;
>  	int				error;
>  
>  	rr = container_of(nb, struct xrep_rmap, rhook.rmap_hook.nb);
> @@ -1621,9 +1620,7 @@ xrep_rmapbt_live_update(
>  
>  	trace_xrep_rmap_live_update(pag_group(rr->sc->sa.pag), action, p);
>  
> -	error = xrep_trans_alloc_hook_dummy(mp, &txcookie, &tp);
> -	if (error)
> -		goto out_abort;
> +	tp = xfs_trans_alloc_empty(mp);
>  
>  	mutex_lock(&rr->lock);
>  	mcur = xfs_rmapbt_mem_cursor(rr->sc->sa.pag, tp, &rr->rmap_btree);
> @@ -1637,14 +1634,13 @@ xrep_rmapbt_live_update(
>  	if (error)
>  		goto out_cancel;
>  
> -	xrep_trans_cancel_hook_dummy(&txcookie, tp);
> +	xfs_trans_cancel(tp);
>  	mutex_unlock(&rr->lock);
>  	return NOTIFY_DONE;
>  
>  out_cancel:
>  	xfbtree_trans_cancel(&rr->rmap_btree, tp);
> -	xrep_trans_cancel_hook_dummy(&txcookie, tp);
> -out_abort:
> +	xfs_trans_cancel(tp);
>  	mutex_unlock(&rr->lock);
>  	xchk_iscan_abort(&rr->iscan);
>  out_unlock:
> diff --git a/fs/xfs/scrub/rtrmap_repair.c b/fs/xfs/scrub/rtrmap_repair.c
> index 4a56726d9952..7561941a337a 100644
> --- a/fs/xfs/scrub/rtrmap_repair.c
> +++ b/fs/xfs/scrub/rtrmap_repair.c
> @@ -844,7 +844,6 @@ xrep_rtrmapbt_live_update(
>  	struct xfs_mount		*mp;
>  	struct xfs_btree_cur		*mcur;
>  	struct xfs_trans		*tp;
> -	void				*txcookie;
>  	int				error;
>  
>  	rr = container_of(nb, struct xrep_rtrmap, rhook.rmap_hook.nb);
> @@ -855,9 +854,7 @@ xrep_rtrmapbt_live_update(
>  
>  	trace_xrep_rmap_live_update(rtg_group(rr->sc->sr.rtg), action, p);
>  
> -	error = xrep_trans_alloc_hook_dummy(mp, &txcookie, &tp);
> -	if (error)
> -		goto out_abort;
> +	tp = xfs_trans_alloc_empty(mp);
>  
>  	mutex_lock(&rr->lock);
>  	mcur = xfs_rtrmapbt_mem_cursor(rr->sc->sr.rtg, tp, &rr->rtrmap_btree);
> @@ -871,14 +868,13 @@ xrep_rtrmapbt_live_update(
>  	if (error)
>  		goto out_cancel;
>  
> -	xrep_trans_cancel_hook_dummy(&txcookie, tp);
> +	xfs_trans_cancel(tp);
>  	mutex_unlock(&rr->lock);
>  	return NOTIFY_DONE;
>  
>  out_cancel:
>  	xfbtree_trans_cancel(&rr->rtrmap_btree, tp);
> -	xrep_trans_cancel_hook_dummy(&txcookie, tp);
> -out_abort:
> +	xfs_trans_cancel(tp);
>  	xchk_iscan_abort(&rr->iscan);
>  	mutex_unlock(&rr->lock);
>  out_unlock:
> -- 
> 2.47.2
> 
> 

  reply	other threads:[~2025-07-16 15:33 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-16 12:43 cleanup transaction allocation v2 Christoph Hellwig
2025-07-16 12:43 ` [PATCH 1/8] xfs: use xfs_trans_reserve_more in xfs_trans_reserve_more_inode Christoph Hellwig
2025-07-16 12:43 ` [PATCH 2/8] xfs: don't use xfs_trans_reserve in xfs_trans_reserve_more Christoph Hellwig
2025-07-16 15:30   ` Darrick J. Wong
2025-07-16 12:43 ` [PATCH 3/8] xfs: decouple xfs_trans_alloc_empty from xfs_trans_alloc Christoph Hellwig
2025-07-16 12:43 ` [PATCH 4/8] xfs: don't use xfs_trans_reserve in xfs_trans_roll Christoph Hellwig
2025-07-16 15:32   ` Darrick J. Wong
2025-07-16 12:43 ` [PATCH 5/8] xfs: return the allocated transaction from xfs_trans_alloc_empty Christoph Hellwig
2025-07-16 12:43 ` [PATCH 6/8] xfs: return the allocated transaction from xchk_trans_alloc_empty Christoph Hellwig
2025-07-16 12:43 ` [PATCH 7/8] xfs: remove xrep_trans_{alloc,cancel}_hook_dummy Christoph Hellwig
2025-07-16 15:33   ` Darrick J. Wong [this message]
2025-07-16 12:43 ` [PATCH 8/8] xfs: remove the xlog_ticket_t typedef Christoph Hellwig
2025-07-17  8:11 ` cleanup transaction allocation v2 Carlos Maiolino

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=20250716153320.GF2672049@frogsfrogsfrogs \
    --to=djwong@kernel.org \
    --cc=cem@kernel.org \
    --cc=hch@lst.de \
    --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