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 ---