On Wed 16-09-20 18:22:40, Jan Kara wrote: > On Thu 10-09-20 16:31:26, Mauricio Faria de Oliveira wrote: > > @@ -1111,6 +1113,27 @@ struct journal_s > > void (*j_commit_callback)(journal_t *, > > transaction_t *); > > > > + /** > > + * @j_submit_inode_data_buffers: > > + * > > + * This function is called for all inodes associated with the > > + * committing transaction marked with JI_WRITE_DATA flag > > + * before we start to write out the transaction to the journal. > > + */ > > + int (*j_submit_inode_data_buffers) > > + (struct jbd2_inode *); > > + > > + /** > > + * @j_finish_inode_data_buffers: > > + * > > + * This function is called for all inodes associated with the > > + * committing transaction marked with JI_WAIT_DATA flag > > + * after we have written the transaction to the journal > > + * but before we write out the commit block. > > + */ > > + int (*j_finish_inode_data_buffers) > > + (struct jbd2_inode *); > > + > > Having the callbacks in the journal_s will not work if we have inodes with > data journalling on a filesystem mounted in data=ordered mode. The > callbacks really need to be a per-inode thing so I'd add them to struct > jbd2_inode. Oh, now I see that you properly handle this in the callbacks. So I retract this objection. So feel free to add: Reviewed-by: Jan Kara <jack@xxxxxxx> after removing those pointless wrappers. Hoonza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR