Lines Matching refs:partial
151 Indirect *partial; in get_block() local
159 partial = get_branch(inode, depth, offsets, chain, &err); in get_block()
162 if (!partial) { in get_block()
166 partial = chain+depth-1; /* the whole chain */ in get_block()
173 while (partial > chain) { in get_block()
174 brelse(partial->bh); in get_block()
175 partial--; in get_block()
189 left = (chain + depth) - partial; in get_block()
190 err = alloc_branch(inode, left, offsets+(partial-chain), partial); in get_block()
194 if (splice_branch(inode, chain, partial, left) < 0) in get_block()
201 while (partial > chain) { in get_block()
202 brelse(partial->bh); in get_block()
203 partial--; in get_block()
222 Indirect *partial, *p; in find_shared() local
228 partial = get_branch(inode, k, offsets, chain, &err); in find_shared()
231 if (!partial) in find_shared()
232 partial = chain + k-1; in find_shared()
233 if (!partial->key && *partial->p) { in find_shared()
237 for (p=partial;p>chain && all_zeroes((block_t*)p->bh->b_data,p->p);p--) in find_shared()
247 while(partial > p) in find_shared()
249 brelse(partial->bh); in find_shared()
250 partial--; in find_shared()
253 return partial; in find_shared()
299 Indirect *partial; in truncate() local
319 partial = find_shared(inode, n, offsets, chain, &nr); in truncate()
321 if (partial == chain) in truncate()
324 mark_buffer_dirty_inode(partial->bh, inode); in truncate()
325 free_branches(inode, &nr, &nr+1, (chain+n-1) - partial); in truncate()
328 while (partial > chain) { in truncate()
329 free_branches(inode, partial->p + 1, block_end(partial->bh), in truncate()
330 (chain+n-1) - partial); in truncate()
331 mark_buffer_dirty_inode(partial->bh, inode); in truncate()
332 brelse (partial->bh); in truncate()
333 partial--; in truncate()