File system snapshots over fully provisioned volume file in direct mode
First Claim
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 reserved to the upper-deck file system, the volume file being fully provisioned based on the reserved units of storage so that an out-of-space condition is not presented to the upper-deck file system, the reserved 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 initially operating in a direct mode in which a block address of a data block in the lower-deck file system is obtained by a predetermined calculation from a corresponding block address of a data block in the volume file,wherein the volume file is a primary volume file, and one or more snapshots of the primary volume file are created and 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 wherein the lower-deck file system transitions into a mapped mode of operation upon creation of the snapshots, the mapped mode including use of generally arbitrary mappings of respective block addresses of data blocks of the primary volume file and snapshot volume files to obtain corresponding block addresses of the data blocks in the lower-deck file system.
10 Assignments
0 Petitions
Accused Products
Abstract
A data storage system employs a multi-level stack including a lower-deck file system and an upper-deck file system providing a file system interface to a file system consumer. The lower-deck file system presents a volume file to provide storage to the upper-deck file system. Storage is reserved to the upper-deck file system, and the volume file is fully provisioned so an out-of-space condition is not presented to the upper-deck file system. In an initial direct operating mode a block address in the lower-deck file system is obtained by a calculation from a corresponding block address in the volume file. Snapshots of a primary volume file are created and stored in respective snapshot volume files. The lower-deck file system transitions into a mapped mode using generally arbitrary mappings of block addresses of the primary volume file and snapshot volume files to obtain corresponding block addresses in the lower-deck file system.
-
Citations
15 Claims
-
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 reserved to the upper-deck file system, the volume file being fully provisioned based on the reserved units of storage so that an out-of-space condition is not presented to the upper-deck file system, the reserved 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 initially operating in a direct mode in which a block address of a data block in the lower-deck file system is obtained by a predetermined calculation from a corresponding block address of a data block in the volume file, wherein the volume file is a primary volume file, and one or more snapshots of the primary volume file are created and 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 wherein the lower-deck file system transitions into a mapped mode of operation upon creation of the snapshots, the mapped mode including use of generally arbitrary mappings of respective block addresses of data blocks of the primary volume file and snapshot volume files to obtain corresponding block addresses of the data blocks in the lower-deck file system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of operating a data storage system to provide file system functionality to a file system consumer according to a file system interface, the data storage system including one or more physical nonvolatile storage devices and a processing subsystem, comprising:
-
instantiating, in the processing subsystem, 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; and by the lower-deck file system, (i) presenting a volume file from which storage is provided to the upper-deck file system, units of storage of the storage devices being reserved to the upper-deck file system, the volume file being fully provisioned based on the reserved units of storage so that an out-of-space condition is not presented to the upper-deck file system, (ii) dynamically adding the reserved units of storage to the volume file to increase its allocated size in response to demand from the upper-deck file system, and (iii) utilizing a direct operating mode in which a block address of a data block in the lower-deck file system is obtained by a predetermined calculation from a corresponding block address of a data block in the volume file, wherein the volume file is a primary volume file, and one or more snapshots of the primary volume file are created and 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 wherein the lower-deck file system transitions into a mapped mode of operation upon creation of the snapshots, the mapped mode including use of generally arbitrary mappings of respective block addresses of data blocks of the primary volume file and snapshot volume files to obtain corresponding block addresses of the data blocks in the lower-deck file system. - View Dependent Claims (11, 12, 13, 14, 15)
-
Specification