摘要:
A method and system for reliably performing extra-long operations in a reliable state-full system (such as a file system). The file system includes a separate portion of the file system reserved for files having extra-long operations in progress, including file deletion and file truncation. This separate portion of the file system is called the zombie file space; it includes a separate name space from the regular (“live”) file system that is accessible to users, and is maintained as part of the file system when recording a consistency point.
摘要:
A method and system for reliably performing extra-long operations in a reliable state-full system (such as a file system). The file system includes a separate portion of the file system reserved for files having extra-long operations in progress, including file deletion and file truncation. This separate portion of the file system is called the zombie file space; it includes a separate name space from the regular (“live”) file system that is accessible to users, and is maintained as part of the file system when recording a consistency point.
摘要:
A system that manages a file system for a file server. A file operation is received that signals a reservation operation for a file having a file size. Preferably, the file system uses a write anywhere file system layout, the file operation that signals the reservation operation is a zero length write request, and the file operation that signals the reservation operation includes a parameter that specifies the file size. A number of blocks needed to be reserved to accommodate the file is computed. Preferably, computing the number of blocks needed to be reserved to accommodate the file includes determining a total number of direct and indirect blocks needed to accommodate the file size, and subtracting a total number of blocks already allocated for the file and a total number of cached unallocated blocks for the file from the total number of direct and indirect blocks needed to accommodate the file size. A number of unallocated blocks is reserved in the file system, with the number of reserved blocks equal to the number of blocks needed to be reserved to accommodate the file. Reserving the number of blocks preferably includes setting a flag in an inode for the file that indicates blocks have been reserved for the file, and incrementing a reserved block count in a file system information block by the number of blocks needed.
摘要:
A method and system for reliably performing extra-long operations in a reliable state-full system (such as a file system). The file system includes a separate portion of the file system reserved for files having extra-long operations in progress, including file deletion and file truncation. This separate portion of the file system is called the zombie file space; it includes a separate name space from the regular (“live”) file system that is accessible to users, and is maintained as part of the file system when recording a consistency point.
摘要:
A method for reducing duplicate data of an active file system, where the data is stored on a storage device of a storage system, is disclosed. A persistent image of the active file system is generated at a first point in time. At a later time, a sequence of steps to compare the active file system with the persistent image is initiated. Then, if a block of data of the active file system is identical to the data in the persistent image, the active file system is directed to refer to the persistent image for data of the file. Alternatively, if the block of data of the active file system is not identical to the data in the persistent image, the active file system is directed to refer to the data of the active file system. A file folding command may be issued to start the comparison.
摘要:
A system that manages a file system for a file server. A file operation is received that signals a reservation operation for a file having a file size. Preferably, the file system uses a write anywhere file system layout, the file operation that signals the reservation operation is a zero length write request, and the file operation that signals the reservation operation includes a parameter that specifies the file size. A number of blocks needed to be reserved to accommodate the file is computed. Preferably, computing the number of blocks needed to be reserved to accommodate the file includes determining a total number of direct and indirect blocks needed to accommodate the file size, and subtracting a total number of blocks already allocated for the file and a total number of cached unallocated blocks for the file from the total number of direct and indirect blocks needed to accommodate the file size. A number of unallocated blocks is reserved in the file system, with the number of reserved blocks equal to the number of blocks needed to be reserved to accommodate the file. Reserving the number of blocks preferably includes setting a flag in an inode for the file that indicates blocks have been reserved for the file, and incrementing a reserved block count in a file system information block by the number of blocks needed.
摘要:
File system is capable of performing long operations, such as deletions and truncations of long files, in a deterministic and atomic manner with regard to its recorded consistency points. The system includes both live filespace accessible to users, and user-inaccessible zombie filespace. In representative embodiments, the system includes a file deletion manager and a truncation manager capable of operating on files in the zombie filespace. Changes to the zombie filespace can be recorded in persistent memory. After a power failure or a similar event, the system can use the recorded changes to replay operations on the files in the zombie filespace, facilitating recovery. Zombie space can be sized dynamically, enabling the deletion manager to request enlargement of the zombie filespace. In some embodiments, files are transferred to the zombie filespace before links to the files' blocks in the live filespace are broken, and before performing operations on the files.
摘要:
The present invention relates to a system for restoring a file from a snapshot, where a version of the file exists in both an active file system and the snapshot. A twin inode is created in the active file system and comparisons are made between block pointers of the twin inode and the snapshot. If there is a match, the block pointer of the twin inode is moved to the active file system. If there is not a match, a determination is made whether the snapshot block pointer exists in the active file system. If the snapshot block pointer does not exist in the active file system, it is copied to the active file system. If it does exist, then the actual data block pointed to by the snapshot block pointer is copied to the active file system. In this way, a file may be restored without the need to always copy every individual data block or inode from the snapshot.
摘要:
A system and method for performing a takeover procedure is disclosed. A plurality of storage system nodes is coupled in a cluster. One or more of the plurality of storage system nodes in the cluster is notified to takeover at least a portion of a writable storage device serviced by another storage system node in the cluster. In response to the notification, the portion of the writable storage device is assimilated into at least one of the notified storage system nodes.
摘要:
The present invention relates to a system for restoring a file from a snapshot, where a version of the file exists in both an active file system and the snapshot. A twin inode is created in the active file system and comparisons are made between block pointers of the twin inode and the snapshot. If there is a match, the block pointer of the twin inode is moved to the active file system. If there is not a match, a determination is made whether the snapshot block pointer exists in the active file system. If the snapshot block pointer does not exist in the active file system, it is copied to the active file system. If it does exist, then the actual data block pointed to by the snapshot block pointer is copied to the active file system. In this way, a file may be restored without the need to always copy every individual data block or inode from the snapshot.