f2fs: swap: remove dead codes
authorChao Yu <yuchao0@huawei.com>
Wed, 26 May 2021 06:29:26 +0000 (14:29 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Wed, 23 Jun 2021 08:09:35 +0000 (01:09 -0700)
After commit af4b6b8edf6a ("f2fs: introduce check_swap_activate_fast()"),
we will never run into original logic of check_swap_activate() before
f2fs supports non 4k-sized page, so let's delete those dead codes.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/data.c

index 53af21f..ee04e6b 100644 (file)
@@ -3830,66 +3830,7 @@ int f2fs_migrate_page(struct address_space *mapping,
 #endif
 
 #ifdef CONFIG_SWAP
-static int f2fs_is_file_aligned(struct inode *inode)
-{
-       struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
-       block_t main_blkaddr = SM_I(sbi)->main_blkaddr;
-       block_t cur_lblock;
-       block_t last_lblock;
-       block_t pblock;
-       unsigned long nr_pblocks;
-       unsigned int blocks_per_sec = BLKS_PER_SEC(sbi);
-       unsigned int not_aligned = 0;
-       int ret = 0;
-
-       cur_lblock = 0;
-       last_lblock = bytes_to_blks(inode, i_size_read(inode));
-
-       while (cur_lblock < last_lblock) {
-               struct f2fs_map_blocks map;
-
-               memset(&map, 0, sizeof(map));
-               map.m_lblk = cur_lblock;
-               map.m_len = last_lblock - cur_lblock;
-               map.m_next_pgofs = NULL;
-               map.m_next_extent = NULL;
-               map.m_seg_type = NO_CHECK_TYPE;
-               map.m_may_create = false;
-
-               ret = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_FIEMAP);
-               if (ret)
-                       goto out;
-
-               /* hole */
-               if (!(map.m_flags & F2FS_MAP_FLAGS)) {
-                       f2fs_err(sbi, "Swapfile has holes");
-                       ret = -ENOENT;
-                       goto out;
-               }
-
-               pblock = map.m_pblk;
-               nr_pblocks = map.m_len;
-
-               if ((pblock - main_blkaddr) & (blocks_per_sec - 1) ||
-                       nr_pblocks & (blocks_per_sec - 1)) {
-                       if (f2fs_is_pinned_file(inode)) {
-                               f2fs_err(sbi, "Swapfile does not align to section");
-                               ret = -EINVAL;
-                               goto out;
-                       }
-                       not_aligned++;
-               }
-
-               cur_lblock += nr_pblocks;
-       }
-       if (not_aligned)
-               f2fs_warn(sbi, "Swapfile (%u) is not align to section: 1) creat(), 2) ioctl(F2FS_IOC_SET_PIN_FILE), 3) fallocate()",
-                         not_aligned);
-out:
-       return ret;
-}
-
-static int check_swap_activate_fast(struct swap_info_struct *sis,
+static int check_swap_activate(struct swap_info_struct *sis,
                                struct file *swap_file, sector_t *span)
 {
        struct address_space *mapping = swap_file->f_mapping;
@@ -3984,113 +3925,6 @@ out:
        return ret;
 }
 
-/* Copied from generic_swapfile_activate() to check any holes */
-static int check_swap_activate(struct swap_info_struct *sis,
-                               struct file *swap_file, sector_t *span)
-{
-       struct address_space *mapping = swap_file->f_mapping;
-       struct inode *inode = mapping->host;
-       struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
-       unsigned blocks_per_page;
-       unsigned long page_no;
-       sector_t probe_block;
-       sector_t last_block;
-       sector_t lowest_block = -1;
-       sector_t highest_block = 0;
-       int nr_extents = 0;
-       int ret = 0;
-
-       if (PAGE_SIZE == F2FS_BLKSIZE)
-               return check_swap_activate_fast(sis, swap_file, span);
-
-       ret = f2fs_is_file_aligned(inode);
-       if (ret)
-               goto out;
-
-       blocks_per_page = bytes_to_blks(inode, PAGE_SIZE);
-
-       /*
-        * Map all the blocks into the extent list.  This code doesn't try
-        * to be very smart.
-        */
-       probe_block = 0;
-       page_no = 0;
-       last_block = bytes_to_blks(inode, i_size_read(inode));
-       while ((probe_block + blocks_per_page) <= last_block &&
-                       page_no < sis->max) {
-               unsigned block_in_page;
-               sector_t first_block;
-               sector_t block = 0;
-
-               cond_resched();
-
-               block = probe_block;
-               ret = bmap(inode, &block);
-               if (ret)
-                       goto out;
-               if (!block)
-                       goto bad_bmap;
-               first_block = block;
-
-               /*
-                * It must be PAGE_SIZE aligned on-disk
-                */
-               if (first_block & (blocks_per_page - 1)) {
-                       probe_block++;
-                       goto reprobe;
-               }
-
-               for (block_in_page = 1; block_in_page < blocks_per_page;
-                                       block_in_page++) {
-
-                       block = probe_block + block_in_page;
-                       ret = bmap(inode, &block);
-                       if (ret)
-                               goto out;
-                       if (!block)
-                               goto bad_bmap;
-
-                       if (block != first_block + block_in_page) {
-                               /* Discontiguity */
-                               probe_block++;
-                               goto reprobe;
-                       }
-               }
-
-               first_block >>= (PAGE_SHIFT - inode->i_blkbits);
-               if (page_no) {  /* exclude the header page */
-                       if (first_block < lowest_block)
-                               lowest_block = first_block;
-                       if (first_block > highest_block)
-                               highest_block = first_block;
-               }
-
-               /*
-                * We found a PAGE_SIZE-length, PAGE_SIZE-aligned run of blocks
-                */
-               ret = add_swap_extent(sis, page_no, 1, first_block);
-               if (ret < 0)
-                       goto out;
-               nr_extents += ret;
-               page_no++;
-               probe_block += blocks_per_page;
-reprobe:
-               continue;
-       }
-       ret = nr_extents;
-       *span = 1 + highest_block - lowest_block;
-       if (page_no == 0)
-               page_no = 1;    /* force Empty message */
-       sis->max = page_no;
-       sis->pages = page_no - 1;
-       sis->highest_bit = page_no - 1;
-out:
-       return ret;
-bad_bmap:
-       f2fs_err(sbi, "Swapfile has holes");
-       return -EINVAL;
-}
-
 static int f2fs_swap_activate(struct swap_info_struct *sis, struct file *file,
                                sector_t *span)
 {