摘要:
A snapshot copy facility maintains information indicating block ownership and sharing between successive versions by delegating block reference counts to parent-child relationships between the file system blocks, as indicated by block pointers in inodes and indirect blocks. When a child block becomes shared between a parent block of the production file and a parent block of a snapshot copy, the delegated reference count is split among the parent blocks. This method is compatible with a conventional data de-duplication facility, and avoids a need to update block reference counts in block metadata of child blocks of a shared indirect block upon splitting the shared indirect block when writing to a production file.
摘要:
A snapshot copy facility maintains information indicating ownership and sharing of child nodes in the hierarchy of a file between successive versions by delegating reference counts to the parent-child relationships between the nodes, as indicated by pointers in the parent nodes. When a child node becomes shared between a parent node of the production file and a parent node of a snapshot copy, the delegated reference count is split among the parent nodes. This method is compatible with a conventional data de-duplication facility, and avoids a need to update reference counts in metadata of child nodes of a shared intermediate node upon splitting the shared intermediate node when writing to a production file.
摘要:
A system and method of operating a storage server in a data network for relocating one or more data blocks of a file, comprising creating a virtual block mapping pointer; and relocating one or more file system data.
摘要:
This invention is a system and a method for operating a storage server to provide read or write access to a data in a data network using a new architecture. The method of creating virtual block mapping pointer in response to a request by a client of the storage server to de-duplicate the file system data block or to allow compression of one or more file system data blocks into one or more physical data blocks. Further, the method relocates one or more file system data blocks from one part of the file system address space to another by using one or more virtual block mapping pointers that provides the mapping information for the one or more file system data blocks that are being relocated. The virtual block mapping pointer allows relocating of file system data blocks by same number of metadata operations regardless of number of files sharing the block that are being relocated and the state of those blocks (compressed or not).
摘要:
A method is used in managing global metadata caches in data storage systems. Space is allocated in a memory of a data storage system to a global metadata cache which is configured to store metadata objects for a plurality of different file systems responsive to file system access requests from the plurality of different file systems. A metadata object associated with a file of a file system of the plurality of different file systems is stored in the global metadata cache. The metadata object is accessed by a plurality of different versions of the file.
摘要:
A method is used in managing global data caches for file systems. Space is allocated in a volatile memory of a data storage system to a global data cache that is configured to store a set of data objects for a plurality of different file systems. The set of data objects is accessed by the plurality of different file systems. Contents of a file of a file system are stored in a data object in the global data cache upon receiving a write I/O request for the file. A copy of the data object and information for the data object are stored in a persistent journal that is stored in a non-volatile memory of the data storage system. Contents of the file are updated on a storage device based on the data object stored in the global data cache and information stored in the persistent journal.
摘要:
A method is used in managing snapshot in cache-based storage systems. A request to create a snapshot of a data object is received. A portion of the data object is cached in a global cache. The data object is associated with a mapping object. The mapping object manages access to the portion of the data object. A snapshot of the data object is created. A snapshot mapping object is associated with the snapshot of the data object. The snapshot mapping object includes a link to the mapping object. The snapshot mapping object is a version of the mapping object and shares the portion of the data object cached in the global cache.
摘要:
A method is used in managing updating of metadata of file systems. A reference to a change to metadata of a file of a file system is stored in a global sync list configured to store changes to metadata of a plurality of files of a plurality of file systems. The change to the metadata of the file is stored in a journal upon receiving an I/O request for the file of the file system. The journal includes metadata transactions upon the plurality of files of the plurality of the file system. The change to the metadata of the file of the file system is applied to metadata of the file system organized on a storage device using the reference to the change stored in the global sync list.
摘要:
A file system has files constructed of an inode for each file, indirect blocks, and allocation units of file system data blocks. Each of the allocation units has one of the file system data blocks or a plurality of the file system data blocks having contiguous file system block numbers. Each file in the file system has a respective allocation unit size attribute specifying an allocation unit size of each and every allocation unit in the file, and the files in the file system have allocation units of different allocation unit sizes. By using larger allocation units for larger files, there is a reduction in the number of indirect blocks in the files without a corresponding loss in performance, and a reduction in the time needed for the UNIX FSCK utility to check file system consistency.
摘要:
A method is used in managing logical views of directories. A directory logical view is created from a primary logical view. The primary logical view includes a set of storage objects. The directory logical view includes a subset of the set of storage objects. A root of the directory logical view indicates a file directory. The file directory includes the subset of the set of storage objects in a hierarchy. A mapping object is created for the directory logical view. The mapping object manages access to the subset of the set of storage objects. The mapping object for the directory logical view is a version of a mapping object for the primary logical view. Information is removed from the mapping object for the directory logical view. Information remained in the mapping object after removing the information is associated with the file directory.