1. A method for data storage and recovery, comprising: accepting files, which comprise data arranged in a file format supporting objects of variable size, for storage in a primary storage device having a file system; extracting the data for back-up from the primary storage device by producing incremental snapshots of the data on the primary storage device at successive time intervals; backing-up the extracted data by storing the incremental snapshots in a repository in accordance with a block format having fixed-size data blocks; prior to receiving a request to recover at least one of the files from the repository, processing the incremental snapshots in the repository so as produce file system information applicable at the successive time intervals; and in response to receiving the request, reading one or more of the incremental snapshots from the repository, and processing the read incremental snapshots using the previously-produced file-system information so as to reconstruct the data in the at least one of the files in accordance with the file format.