Re: [PATCH 1/2] fs: Add iomap_swap_activate

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

 



Hi Aleksei,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.17-rc3 next-20180501]
[cannot apply to dgc-xfs/for-next]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Aleksei-Besogonov/fs-Add-iomap_swap_activate/20180502-034017
config: x86_64-randconfig-x009-201817 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   fs/iomap.c: In function 'iomap_swap_map':
>> fs/iomap.c:1142:8: error: implicit declaration of function 'add_swap_extent'; did you mean '__swap_count'? [-Werror=implicit-function-declaration]
     ret = add_swap_extent(ctx->sis, ctx->page_no, num_pages, disk_pos);
           ^~~~~~~~~~~~~~~
           __swap_count
   cc1: some warnings being treated as errors

vim +1142 fs/iomap.c

  1101	
  1102	static loff_t iomap_swap_map(struct inode *inode, loff_t pos, loff_t length,
  1103				     void *data, struct iomap *iomap)
  1104	{
  1105		struct iomap_swap_walker_context *ctx = data;
  1106		unsigned int blocks_per_page = PAGE_SIZE >> inode->i_blkbits;
  1107		u64 num_pages;
  1108		u64 aligned_address;
  1109		sector_t disk_pos;
  1110		loff_t eff_length;
  1111		loff_t ret;
  1112	
  1113		/* Validate the extent */
  1114	
  1115		/* Only one bdev per swap file. */
  1116		if (iomap->bdev != ctx->sis->bdev)
  1117			goto err;
  1118		/* Only real or unwritten extents. */
  1119		if (iomap->type != IOMAP_MAPPED && iomap->type != IOMAP_UNWRITTEN)
  1120			goto err;
  1121		/* No uncommitted metadata or shared blocks or inline data. */
  1122		if (iomap->flags & (IOMAP_F_DIRTY | IOMAP_F_SHARED | IOMAP_F_DATA_INLINE))
  1123			goto err;
  1124	
  1125		/*
  1126		 * Swap extents need to be PAGE_SIZE aligned on the disk
  1127		 */
  1128		aligned_address = ALIGN(iomap->addr, PAGE_SIZE);
  1129		eff_length = length - (aligned_address - iomap->addr);
  1130		BUG_ON(eff_length > length);
  1131		disk_pos = aligned_address >> inode->i_blkbits;
  1132	
  1133		if (eff_length < 0)
  1134			return length; /* Continue probing */
  1135	
  1136		num_pages = eff_length / PAGE_SIZE;
  1137	
  1138		/* Can't add blocks less than 1 page */
  1139		if (num_pages == 0)
  1140			return length; /* Continue probing */
  1141	
> 1142		ret = add_swap_extent(ctx->sis, ctx->page_no, num_pages, disk_pos);
  1143		if (ret < 0)
  1144			return ret;
  1145	
  1146		ctx->nr_extents += ret;
  1147		ctx->page_no += num_pages;
  1148		(*ctx->span) += num_pages * blocks_per_page;
  1149	
  1150		return length; /* continue probing */
  1151	err:
  1152		pr_err("swapon: swapfile has holes\n");
  1153		return -EINVAL;
  1154	}
  1155	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux