1. A method for increasing contiguous free space of a file system, said file system including a set of files and a set of unallocated sections, said method comprising the computer-implemented steps of: generating a plurality of plans, wherein each of the plans specifies a sequence of a plurality of proposed moves, wherein each of the proposed moves describes a movement of one or more blocks of a file to a target unallocated section; calculating scores respectively for the plans; selecting a defragmentation plan from among the plans, based on the scores; and executing the sequence of proposed moves in said defragmentation plan.