struct fs *fs = fs_from_inode(ino);
int ph = !!test_bit(B_Phase1, &ib->b.flags);
int i;
- BUG();
- /* This looks wrong. We should be setting physaddr to ZERO
- * to prune blocks, shouldn't we ??
- */
+
if (paddr == 0 || len == 0)
return 0;
dprintk("PRUNE2 %d for %d at %lld\n", addr, len, (long long)paddr);
spin_lock(&fs->lock);
a = &ib->uninc_table.pending_addr
[ib->uninc_table.pending_cnt - 1];
- if (ib->uninc_table.pending_cnt >= 1 &&
- a->fileaddr + a->cnt == addr+i &&
- a->physaddr + a->cnt == paddr+i)
- a->cnt++;
- else if (ib->uninc_table.pending_cnt <
+ if (ib->uninc_table.pending_cnt <
ARRAY_SIZE(ib->uninc_table.pending_addr)) {
a++;
a->fileaddr = addr + i;
- a->physaddr = paddr + i;
+ a->physaddr = 0;
a->cnt = 1;
LAFS_BUG(!test_bit(B_Dirty, &ib->b.flags) &&
!test_bit(B_Realloc, &ib->b.flags), &ib->b);