Patent ID: 8904106

Claim:
A method for allocating space on a logical disk, the method comprising the steps of: a computer receiving an allocation request to allocate a number of requested logical disk extents; the computer selecting one of a first group comprising an array of logical disk extents and a second group comprising an array of logical disk extents, the selected group having a number of free logical disk extents that is greater than or equal to the number of requested logical disk extents, the logical disk extents in the array of the first group and in the array of the second group corresponding to disk blocks on a logical disk, the logical disk spanning one or more physical random access disks; the computer locking the selected group to prevent allocating a logical disk extent other than in response to the allocation request; the computer allocating the number of requested logical disk extents in the selected group, starting at a first index in the array of the selected group; the computer calculating a second index in the array of the selected group, wherein the second index in the array of the selected group is equal to the sum of the number of requested logical disk extents and the first index in the array of the selected group, modulo a size of the array of the selected group; the computer moving a first pointer from the first index in the array of the selected group to the second index in the array of the selected group; and the computer releasing the lock on the selected group to allow allocating a logical disk extent other than in response to the allocation request.