Hi, On 05/28/2010 11:05 PM, Dan Magenheimer wrote: > [PATCH V2 2/7] Cleancache (was Transcendent Memory): core files I just finished a rough (but working) implementation of in-kernel page cache compression backend (called zcache). During this work, I found some issues with cleancache, mostly related to (lack of) comments/documentation: > + > +static inline int cleancache_init_fs(size_t pagesize) > + - It is not very obvious that this function is called when an instance of cleancache supported filesystem is *mounted*. Initially, I thought this is called which any such filesystem module is loaded. - It seems that returning pool_id of 0 is considered as error condition (as it appears from deactivate_locked_super() changes). This seems weird; I think only negative pool_id should considered as error. Anyway, please add function comments for these. > +int __cleancache_get_page(struct page *page) > +{ > + int ret = 0; > + int pool_id = page->mapping->host->i_sb->cleancache_poolid; > + > + if (pool_id >= 0) { > + ret = (*cleancache_ops->get_page)(pool_id, > + page->mapping->host->i_ino, > + page->index, > + page); > + if (ret == CLEANCACHE_GET_PAGE_SUCCESS) > + succ_gets++; > + else > + failed_gets++; > + } > + return ret; > +} It seems "non-standard" to use '1' as success code. You could simply use 0 for success and negative error code as failure. Then you can also get rid of CLEANCACHE_GET_PAGE_SUCCESS. > + > +int __cleancache_put_page(struct page *page) What return values stands for successful put? 1? Anyway, following the same, 0 for success, negative codes for errors, seems to be better. > + > +int __cleancache_flush_page(struct address_space *mapping, struct page *page) > +int __cleancache_flush_inode(struct address_space *mapping) Return values for all the flush functions is ignored everywhere, so why not make them return void instead? > +static inline void cleancache_flush_fs(int pool_id) Like init_fs, please document that it is called when a cleancache aware filesystem is unmounted (or in other cases too?). Page cache compression was a long-pending project. I'm glad its coming into shape with the help of cleancache :) Thanks, Nitin -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html