compress.c (eaf3389c8545487c520d104f9596d810e51301bb) | compress.c (fa36f5ff74f0daf536647d418cafc0f19d5b116c) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * f2fs compress support 4 * 5 * Copyright (c) 2019 Chao Yu <chao@kernel.org> 6 */ 7 8#include <linux/fs.h> --- 1796 unchanged lines hidden (view full) --- 1805 1806 f2fs_put_dic(dic, in_task); 1807} 1808 1809/* 1810 * check whether cluster blocks are contiguous, and add extent cache entry 1811 * only if cluster blocks are logically and physically contiguous. 1812 */ | 1// SPDX-License-Identifier: GPL-2.0 2/* 3 * f2fs compress support 4 * 5 * Copyright (c) 2019 Chao Yu <chao@kernel.org> 6 */ 7 8#include <linux/fs.h> --- 1796 unchanged lines hidden (view full) --- 1805 1806 f2fs_put_dic(dic, in_task); 1807} 1808 1809/* 1810 * check whether cluster blocks are contiguous, and add extent cache entry 1811 * only if cluster blocks are logically and physically contiguous. 1812 */ |
1813unsigned int f2fs_cluster_blocks_are_contiguous(struct dnode_of_data *dn) | 1813unsigned int f2fs_cluster_blocks_are_contiguous(struct dnode_of_data *dn, 1814 unsigned int ofs_in_node) |
1814{ | 1815{ |
1815 bool compressed = f2fs_data_blkaddr(dn) == COMPRESS_ADDR; | 1816 bool compressed = data_blkaddr(dn->inode, dn->node_page, 1817 ofs_in_node) == COMPRESS_ADDR; |
1816 int i = compressed ? 1 : 0; 1817 block_t first_blkaddr = data_blkaddr(dn->inode, dn->node_page, | 1818 int i = compressed ? 1 : 0; 1819 block_t first_blkaddr = data_blkaddr(dn->inode, dn->node_page, |
1818 dn->ofs_in_node + i); | 1820 ofs_in_node + i); |
1819 1820 for (i += 1; i < F2FS_I(dn->inode)->i_cluster_size; i++) { 1821 block_t blkaddr = data_blkaddr(dn->inode, dn->node_page, | 1821 1822 for (i += 1; i < F2FS_I(dn->inode)->i_cluster_size; i++) { 1823 block_t blkaddr = data_blkaddr(dn->inode, dn->node_page, |
1822 dn->ofs_in_node + i); | 1824 ofs_in_node + i); |
1823 1824 if (!__is_valid_data_blkaddr(blkaddr)) 1825 break; 1826 if (first_blkaddr + i - (compressed ? 1 : 0) != blkaddr) 1827 return 0; 1828 } 1829 1830 return compressed ? i - 1 : i; --- 200 unchanged lines hidden --- | 1825 1826 if (!__is_valid_data_blkaddr(blkaddr)) 1827 break; 1828 if (first_blkaddr + i - (compressed ? 1 : 0) != blkaddr) 1829 return 0; 1830 } 1831 1832 return compressed ? i - 1 : i; --- 200 unchanged lines hidden --- |