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