Lines Matching refs:lp
225 const struct ubifs_lprops *lp = NULL, *idx_lp = NULL; in ubifs_find_dirty_leb() local
252 lp = ubifs_fast_find_empty(c); in ubifs_find_dirty_leb()
253 if (lp) in ubifs_find_dirty_leb()
257 lp = ubifs_fast_find_freeable(c); in ubifs_find_dirty_leb()
258 if (lp) in ubifs_find_dirty_leb()
293 lp = heap->arr[0]; in ubifs_find_dirty_leb()
294 if (lp->dirty + lp->free < min_space) in ubifs_find_dirty_leb()
295 lp = NULL; in ubifs_find_dirty_leb()
299 if (idx_lp && lp) { in ubifs_find_dirty_leb()
300 if (idx_lp->free + idx_lp->dirty >= lp->free + lp->dirty) in ubifs_find_dirty_leb()
301 lp = idx_lp; in ubifs_find_dirty_leb()
302 } else if (idx_lp && !lp) in ubifs_find_dirty_leb()
303 lp = idx_lp; in ubifs_find_dirty_leb()
305 if (lp) { in ubifs_find_dirty_leb()
306 ubifs_assert(c, lp->free + lp->dirty >= c->dead_wm); in ubifs_find_dirty_leb()
312 lp = scan_for_dirty(c, min_space, pick_free, exclude_index); in ubifs_find_dirty_leb()
313 if (IS_ERR(lp)) { in ubifs_find_dirty_leb()
314 err = PTR_ERR(lp); in ubifs_find_dirty_leb()
317 ubifs_assert(c, lp->dirty >= c->dead_wm || in ubifs_find_dirty_leb()
318 (pick_free && lp->free + lp->dirty == c->leb_size)); in ubifs_find_dirty_leb()
322 lp->lnum, lp->free, lp->dirty, lp->flags); in ubifs_find_dirty_leb()
324 lp = ubifs_change_lp(c, lp, LPROPS_NC, LPROPS_NC, in ubifs_find_dirty_leb()
325 lp->flags | LPROPS_TAKEN, 0); in ubifs_find_dirty_leb()
326 if (IS_ERR(lp)) { in ubifs_find_dirty_leb()
327 err = PTR_ERR(lp); in ubifs_find_dirty_leb()
331 memcpy(ret_lp, lp, sizeof(struct ubifs_lprops)); in ubifs_find_dirty_leb()
878 const struct ubifs_lprops *lp; in get_idx_gc_leb() local
889 lp = ubifs_lpt_lookup_dirty(c, lnum); in get_idx_gc_leb()
890 if (IS_ERR(lp)) in get_idx_gc_leb()
891 return PTR_ERR(lp); in get_idx_gc_leb()
892 lp = ubifs_change_lp(c, lp, LPROPS_NC, LPROPS_NC, in get_idx_gc_leb()
893 lp->flags | LPROPS_INDEX, -1); in get_idx_gc_leb()
894 if (IS_ERR(lp)) in get_idx_gc_leb()
895 return PTR_ERR(lp); in get_idx_gc_leb()
897 lp->lnum, lp->dirty, lp->free, lp->flags); in get_idx_gc_leb()
907 const struct ubifs_lprops *lp; in find_dirtiest_idx_leb() local
915 lp = ubifs_lpt_lookup(c, lnum); in find_dirtiest_idx_leb()
916 if (IS_ERR(lp)) in find_dirtiest_idx_leb()
917 return PTR_ERR(lp); in find_dirtiest_idx_leb()
918 if ((lp->flags & LPROPS_TAKEN) || !(lp->flags & LPROPS_INDEX)) in find_dirtiest_idx_leb()
920 lp = ubifs_change_lp(c, lp, LPROPS_NC, LPROPS_NC, in find_dirtiest_idx_leb()
921 lp->flags | LPROPS_TAKEN, 0); in find_dirtiest_idx_leb()
922 if (IS_ERR(lp)) in find_dirtiest_idx_leb()
923 return PTR_ERR(lp); in find_dirtiest_idx_leb()
926 dbg_find("LEB %d, dirty %d and free %d flags %#x", lp->lnum, lp->dirty, in find_dirtiest_idx_leb()
927 lp->free, lp->flags); in find_dirtiest_idx_leb()
928 ubifs_assert(c, lp->flags & LPROPS_TAKEN); in find_dirtiest_idx_leb()
929 ubifs_assert(c, lp->flags & LPROPS_INDEX); in find_dirtiest_idx_leb()