On Tue, Oct 01, 2019 at 12:41:01AM -0700, Harshad Shirwadkar wrote: > + > +Multiple fast commit blocks are a part of one sub-transaction. To > +indicate the last block in a fast commit transaction, fc_flags field > +in the last block in every subtransaction is marked with "LAST" (0x1) > +flag. A subtransaction is valid only if all the following conditions > +are met: > + > +1) SUBTID of all blocks is either equal to or greater than SUBTID of > + the previous fast commit block. > +2) For every sub-transaction, last block is marked with LAST flag. > +3) There are no invalid blocks in between. I'm wondering why we need to support multiple inodes being modified in a single transaction. As we currently have defined what can be done, all updates to an inode should be free standing and not dependent on a change to another inode, right? And today, one block only modifies one inode. The only reason why we might want to define a sub-transaction as being composed of multiple inodes, which must all be updated in an all-or-nothing fashion, is the swap boot inode ioctl, and if that's the only one, I wonder if it's worth the extra complexity. Am I missing anything? - Ted