On 26 Mar 2021 at 06:02, Allison Henderson wrote: > Originally we added this patch to help modularize the attr code in > preparation for delayed attributes and the state machine it requires. > However, later reviews found that this slightly alters the transaction > handling as the helper function is ambiguous as to whether the > transaction is diry or clean. This may cause a dirty transaction to be > included in the next roll, where previously it had not. To preserve the > existing code flow, we reverse apply this commit. Indeed, In the mainline kernel, __xfs_attr_rmtval_remove() invokes xfs_defer_finish() when the last remote block mapping has been removed. Also, xfs_trans_roll_inode() is invoked before invoking xfs_attr_refillstate(). Hence, Reviewed-by: Chandan Babu R <chandanrlinux@xxxxxxxxx> -- chandan