Lines Matching refs:partial
214 Indirect *partial;
222 partial = get_branch(inode, depth, offsets, chain, &err);
225 if (!partial) {
230 partial = chain+depth-1; /* the whole chain */
237 while (partial > chain) {
238 brelse(partial->bh);
239 partial--;
253 left = (chain + depth) - partial;
254 err = alloc_branch(inode, left, offsets+(partial-chain), partial);
258 if (splice_branch(inode, chain, partial, left) < 0)
265 while (partial > chain) {
266 brelse(partial->bh);
267 partial--;
286 Indirect *partial, *p;
292 partial = get_branch(inode, k, offsets, chain, &err);
295 if (!partial)
296 partial = chain + k-1;
301 if (!partial->key && *partial->p) {
305 for (p=partial; p>chain && all_zeroes((sysv_zone_t*)p->bh->b_data,p->p); p--)
311 * it's easier to cheat and just decrement partial->p.
321 while (partial > p) {
322 brelse(partial->bh);
323 partial--;
326 return partial;
372 Indirect *partial;
397 partial = find_shared(inode, n, offsets, chain, &nr);
400 if (partial == chain)
403 dirty_indirect(partial->bh, inode);
404 free_branches(inode, &nr, &nr+1, (chain+n-1) - partial);
407 while (partial > chain) {
408 free_branches(inode, partial->p + 1, block_end(partial->bh),
409 (chain+n-1) - partial);
410 dirty_indirect(partial->bh, inode);
411 brelse (partial->bh);
412 partial--;