This series implements a real fdatasync, that is one that is not simply identical to fdatasync, but one that skips logging the inode if there are only timestamp updates. In fact the first three patches are just broad cleanups to get the code into shape for the rather small patch 4 implementing the optimization.