On Wed, Mar 17, 2010 at 03:09:00PM -0600, Andreas Dilger wrote: <snip> (already responded to the first part) > >static const struct vm_operations_struct nfs_file_vm_ops = { > > .fault = filemap_fault, > > .page_mkwrite = nfs_vm_page_mkwrite, > >+#ifdef CONFIG_CHECKPOINT > >+ .checkpoint = filemap_checkpoint, > >+#endif > >}; > > Why is this one conditional, but the others are not? Something like this perhaps (untested, but it should work). Move empty filemap_checkpoint definition This makes the operation usable in the nfs vm operation structure and avoids the extra #ifdef. Signed-off-by: Matt Helsley <matthltc@xxxxxxxxxx> Cc: Andreas Dilger <adilger@xxxxxxx> diff --git a/fs/nfs/file.c b/fs/nfs/file.c index 4437ef9..c6f9090 100644 --- a/fs/nfs/file.c +++ b/fs/nfs/file.c @@ -578,9 +578,7 @@ out_unlock: static const struct vm_operations_struct nfs_file_vm_ops = { .fault = filemap_fault, .page_mkwrite = nfs_vm_page_mkwrite, -#ifdef CONFIG_CHECKPOINT .checkpoint = filemap_checkpoint, -#endif }; static int nfs_need_sync_write(struct file *filp, struct inode *inode) diff --git a/include/linux/mm.h b/include/linux/mm.h index 210d8e3..e9d9605 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1206,6 +1206,8 @@ extern int filemap_fault(struct vm_area_struct *, struct vm_fault *); #ifdef CONFIG_CHECKPOINT /* generic vm_area_ops exported for mapped files checkpoint */ extern int filemap_checkpoint(struct ckpt_ctx *, struct vm_area_struct *); +#else /* !CONFIG_CHECKPOINT */ +#define filemap_checkpoint NULL #endif /* mm/page-writeback.c */ diff --git a/mm/filemap.c b/mm/filemap.c index 4ea28e6..bc98a15 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -1678,8 +1678,6 @@ int filemap_restore(struct ckpt_ctx *ctx, } return ret; } -#else /* !CONFIG_CHECKPOINT */ -#define filemap_checkpoint NULL #endif const struct vm_operations_struct generic_file_vm_ops = { -- 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