Integrating a file system with a RAID array that exports precise
information about the arrangement of data blocks in the RAID subsystem.
The present invention uses separate current-write location (CWL) pointers
for each disk in the disk array where the pointers simply advance through
the disks as writes occur. The present invention writes on the disk with
the lowest CWL pointer. A new disk is chosen only when the algorithm
starts allocating space for a new file, or when it has allocated N blocks
on the same disk for a single file. A sufficient number of blocks are
defined as all the buffers in a chunk of N sequential buffers in a file.
The result is that CWL pointers are never more than N blocks apart on
different disks, and large files have N consecutive blocks on the same
disk.