extent_cache.c (3fc5d5a182f6a1f8bd4dc775feb54c369dd2c343) | extent_cache.c (009a8241a8e5a14ea2dd0b8db42dbf283527dd44) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * f2fs extent cache support 4 * 5 * Copyright (c) 2015 Motorola Mobility 6 * Copyright (c) 2015 Samsung Electronics 7 * Authors: Jaegeuk Kim <jaegeuk@kernel.org> 8 * Chao Yu <chao2.yu@samsung.com> --- 703 unchanged lines hidden (view full) --- 712 if (fofs > dei.fofs && (type != EX_READ || 713 fofs - dei.fofs >= F2FS_MIN_EXTENT_LEN)) { 714 en->ei.len = fofs - en->ei.fofs; 715 prev_en = en; 716 parts = 1; 717 } 718 719 if (end < org_end && (type != EX_READ || | 1// SPDX-License-Identifier: GPL-2.0 2/* 3 * f2fs extent cache support 4 * 5 * Copyright (c) 2015 Motorola Mobility 6 * Copyright (c) 2015 Samsung Electronics 7 * Authors: Jaegeuk Kim <jaegeuk@kernel.org> 8 * Chao Yu <chao2.yu@samsung.com> --- 703 unchanged lines hidden (view full) --- 712 if (fofs > dei.fofs && (type != EX_READ || 713 fofs - dei.fofs >= F2FS_MIN_EXTENT_LEN)) { 714 en->ei.len = fofs - en->ei.fofs; 715 prev_en = en; 716 parts = 1; 717 } 718 719 if (end < org_end && (type != EX_READ || |
720 org_end - end >= F2FS_MIN_EXTENT_LEN)) { | 720 (org_end - end >= F2FS_MIN_EXTENT_LEN && 721 atomic_read(&et->node_cnt) < 722 sbi->max_read_extent_count))) { |
721 if (parts) { 722 __set_extent_info(&ei, 723 end, org_end - end, 724 end - dei.fofs + dei.blk, false, 725 dei.age, dei.last_blocks, 726 type); 727 en1 = __insert_extent_tree(sbi, et, &ei, 728 NULL, NULL, true); --- 478 unchanged lines hidden (view full) --- 1207 __init_extent_tree_info(&sbi->extent_tree[EX_READ]); 1208 __init_extent_tree_info(&sbi->extent_tree[EX_BLOCK_AGE]); 1209 1210 /* initialize for block age extents */ 1211 atomic64_set(&sbi->allocated_data_blocks, 0); 1212 sbi->hot_data_age_threshold = DEF_HOT_DATA_AGE_THRESHOLD; 1213 sbi->warm_data_age_threshold = DEF_WARM_DATA_AGE_THRESHOLD; 1214 sbi->last_age_weight = LAST_AGE_WEIGHT; | 723 if (parts) { 724 __set_extent_info(&ei, 725 end, org_end - end, 726 end - dei.fofs + dei.blk, false, 727 dei.age, dei.last_blocks, 728 type); 729 en1 = __insert_extent_tree(sbi, et, &ei, 730 NULL, NULL, true); --- 478 unchanged lines hidden (view full) --- 1209 __init_extent_tree_info(&sbi->extent_tree[EX_READ]); 1210 __init_extent_tree_info(&sbi->extent_tree[EX_BLOCK_AGE]); 1211 1212 /* initialize for block age extents */ 1213 atomic64_set(&sbi->allocated_data_blocks, 0); 1214 sbi->hot_data_age_threshold = DEF_HOT_DATA_AGE_THRESHOLD; 1215 sbi->warm_data_age_threshold = DEF_WARM_DATA_AGE_THRESHOLD; 1216 sbi->last_age_weight = LAST_AGE_WEIGHT; |
1217 sbi->max_read_extent_count = DEF_MAX_READ_EXTENT_COUNT; |
|
1215} 1216 1217int __init f2fs_create_extent_cache(void) 1218{ 1219 extent_tree_slab = f2fs_kmem_cache_create("f2fs_extent_tree", 1220 sizeof(struct extent_tree)); 1221 if (!extent_tree_slab) 1222 return -ENOMEM; --- 14 unchanged lines hidden --- | 1218} 1219 1220int __init f2fs_create_extent_cache(void) 1221{ 1222 extent_tree_slab = f2fs_kmem_cache_create("f2fs_extent_tree", 1223 sizeof(struct extent_tree)); 1224 if (!extent_tree_slab) 1225 return -ENOMEM; --- 14 unchanged lines hidden --- |