14/ Review writepage and flush and make sure we flush often enough but
not too often.
-15/ The inode map file lost some credits. I think it losts a PinPending because
+DONE 15/ The inode map file lost some credits. I think it losts a PinPending because
it isn't locked properly. Don't clear PinPending if someone else might
have set it.
LAFSI(im)->md.inodemap.size = bnum+1;
lafs_dirty_inode(im);
lafs_dirty_dblock(b);
- clear_bit(B_PinPending, &b->b.flags);
lafs_checkpoint_unlock(fs);
putdref(b, MKREF(cfi_map));
}
abort_unlock:
lafs_checkpoint_unlock(fs);
abort:
- clear_bit(B_PinPending, &b->b.flags);
putdref(b, MKREF(cfi_map));
*bp = NULL;
mutex_unlock(&im->i_mutex);
else
lafs_dirty_dblock(imni->mb);
clear_bit(B_PinPending, &imni->ib->b.flags);
- clear_bit(B_PinPending, &imni->mb->b.flags);
putdref(imni->ib, MKREF(cfi_ino));
putdref(imni->mb, MKREF(cfi_map));
}
lafs_orphan_release(fs_from_inode(imni->ib->b.inode),
imni->ib);
}
- if (imni->mb)
- clear_bit(B_PinPending, &imni->mb->b.flags);
putdref(imni->ib, MKREF(cfi_ino));
putdref(imni->mb, MKREF(cfi_map));
}
set_bit(bit, buf); // FIXME this is host-endian !!
unmap_dblock(b, buf);
lafs_dirty_dblock(b);
- clear_bit(B_PinPending, &b->b.flags);
putdref(b, MKREF(inode_map_free));
lafs_checkpoint_unlock(fs);
iput(im);