On Fri, 24 Jan 2014 21:00:03 +0100, Andreas Rohner wrote: > On 2014-01-24 19:26, Ryusuke Konishi wrote: >> You should design the new reclaim function so that it turns off the >> logic using nilfs_set_suinfo() once nilfs_set_suinfo() returned a >> status code < 0 and errno was ENOTTY. >> >> This fallback logic is needed to keep compatibility for old kernel. > > Thanks for your review. I am quite devastated how much needs to be fixed > :). I implemented most of your suggestions. I will test them tomorrow > and compose a new version of the patch set. > >> In addition, whether applying the optimization or not, should be >> selectable in /etc/nilfs_cleanerd.conf. > > You can set the two options to 0, which would completely disable the > optimization. > > # Minimum number of free blocks before a segment > # can be cleaned. Set to 0 to disable it. > min_free_blocks_threshold 0 > > # Minimum number of free blocks before a segment > # can be cleaned. Set to 0 to disable it. > # if clean segments < min_clean_segments > mc_min_free_blocks_threshold 0 > > Is that enough or should I add an additional switch, like the use_mmap > switch? Yes, please do so. The flag name would be "use_set_suinfo" (NILFS_OPT_SET_SUINFO flag for nilfs object) If nilfs_set_suinfo() returned error with errno=ENOTTY, the gc library should automatically turns it off (with a warning message). If NILFS_OPT_SET_SUINFO was off from the start, this optimization should be never tried regardless of the above threshold values. And, for the above theshold declarations, proper default values should be written in nilfs_cleanerd.conf. Regards, 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