On Mon, 08 Sep 2014 21:03:02 +0200, Andreas Rohner wrote: > > Hi Ryusuke, > > Sorry for the late response I was busy over the weekend. > > On 2014-09-07 07:12, Ryusuke Konishi wrote: >> - clear_nilfs_flushed() seems to be called more than necessary. >> Incomplete logs that the mount time recovery of nilfs doesn't >> salvage do not need to be flushed. In this sense, it may be enough >> only for logs containing a super root and those for datasync >> nilfs_construct_dsync_segment() creates. > > Yes you are right I will change that as well. > > On the other hand it seems to me, that almost any file operation causes > a super root to be written. Even if you use fdatasync(). If the i_mtime > on the inode has to be changed, then NILFS_I_INODE_DIRTY is set and the > fdatasync() turns into a normal sync(), which always writes a super > root. Every write() to a file causes an update of i_mtime. I could only > make fdatasync() work as intended with mmap(), but maybe I am missing > something. So we may not save us a lot of updates by only updating the > flag in case the log contains a super root... Uum, this looks another problem. We need efficient fsync/fdatasync/ msync operation. The above legacy implementation should be replaced with some new ideas in which metadata update is handled more efficiently and checkpoint creation is suppressed... Ryusuke Konishi -- To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html