Lines Matching refs:rsv

202 	struct ext2_reserve_window_node *rsv, *prev;
212 rsv = rb_entry(n, struct ext2_reserve_window_node, rsv_node);
216 rsv, rsv->rsv_start, rsv->rsv_end);
217 if (rsv->rsv_start && rsv->rsv_start >= rsv->rsv_end) {
219 rsv);
222 if (prev && prev->rsv_end >= rsv->rsv_start) {
224 rsv);
235 prev = rsv;
248 * @rsv: inode's reservation window
263 goal_in_my_reservation(struct ext2_reserve_window *rsv, ext2_grpblk_t grp_goal,
271 if ((rsv->_rsv_start > group_last_block) ||
272 (rsv->_rsv_end < group_first_block))
274 if ((grp_goal >= 0) && ((grp_goal + group_first_block < rsv->_rsv_start)
275 || (grp_goal + group_first_block > rsv->_rsv_end)))
293 struct ext2_reserve_window_node *rsv;
299 rsv = rb_entry(n, struct ext2_reserve_window_node, rsv_node);
301 if (goal < rsv->rsv_start)
303 else if (goal > rsv->rsv_end)
306 return rsv;
314 if (rsv->rsv_start > goal) {
315 n = rb_prev(&rsv->rsv_node);
316 rsv = rb_entry(n, struct ext2_reserve_window_node, rsv_node);
318 return rsv;
324 * @rsv: reservation window to add
329 struct ext2_reserve_window_node *rsv)
332 struct rb_node *node = &rsv->rsv_node;
333 ext2_fsblk_t start = rsv->rsv_start;
361 * @rsv: reservation window to remove
368 struct ext2_reserve_window_node *rsv)
370 rsv->rsv_start = EXT2_RESERVE_WINDOW_NOT_ALLOCATED;
371 rsv->rsv_end = EXT2_RESERVE_WINDOW_NOT_ALLOCATED;
372 rsv->rsv_alloc_hit = 0;
373 rb_erase(&rsv->rsv_node, &EXT2_SB(sb)->s_rsv_window_root);
378 * @rsv: given reservation window to check
382 static inline int rsv_is_empty(struct ext2_reserve_window *rsv)
385 return (rsv->_rsv_end == EXT2_RESERVE_WINDOW_NOT_ALLOCATED);
417 struct ext2_reserve_window_node *rsv = &block_i->rsv_window_node;
419 rsv->rsv_start = EXT2_RESERVE_WINDOW_NOT_ALLOCATED;
420 rsv->rsv_end = EXT2_RESERVE_WINDOW_NOT_ALLOCATED;
428 rsv->rsv_goal_size = 0;
430 rsv->rsv_goal_size = EXT2_DEFAULT_RESERVE_BLOCKS;
431 rsv->rsv_alloc_hit = 0;
454 struct ext2_reserve_window_node *rsv;
460 rsv = &block_i->rsv_window_node;
461 if (!rsv_is_empty(&rsv->rsv_window)) {
463 if (!rsv_is_empty(&rsv->rsv_window))
464 rsv_window_remove(inode->i_sb, rsv);
756 struct ext2_reserve_window_node *rsv, *prev;
763 rsv = search_head;
764 if (!rsv)
768 if (cur <= rsv->rsv_end)
769 cur = rsv->rsv_end + 1;
783 prev = rsv;
784 next = rb_next(&rsv->rsv_node);
785 rsv = rb_entry(next,struct ext2_reserve_window_node,rsv_node);
794 if (cur + size <= rsv->rsv_start) {
1126 "Reservation out of group %u range goal %d fsb[%lu,%lu] rsv[%lu, %lu]",