On Tue, Aug 03, 2010 at 05:55:18AM -0400, Christoph Hellwig wrote: > I looks good to me, but there are two subtile differences between > xfs_commit_dummy_trans and xfs_fs_log_dummy that get lost. Yes, I noticed those things. Especially as I modified the wrong one in the first place and realised both need fixing and the duplication of code seems completely unnecessary. We should have only one copy of this code, not two copies that do slightly different things. > For one > xfs_commit_dummy_trans doesn't actually commit a synchronous transaction > (or rather forces out the log) unless SYNC_WAIT is set, I don't think that we really _need_ a non-blocking version - waiting for a single sync transaction in xfssyncd once every 36s is hardly going to kill performance. > in addition > to that xfs_fs_log_dummy uses _xfs_trans_alloc, which doesn't get > blocked by the filesystem freezing. Everything will be clean on a frozen filesystem, so all the current code does is block the xfssyncd until the filesytem is unfrozen. Given that we can still read everything on the frozen filesystem, inode caches can still grow and hence we still need to run regular reclaiming. If the xfssyncd is blocked then only memory pressure can free up inodes. If we want to keep all these little differences, then we still need to kill one of the two versions. Let me know which you prefer... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs