On 2011-06-10 00:28, Boaz Harrosh wrote: > On 06/09/2011 09:06 PM, Benny Halevy wrote: >> On 2011-06-09 22:53, Boaz Harrosh wrote: >>> On 06/09/2011 06:31 PM, Trond Myklebust wrote: >>> <snip> >>>> +void >>>> +pnfs_generic_pg_init_read(struct nfs_pageio_descriptor *pgio, struct nfs_page *req) >>>> +{ >>>> + BUG_ON(pgio->pg_lseg != NULL); >>>> + >>>> + pgio->pg_lseg = pnfs_update_layout(pgio->pg_inode, >>>> + req->wb_context, >>>> + req_offset(req), >>>> + req->wb_bytes, >>>> + IOMODE_READ, >>>> + GFP_KERNEL); >>>> +} >>>> +EXPORT_SYMBOL_GPL(pnfs_generic_pg_init_read); >>>> + >>>> +void >>>> +pnfs_generic_pg_init_write(struct nfs_pageio_descriptor *pgio, struct nfs_page *req) >>>> +{ >>>> + BUG_ON(pgio->pg_lseg != NULL); >>>> + >>>> + pgio->pg_lseg = pnfs_update_layout(pgio->pg_inode, >>>> + req->wb_context, >>>> + req_offset(req), >>>> + req->wb_bytes, >>>> + IOMODE_RW, >>>> + GFP_NOFS); >>>> +} >>>> +EXPORT_SYMBOL_GPL(pnfs_generic_pg_init_write); >>>> + >>> >>> These two above are identical except the IOMODE_{READ,RW} variable. >> >> And the respective gfp flags... >> > > So is that "we should" or should-not? > That doesn't make much sense when you've defined separate vectors for read and write. And in any case, since pg_init is not pnfs specific the caller shouldn't pass IOMODE_* values but rather a generic value that will require translation anyway. In this case I'd just consider using a common function to be called respectively from both methods: static void pnfs_pg_update_layout(struct nfs_pageio_descriptor *pgio, struct nfs_page *req, enum pnfs_iomode iomode, gfp_t gfp_flags) { BUG_ON(pgio->pg_lseg != NULL); pgio->pg_lseg = pnfs_update_layout(pgio->pg_inode, req->wb_context, req_offset(req), req->wb_bytes, iomode, gfp_flags); } >>> Why don't you just have one and let the caller pass the IOMODE_ as a >>> 3rd parameter. Do you expect more code to be added here? >>> >>> Boaz >>> -- >>> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in >>> the body of a message to majordomo@xxxxxxxxxxxxxxx >>> More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html