Re: [PATCH 3/3] xfs: only iget the file once when doing vectored scrub-by-handle

Darrick J. Wong
2024-04-11T04:56:46Z

On Wed, Apr 10, 2024 at 09:52:41PM -0700, Christoph Hellwig wrote:
> > How does it determine that we're in a transaction? We just stopped
> > storing transactions in current->journal_info due to problems with
> > nested transactions and ext4 assuming that it can blind deref that.
>
> Oh, I was looking at an old tree and missed that.

It's not in my tree but I did ... oh crap that already got committed; I
need to rip out that part of xrep_trans_alloc_hook_dummy now.

> Well, someone needs to own it, it's just not just ext4 but could us.

Er... I don't understand this? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

> > > Talking about the in transaction part - why do
> > > we drop inodes in the transaction in scrub, but not elsewhere?
> >
> > One example is:
> >
> > Alloc transaction -> lock rmap btree for repairs -> iscan filesystem to
> > find rmap records -> iget/irele.
>
> So this is just the magic empty transaction?

No, that's the fully featured repair transaction that will eventually be
used to write/commit the new rmap tree.

--D