Patent ID: 8566371

Claim:
A computer-implemented method of operating a file server, the file server including data storage and a data processor, the data storage storing a logical volume and a file system built on the logical volume, the file system including multiple cylinder groups, each of the cylinder groups including file system blocks, the file system blocks including allocated blocks of the data storage allocated to files in the file system, and free blocks of the data storage that are not allocated to the files in the file system, the logical volume including slices of the data storage, and each of the slices of the data storage storing a number of the cylinder groups, the method comprising the data processor executing computer instructions stored on a non-transitory computer-readable storage medium to perform the steps of: (a) selecting one of the slices of the data storage for evacuation; and then (b) evacuating the selected one of the slices of the data storage by identifying allocated blocks of the data storage in the selected one the slices of the data storage, and for each of the identified allocated blocks of the data storage in the selected one the slices of the data storage, (1) reverse mapping said each of the identified allocated blocks to identify a file to which said each of the identified allocated blocks is allocated, (2) allocating a new block of the data storage in another one of the slices of the data storage in the logical volume upon which the file system is built, (3) copying data from said each of the identified allocated blocks to the allocated new block of the data storage in another one of the slices of the data storage in the logical volume upon which the file system is built, and (4) in the identified file to which said each of the identified allocated blocks is allocated, substituting the allocated new block of the data storage for said each of the identified allocated blocks.