Method and apparatus for expanding usable space for an application data
file. A control file is maintained with control structures that indicate
available and allocated portions of usable space in the data file, along
with quantities of available space in portions of the data file. Access
to the control structures is limited while the file is undergoing
expansion. Space is allocated in the control file for new versions of
control structures, and the contents of the control structures are copied
to the space for the new versions of the control structures. Pointers
that reference the control structures and that are maintained in the
control file are updated to reference the new versions of the first and
second control structures.