Lines Matching defs:le

98 		struct ubi_ltree_entry *le;
100 le = rb_entry(p, struct ubi_ltree_entry, rb);
102 if (vol_id < le->vol_id)
104 else if (vol_id > le->vol_id)
107 if (lnum < le->lnum)
109 else if (lnum > le->lnum)
112 return le;
133 struct ubi_ltree_entry *le, *le1, *le_free;
135 le = kmalloc(sizeof(struct ubi_ltree_entry), GFP_NOFS);
136 if (!le)
139 le->users = 0;
140 init_rwsem(&le->mutex);
141 le->vol_id = vol_id;
142 le->lnum = lnum;
152 le_free = le;
153 le = le1;
181 rb_link_node(&le->rb, parent, p);
182 rb_insert_color(&le->rb, &ubi->ltree);
184 le->users += 1;
188 return le;
202 struct ubi_ltree_entry *le;
204 le = ltree_add_entry(ubi, vol_id, lnum);
205 if (IS_ERR(le))
206 return PTR_ERR(le);
207 down_read(&le->mutex);
219 struct ubi_ltree_entry *le;
222 le = ltree_lookup(ubi, vol_id, lnum);
223 le->users -= 1;
224 ubi_assert(le->users >= 0);
225 up_read(&le->mutex);
226 if (le->users == 0) {
227 rb_erase(&le->rb, &ubi->ltree);
228 kfree(le);
244 struct ubi_ltree_entry *le;
246 le = ltree_add_entry(ubi, vol_id, lnum);
247 if (IS_ERR(le))
248 return PTR_ERR(le);
249 down_write(&le->mutex);
266 struct ubi_ltree_entry *le;
268 le = ltree_add_entry(ubi, vol_id, lnum);
269 if (IS_ERR(le))
270 return PTR_ERR(le);
271 if (down_write_trylock(&le->mutex))
276 le->users -= 1;
277 ubi_assert(le->users >= 0);
278 if (le->users == 0) {
279 rb_erase(&le->rb, &ubi->ltree);
280 kfree(le);
295 struct ubi_ltree_entry *le;
298 le = ltree_lookup(ubi, vol_id, lnum);
299 le->users -= 1;
300 ubi_assert(le->users >= 0);
301 up_write(&le->mutex);
302 if (le->users == 0) {
303 rb_erase(&le->rb, &ubi->ltree);
304 kfree(le);