Lines Matching refs:frame
305 struct dx_frame *frame);
314 static void dx_insert_block(struct dx_frame *frame,
317 struct dx_frame *frame,
788 struct dx_frame *frame = frame_in;
795 frame->bh = ext4_read_dirblock(dir, 0, INDEX);
796 if (IS_ERR(frame->bh))
797 return (struct dx_frame *) frame->bh;
799 root = (struct dx_root *) frame->bh->b_data;
889 frame->entries = entries;
890 frame->at = at;
902 return frame;
904 frame++;
905 frame->bh = ext4_read_dirblock(dir, block, INDEX);
906 if (IS_ERR(frame->bh)) {
907 ret_err = (struct dx_frame *) frame->bh;
908 frame->bh = NULL;
912 entries = ((struct dx_node *) frame->bh->b_data)->entries;
922 while (frame >= frame_in) {
923 brelse(frame->bh);
924 frame--;
954 * This function increments the frame pointer to search the next leaf
971 struct dx_frame *frame,
980 p = frame;
982 * Find the next leaf page by incrementing the frame pointer.
1133 struct dx_frame frames[EXT4_HTREE_LEVEL], *frame;
1168 frame = dx_probe(NULL, dir, &hinfo, frames);
1169 if (IS_ERR(frame))
1170 return PTR_ERR(frame);
1201 block = dx_get_block(frame->at);
1211 frame, frames, &hashval);
1313 static void dx_insert_block(struct dx_frame *frame, u32 hash, ext4_lblk_t block)
1315 struct dx_entry *entries = frame->entries;
1316 struct dx_entry *old = frame->at, *new = old + 1;
1683 struct dx_frame frames[EXT4_HTREE_LEVEL], *frame;
1691 frame = dx_probe(fname, dir, NULL, frames);
1692 if (IS_ERR(frame))
1693 return (struct buffer_head *) frame;
1695 block = dx_get_block(frame->at);
1712 retval = ext4_htree_next_block(dir, fname->hinfo.hash, frame,
1874 struct buffer_head **bh,struct dx_frame *frame,
1905 BUFFER_TRACE(frame->bh, "get_write_access");
1906 err = ext4_journal_get_write_access(handle, frame->bh);
1946 (unsigned long)dx_get_block(frame->at),
1974 dx_insert_block(frame, hash2 + continued, newblock);
1978 err = ext4_handle_dirty_dx_node(handle, dir, frame->bh);
1982 dxtrace(dx_show_index("frame", frame->entries));
2165 struct dx_frame frames[EXT4_HTREE_LEVEL], *frame;
2250 frame = frames;
2251 frame->entries = entries;
2252 frame->at = entries;
2253 frame->bh = bh;
2255 retval = ext4_handle_dirty_dx_node(handle, dir, frame->bh);
2262 de = do_split(handle,dir, &bh2, frame, &fname->hinfo);
2410 struct dx_frame frames[EXT4_HTREE_LEVEL], *frame;
2420 frame = dx_probe(fname, dir, NULL, frames);
2421 if (IS_ERR(frame))
2422 return PTR_ERR(frame);
2423 entries = frame->entries;
2424 at = frame->at;
2425 bh = ext4_read_dirblock(dir, dx_get_block(frame->at), DIRENT_HTREE);
2448 int levels = frame - frames + 1;
2455 while (frame > frames) {
2456 if (dx_get_count((frame - 1)->entries) <
2457 dx_get_limit((frame - 1)->entries)) {
2461 frame--; /* split higher index block */
2462 at = frame->at;
2463 entries = frame->entries;
2489 BUFFER_TRACE(frame->bh, "get_write_access");
2490 err = ext4_journal_get_write_access(handle, frame->bh);
2499 BUFFER_TRACE(frame->bh, "get_write_access"); /* index root */
2501 (frame - 1)->bh);
2513 frame->at = at = at - entries - icount1 + entries2;
2514 frame->entries = entries = entries2;
2515 swap(frame->bh, bh2);
2517 dx_insert_block((frame - 1), hash2, newblock);
2518 dxtrace(dx_show_index("node", frame->entries));
2526 (frame - 1)->bh);
2530 frame->bh);
2547 err = ext4_handle_dirty_dx_node(handle, dir, frame->bh);
2556 de = do_split(handle, dir, &bh, frame, &fname->hinfo);