Re: [PATCH] vfs: fix compilation for no-MMU configurations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun 05-10-14 10:58:36, Uwe Kleine-König wrote:
> Commit ac4dd23b76ce introduced a new function pagecache_isize_extended.
> In <linux/mm.h> it was declared static inline and empty for no-MMU and
> defined unconditionally in mm/truncate.c which results a compiler
> error:
> 
> 	  CC      mm/truncate.o
> 	mm/truncate.c:751:6: error: redefinition of 'pagecache_isize_extended'
> 	 void pagecache_isize_extended(struct inode *inode, loff_t from, loff_t to)
> 	      ^
> 	In file included from mm/truncate.c:13:0:
> 	include/linux/mm.h:1161:91: note: previous definition of 'pagecache_isize_extended' was here
> 	 static inline void pagecache_isize_extended(struct inode *inode, loff_t from,
> 												   ^
> 	scripts/Makefile.build:257: recipe for target 'mm/truncate.o' failed
> 
> (tested with ARCH=arm efm32_defconfig).
> 
> Fixes: ac4dd23b76ce ("vfs: fix data corruption when blocksize < pagesize for mmaped data")
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
  Yeah, sorry for the breakage. It should be already fixed in Ted's tree.
I've actually chosen to just remove the inline definition. It is true that
currently the function doesn't need to do anything for systems not
supporting mmap but that may change in future and the functions is
reasonably cheap anyway...

								Honza
> ---
> Hello,
> 
> the bad commit sits in
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git#dev
> 
> and is included in next.
> 
> Best regards
> Uwe
> 
>  mm/truncate.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/mm/truncate.c b/mm/truncate.c
> index 261eaf6e5a19..0d9c4ebd5ecc 100644
> --- a/mm/truncate.c
> +++ b/mm/truncate.c
> @@ -729,6 +729,7 @@ void truncate_setsize(struct inode *inode, loff_t newsize)
>  }
>  EXPORT_SYMBOL(truncate_setsize);
>  
> +#ifdef CONFIG_MMU
>  /**
>   * pagecache_isize_extended - update pagecache after extension of i_size
>   * @inode:	inode for which i_size was extended
> @@ -780,6 +781,7 @@ void pagecache_isize_extended(struct inode *inode, loff_t from, loff_t to)
>  	page_cache_release(page);
>  }
>  EXPORT_SYMBOL(pagecache_isize_extended);
> +#endif
>  
>  /**
>   * truncate_pagecache_range - unmap and remove pagecache that is hole-punched
> -- 
> 2.1.0
> 
-- 
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux