Next: , Previous: Multiple Read Access, Up: Buffer I/O and Free-List Management


2.3.6 Free-block management

Outline:

Current problems:

Last week (1/8) we concluded that (all efforts to date notwithstanding) there were still failure cases in free-block management under concurrent operation, because of problems like:

On the positive side, we realized that we NEED NOT allow enough free blocks for a free-list insert to split the whole tree – any split except the leaf split can simply be postponed if there isn't a free block available at that time! (And similarly for any insert-updates that happen to be triggered by free-list accesses.)

Come to think of it, if we happen to run out of blocks during a free-list insert, its OK to let the insert fail, we just lose one disk block!! That may just be the answer!!