Re: [PATCH] nfs: add missing CONFIG_MIGRATION for nfs_migrate_page

From: Chao Yu
Date: Mon Sep 19 2016 - 20:34:27 EST


Hi Anna,

On 2016/9/20 1:38, Anna Schumaker wrote:
> Hi Chao,
>
> On 09/19/2016 08:09 AM, Chao Yu wrote:
>> We'd better to use CONFIG_MIGRATION to cover nfs_migrate_page, otherwise
>> when CONFIG_MIGRATION is not defined, unused nfs_migrate_page will still
>> be compiled into kernel.
>
> I don't think that nfs_migrate_page is still compiled into the kernel when CONFIG_MIGRATION=n. The file fs/nfs/internal.h has:
>
> #ifdef CONFIG_MIGRATION
> extern int nfs_migrate_page(struct address_space *,
> struct page *, struct page *, enum migrate_mode);
> #else
> #define nfs_migrate_page NULL
> #endif
>
> So it looks like we're just setting the variable to a NULL pointer in this case.

Oh, thank you for correcting me, I think I'm missing that part.

> I'm not opposed to your change, since it better matches how we've done things in other parts of the client, but can you please clean up internal.h while you're at it?

OK, let me change commit log and do more cleanup like you suggested above.

Thanks,

>
> Thanks,
> Anna
>
>>
>> Signed-off-by: Chao Yu <yuchao0@xxxxxxxxxx>
>> ---
>> fs/nfs/file.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/fs/nfs/file.c b/fs/nfs/file.c
>> index 7d62097..6cfb83e 100644
>> --- a/fs/nfs/file.c
>> +++ b/fs/nfs/file.c
>> @@ -543,7 +543,9 @@ const struct address_space_operations nfs_file_aops = {
>> .invalidatepage = nfs_invalidate_page,
>> .releasepage = nfs_release_page,
>> .direct_IO = nfs_direct_IO,
>> +#ifdef CONFIG_MIGRATION
>> .migratepage = nfs_migrate_page,
>> +#endif
>> .launder_page = nfs_launder_page,
>> .is_dirty_writeback = nfs_check_dirty_writeback,
>> .error_remove_page = generic_error_remove_page,
>>
>
>
> .
>