Lines Matching refs:es1

263 	struct extent_status *es1 = NULL;
273 es1 = READ_ONCE(tree->cache_es);
274 if (es1 && in_range(lblk, es1->es_lblk, es1->es_len)) {
276 lblk, es1->es_lblk, es1->es_len,
277 ext4_es_pblock(es1), ext4_es_status(es1));
281 es1 = __es_tree_search(&tree->root, lblk);
284 if (es1 && !matching_fn(es1)) {
285 while ((node = rb_next(&es1->rb_node)) != NULL) {
286 es1 = rb_entry(node, struct extent_status, rb_node);
287 if (es1->es_lblk > end) {
288 es1 = NULL;
291 if (matching_fn(es1))
296 if (es1 && matching_fn(es1)) {
297 WRITE_ONCE(tree->cache_es, es1);
298 es->es_lblk = es1->es_lblk;
299 es->es_len = es1->es_len;
300 es->es_pblk = es1->es_pblk;
534 static int ext4_es_can_be_merged(struct extent_status *es1,
537 if (ext4_es_type(es1) != ext4_es_type(es2))
540 if (((__u64) es1->es_len) + es2->es_len > EXT_MAX_BLOCKS) {
542 "The sum of lengths of es1 (%d) and es2 (%d) "
544 es1->es_len, es2->es_len, EXT_MAX_BLOCKS);
549 if (((__u64) es1->es_lblk) + es1->es_len != es2->es_lblk)
552 if ((ext4_es_is_written(es1) || ext4_es_is_unwritten(es1)) &&
553 (ext4_es_pblock(es1) + es1->es_len == ext4_es_pblock(es2)))
556 if (ext4_es_is_hole(es1))
560 if (ext4_es_is_delayed(es1) && !ext4_es_is_unwritten(es1))
570 struct extent_status *es1;
577 es1 = rb_entry(node, struct extent_status, rb_node);
578 if (ext4_es_can_be_merged(es1, es)) {
579 es1->es_len += es->es_len;
581 ext4_es_set_referenced(es1);
584 es = es1;
594 struct extent_status *es1;
601 es1 = rb_entry(node, struct extent_status, rb_node);
602 if (ext4_es_can_be_merged(es, es1)) {
603 es->es_len += es1->es_len;
604 if (ext4_es_is_referenced(es1))
607 ext4_es_free_extent(inode, es1);
855 struct extent_status *es1 = NULL;
891 if (err1 && !es1)
892 es1 = __es_alloc_extent(true);
899 err1 = __es_remove_extent(inode, lblk, end, NULL, es1);
903 if (es1) {
904 if (!es1->es_len)
905 __es_free_extent(es1);
906 es1 = NULL;
986 struct extent_status *es1 = NULL;
1001 es1 = READ_ONCE(tree->cache_es);
1002 if (es1 && in_range(lblk, es1->es_lblk, es1->es_len)) {
1004 lblk, es1->es_lblk, es1->es_len);
1011 es1 = rb_entry(node, struct extent_status, rb_node);
1012 if (lblk < es1->es_lblk)
1014 else if (lblk > ext4_es_end(es1))
1025 BUG_ON(!es1);
1026 es->es_lblk = es1->es_lblk;
1027 es->es_len = es1->es_len;
1028 es->es_pblk = es1->es_pblk;
1029 if (!ext4_es_is_referenced(es1))
1030 ext4_es_set_referenced(es1);
1033 node = rb_next(&es1->rb_node);
1035 es1 = rb_entry(node, struct extent_status,
1037 *next_lblk = es1->es_lblk;
2066 struct extent_status *es1 = NULL;
2084 if (err1 && !es1)
2085 es1 = __es_alloc_extent(true);
2092 err1 = __es_remove_extent(inode, lblk, lblk, NULL, es1);
2096 if (es1) {
2097 if (!es1->es_len)
2098 __es_free_extent(es1);
2099 es1 = NULL;