Lines Matching refs:sleb
247 static int sort_nodes(struct ubifs_info *c, struct ubifs_scan_leb *sleb, in sort_nodes() argument
256 list_for_each_entry_safe(snod, tmp, &sleb->nodes, list) { in sort_nodes()
278 err = ubifs_tnc_has_node(c, &snod->key, 0, sleb->lnum, in sort_nodes()
298 list_sort(c, &sleb->nodes, &data_nodes_cmp); in sort_nodes()
301 err = dbg_check_data_nodes_order(c, &sleb->nodes); in sort_nodes()
321 static int move_node(struct ubifs_info *c, struct ubifs_scan_leb *sleb, in move_node() argument
331 err = ubifs_tnc_replace(c, &snod->key, sleb->lnum, in move_node()
349 static int move_nodes(struct ubifs_info *c, struct ubifs_scan_leb *sleb) in move_nodes() argument
365 err = sort_nodes(c, sleb, &nondata, &min); in move_nodes()
375 list_for_each_entry_safe(snod, tmp, &sleb->nodes, list) { in move_nodes()
384 err = move_node(c, sleb, snod, wbuf); in move_nodes()
409 err = move_node(c, sleb, snod, wbuf); in move_nodes()
414 if (list_empty(&sleb->nodes) && list_empty(&nondata)) in move_nodes()
429 list_splice_tail(&nondata, &sleb->nodes); in move_nodes()
471 struct ubifs_scan_leb *sleb; in ubifs_garbage_collect_leb() local
516 sleb = ubifs_scan(c, lnum, 0, c->sbuf, 0); in ubifs_garbage_collect_leb()
517 if (IS_ERR(sleb)) in ubifs_garbage_collect_leb()
518 return PTR_ERR(sleb); in ubifs_garbage_collect_leb()
520 ubifs_assert(!list_empty(&sleb->nodes)); in ubifs_garbage_collect_leb()
521 snod = list_entry(sleb->nodes.next, struct ubifs_scan_node, list); in ubifs_garbage_collect_leb()
528 list_for_each_entry(snod, &sleb->nodes, list) { in ubifs_garbage_collect_leb()
565 err = move_nodes(c, sleb); in ubifs_garbage_collect_leb()
600 ubifs_scan_destroy(sleb); in ubifs_garbage_collect_leb()