> + if (!xfs_has_v3inodes(mp)) { > + if (ldip->di_flushiter < be16_to_cpu(dip->di_flushiter)) { > + /* > + * Deal with the wrap case, DI_MAX_FLUSH is less > + * than smaller numbers > + */ > + if (be16_to_cpu(dip->di_flushiter) == DI_MAX_FLUSH && > + ldip->di_flushiter < (DI_MAX_FLUSH >> 1)) { > + /* do nothing */ > + } else { > + trace_xfs_log_recover_inode_skip(log, in_f); > + error = 0; > + goto out_release; > + } Tis just moves the existing code, but the conditional style is really weird vs a simple: if (be16_to_cpu(dip->di_flushiter) != DI_MAX_FLUSH || ldip->di_flushiter >= (DI_MAX_FLUSH >> 1)) { trace_xfs_log_recover_inode_skip(log, in_f); error = 0; goto out_release; } Nitpicking aside, this looks good: Reviewed-by: Christoph Hellwig <hch@xxxxxx>