Lines Matching refs:blk
51 static ssize_t read_blk(struct qtree_mem_dqinfo *info, uint blk, char *buf) in read_blk() argument
57 info->dqi_usable_bs, blk << info->dqi_blocksize_bits); in read_blk()
60 static ssize_t write_blk(struct qtree_mem_dqinfo *info, uint blk, char *buf) in write_blk() argument
66 info->dqi_usable_bs, blk << info->dqi_blocksize_bits); in write_blk()
80 int ret, blk; in get_free_dqblk() local
85 blk = info->dqi_free_blk; in get_free_dqblk()
86 ret = read_blk(info, blk, buf); in get_free_dqblk()
97 blk = info->dqi_blocks++; in get_free_dqblk()
100 ret = blk; in get_free_dqblk()
107 static int put_free_dqblk(struct qtree_mem_dqinfo *info, char *buf, uint blk) in put_free_dqblk() argument
115 err = write_blk(info, blk, buf); in put_free_dqblk()
118 info->dqi_free_blk = blk; in put_free_dqblk()
125 uint blk) in remove_free_dqentry() argument
161 if (write_blk(info, blk, buf) < 0) in remove_free_dqentry()
163 "with free entries", blk); in remove_free_dqentry()
172 uint blk) in insert_free_dqentry() argument
182 err = write_blk(info, blk, buf); in insert_free_dqentry()
190 cpu_to_le32(blk); in insert_free_dqentry()
196 info->dqi_free_entry = blk; in insert_free_dqentry()
220 uint blk, i; in find_free_dqentry() local
232 blk = info->dqi_free_entry; in find_free_dqentry()
233 *err = read_blk(info, blk, buf); in find_free_dqentry()
237 blk = get_free_dqblk(info); in find_free_dqentry()
238 if ((int)blk < 0) { in find_free_dqentry()
239 *err = blk; in find_free_dqentry()
246 info->dqi_free_entry = blk; in find_free_dqentry()
251 *err = remove_free_dqentry(info, buf, blk); in find_free_dqentry()
254 "from entry free list", blk); in find_free_dqentry()
273 *err = write_blk(info, blk, buf); in find_free_dqentry()
276 blk); in find_free_dqentry()
279 dquot->dq_off = (blk << info->dqi_blocksize_bits) + in find_free_dqentry()
283 return blk; in find_free_dqentry()
399 uint blk) in free_dqentry() argument
407 if (dquot->dq_off >> info->dqi_blocksize_bits != blk) { in free_dqentry()
409 "other block (%u) than it should (%u)", blk, in free_dqentry()
413 ret = read_blk(info, blk, buf); in free_dqentry()
416 blk); in free_dqentry()
422 ret = remove_free_dqentry(info, buf, blk); in free_dqentry()
424 ret = put_free_dqblk(info, buf, blk); in free_dqentry()
427 "(%u) to free list", blk); in free_dqentry()
437 ret = insert_free_dqentry(info, buf, blk); in free_dqentry()
440 "data block (%u) to free entry list", blk); in free_dqentry()
444 ret = write_blk(info, blk, buf); in free_dqentry()
447 "data block %u", blk); in free_dqentry()
460 uint *blk, int depth) in remove_tree() argument
469 ret = read_blk(info, *blk, buf); in remove_tree()
472 *blk); in remove_tree()
490 && *blk != QT_TREEOFF) { in remove_tree()
491 put_free_dqblk(info, buf, *blk); in remove_tree()
492 *blk = 0; in remove_tree()
494 ret = write_blk(info, *blk, buf); in remove_tree()
498 *blk); in remove_tree()
519 struct dquot *dquot, uint blk) in find_block_dqentry() argument
528 ret = read_blk(info, blk, buf); in find_block_dqentry()
531 "block %u", blk); in find_block_dqentry()
546 ret = (blk << info->dqi_blocksize_bits) + sizeof(struct in find_block_dqentry()
556 struct dquot *dquot, uint blk, int depth) in find_tree_dqentry() argument
564 ret = read_blk(info, blk, buf); in find_tree_dqentry()
567 blk); in find_tree_dqentry()
571 blk = le32_to_cpu(ref[get_index(info, dquot->dq_id, depth)]); in find_tree_dqentry()
572 if (!blk) /* No reference? */ in find_tree_dqentry()
575 ret = find_tree_dqentry(info, dquot, blk, depth+1); in find_tree_dqentry()
577 ret = find_block_dqentry(info, dquot, blk); in find_tree_dqentry()