1. A data storage system for use by a file system consumer according to a file system interface, comprising: one or more physical, non-transitory, nonvolatile storage devices; and a processing subsystem executing software to form a multi-level stack of functional components including a lower-deck file system and an upper-deck file system, the upper-deck file system providing the file system interface to the file system consumer, the lower-deck file system presenting a volume file from which storage is provided to the upper-deck file system, units of storage of the storage devices being allocable to the upper-deck file system as well as to other uses in the data storage system, the volume file being thinly provisioned so that its allocated size at any given time is generally less than its configured size, additional units of storage being added dynamically to the volume file to increase its allocated size in response to demand from the upper-deck file system, the lower-deck file system operating in a mapped mode in which a block address of a data block in the lower-deck file system is obtained by a generally arbitrary mapping of a corresponding block address of a data block in the volume file, wherein the volume file is a primary volume file and the mapping is a primary file mapping, and one or more snapshots of the primary volume file are stored in respective snapshot volume files of the lower-deck file system, each snapshot being a respective point-in-time copy of the primary volume file, and the mapped mode includes use of generally arbitrary respective second mappings of respective block addresses of data blocks of the snapshot volume files to obtain corresponding block addresses of the data blocks in the lower-deck file system.