Lines Matching refs:partial
213 Indirect *partial;
222 partial = get_branch(inode, depth, offsets, chain, &err);
226 if (!partial) {
231 partial = chain+depth-1; /* the whole chain */
238 while (partial > chain) {
239 brelse(partial->bh);
240 partial--;
254 left = (chain + depth) - partial;
255 err = alloc_branch(inode, left, offsets+(partial-chain), partial);
259 if (splice_branch(inode, chain, partial, left) < 0)
266 while (partial > chain) {
267 brelse(partial->bh);
268 partial--;
287 Indirect *partial, *p;
295 partial = get_branch(inode, k, offsets, chain, &err);
296 if (!partial)
297 partial = chain + k-1;
302 if (!partial->key && *partial->p) {
306 for (p=partial; p>chain && all_zeroes((sysv_zone_t*)p->bh->b_data,p->p); p--)
312 * it's easier to cheat and just decrement partial->p.
322 while (partial > p) {
323 brelse(partial->bh);
324 partial--;
327 return partial;
373 Indirect *partial;
398 partial = find_shared(inode, n, offsets, chain, &nr);
401 if (partial == chain)
404 dirty_indirect(partial->bh, inode);
405 free_branches(inode, &nr, &nr+1, (chain+n-1) - partial);
408 while (partial > chain) {
409 free_branches(inode, partial->p + 1, block_end(partial->bh),
410 (chain+n-1) - partial);
411 dirty_indirect(partial->bh, inode);
412 brelse (partial->bh);
413 partial--;