Lines Matching refs:partial
152 Indirect *partial; in get_block() local
160 partial = get_branch(inode, depth, offsets, chain, &err); in get_block()
163 if (!partial) { in get_block()
167 partial = chain+depth-1; /* the whole chain */ in get_block()
174 while (partial > chain) { in get_block()
175 brelse(partial->bh); in get_block()
176 partial--; in get_block()
190 left = (chain + depth) - partial; in get_block()
191 err = alloc_branch(inode, left, offsets+(partial-chain), partial); in get_block()
195 if (splice_branch(inode, chain, partial, left) < 0) in get_block()
202 while (partial > chain) { in get_block()
203 brelse(partial->bh); in get_block()
204 partial--; in get_block()
223 Indirect *partial, *p; in find_shared() local
229 partial = get_branch(inode, k, offsets, chain, &err); in find_shared()
232 if (!partial) in find_shared()
233 partial = chain + k-1; in find_shared()
234 if (!partial->key && *partial->p) { in find_shared()
238 for (p=partial;p>chain && all_zeroes((block_t*)p->bh->b_data,p->p);p--) in find_shared()
248 while(partial > p) in find_shared()
250 brelse(partial->bh); in find_shared()
251 partial--; in find_shared()
254 return partial; in find_shared()
300 Indirect *partial; in truncate() local
320 partial = find_shared(inode, n, offsets, chain, &nr); in truncate()
322 if (partial == chain) in truncate()
325 mark_buffer_dirty_inode(partial->bh, inode); in truncate()
326 free_branches(inode, &nr, &nr+1, (chain+n-1) - partial); in truncate()
329 while (partial > chain) { in truncate()
330 free_branches(inode, partial->p + 1, block_end(partial->bh), in truncate()
331 (chain+n-1) - partial); in truncate()
332 mark_buffer_dirty_inode(partial->bh, inode); in truncate()
333 brelse (partial->bh); in truncate()
334 partial--; in truncate()