IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0932579
(2001-08-17)
|
등록번호 |
US-7305424
(2007-12-04)
|
발명자
/ 주소 |
- Chen,Raymond C.
- Edwards,John
- Patel,Kayuri
|
출원인 / 주소 |
|
대리인 / 주소 |
Blakely Sokoloff Taylor & Zafman LLP
|
인용정보 |
피인용 횟수 :
2 인용 특허 :
56 |
초록
▼
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 represen
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 invention claimed is: 1. A method comprising: maintaining in a computer system a file system that includes a live filespace accessible to users and a zombie filespace not accessible to users; in response to a request to delete at least a portion of a file stored in the live filespace, moving bl
The invention claimed is: 1. A method comprising: maintaining in a computer system a file system that includes a live filespace accessible to users and a zombie filespace not accessible to users; in response to a request to delete at least a portion of a file stored in the live filespace, moving blocks storing said portion of the file from the live filespace to the zombie filespace and deleting at least some of the blocks from the zombie filespace before a scheduled consistency checkpoint of the file system; recording said moving and deleting in a persistent memory; and in response to a service interruption in the computer system, recovering the file system in the computer system by replaying said moving and deleting based on information stored in the persistent memory. 2. The method of claim 1, wherein the zombie filespace is a portion of the file system where files are not available to users in normal operation, but can still be manipulated by the file system as if the files were normal files. 3. The method of claim 1 further comprising deleting rest of the blocks from the zombie filespace after the scheduled consistency checkpoint of the file system and recording deleting the rest of the blocks in the persistent memory. 4. The method of claim 1, wherein moving blocks storing said portion of the file from the live filespace to the zombie filespace comprises breaking links associating these blocks with the live filespace and creating links associating these blocks with the zombie filespace. 5. The method of claim 1, wherein moving blocks storing said portion of the file from the live filespace to the zombie filespace comprises creating an evil twin file in the zombie filespace and adding these blocks as part of the evil twin file. 6. The method of claim 1, wherein recording said moving and deleting in a persistent memory comprises recording changes of the live filespace and the zombie file space caused by said moving and deleting in the persistent memory. 7. The method of claim 6, wherein replaying said moving and deleting based on information stored in the persistent memory comprises replaying the changes of the live filespace and the zombie file space recorded in the persistent memory. 8. The method of claim 1, wherein the request to delete at least a portion of a file stored in the live filespace comprises a request to delete the file from the live filespace or to truncate the file. 9. The method of claim 1, wherein deleting a block from the zombie filespace comprises returning the block as a free block to the file system. 10. The method of claim 1 further comprising increasing the size of the zombie filespace before moving the blocks. 11. The method of claim 1, wherein the request to delete at least a portion of the file consumes extra long period of time. 12. A method comprising: maintaining in a computer system a file system that includes a live filespace accessible to users and a zombie filespace not accessible to users; in response to a request to delete a file having attached data elements from the live filespace, moving blocks storing the file and the attached data elements from the live filespace to the zombie filespace, and deleting at least some of the blocks from the zombie filespace before a scheduled consistency checkpoint of the file system; recording said moving and deleting in a persistent memory; and in response to a service interruption in the computer system, recovering the file system in the computer system by replaying said moving and deleting based on information stored in the persistent memory. 13. The method of claim 12, wherein the zombie filespace is a portion of the file system where files are not available to users in normal operation, but can still be manipulated by the file system as if the files were normal files. 14. The method of claim 12 further comprising deleting rest of the blocks from the zombie filespace after the scheduled consistency checkpoint of the file system and recording deleting the rest of the blocks in the persistent memory. 15. A machine-readable medium having instructions, which when executed by a processor in a machine, cause the machine to perform a method, the method comprising: maintaining in a computer system a file system that includes a live filespace accessible to users and a zombie filespace not accessible to users; in response to a request to delete a file from the live filespace, moving blocks storing the file from the live filespace to the zombie filespace and deleting at least some of the blocks from the zombie filespace before a scheduled consistency checkpoint of the file system; recording said moving and deleting in a persistent memory; and in response to a service interruption in the computer system, recovering the file system in the computer system by replaying said moving and deleting based on information stored in the persistent memory. 16. The machine-readable medium of claim 15, wherein the method further comprises deleting rest of the blocks from the zombie filespace after the scheduled consistency checkpoint of the file system and recording deleting the rest of the blocks in the persistent memory. 17. The machine-readable medium of claim 15, wherein moving blocks storing the file from the live filespace to the zombie filespace comprises breaking links associating these blocks with the live filespace and creating links associating these blocks with the zombie filespace. 18. The machine-readable medium of claim 15, wherein recording said moving and deleting in a persistent memory comprises recording changes of the live filespace and the zombie file space caused by said moving and deleting in the persistent memory. 19. The machine-readable medium of claim 15, wherein replaying said moving and deleting based on information stored in the persistent memory comprises replaying the changes of the live filespace and the zombie file space recorded in the persistent memory. 20. A machine-readable medium having instructions, which when executed by a processor in a machine, cause the machine to perform a method, the method comprising: maintaining in a computer system a file system that includes a live filespace accessible to users and a zombie filespace not accessible to users; in response to a request to truncate a file stored in the live filespace, moving blocks storing a portion of the file to be truncated from the live filespace to the zombie filespace and deleting at least some of the blocks from the zombie filespace before a scheduled consistency checkpoint of the file system; recording changes of the live filespace and the zombie filespace caused by said moving and deleting in a persistent memory; and in response to a service interruption in the computer system, recovering the file system in the computer system by replaying said moving and deleting based on information stored in the persistent memory. 21. The machine-readable medium of claim 20, wherein moving blocks storing a portion of the file to be truncated from the live filespace to the zombie filespace comprises creating an evil twin file in the zombie filespace and adding these blocks as part of the evil twin file. 22. The machine-readable medium of claim 20, wherein the method further comprises deleting rest of the blocks from the zombie filespace after the scheduled consistency checkpoint of the file system and recording changes of the zombie filespace caused by deleting the rest of the blocks in the persistent memory. 23. The machine-readable medium of claim 20, wherein the method further comprises increasing the size of the zombie filespace before moving the blocks. 24. The machine-readable medium of claim 20, wherein the request to truncate the file consumes extra long period of time. 25. A storage server comprising: a processor; a network interface through which to communicate with a client; a storage interface through which to access a plurality of mass storage devices on behalf of the client; and a memory coupled to the processor, the memory storing instructions which, when executed by the processor, cause the storage server to perform a process comprising: maintaining in a computer system a file system that includes a live filespace accessible to the client and a zombie filespace not accessible to the client; in response to a request to delete at least a portion of a file stored in the live filespace, moving blocks storing said portion of the file from the live filespace to the zombie filespace and deleting at least some of the blocks from the zombie filespace before a scheduled consistency checkpoint of the file system; recording said moving and deleting in a persistent memory; and in response to a service interruption in the computer system, recovering the file system in the computer system by replaying said moving and deleting based on information stored in the persistent memory. 26. The storage server of claim 25, wherein the process further comprises deleting rest of the blocks from the zombie filespace after the scheduled consistency checkpoint of the file system and recording deleting the rest of the blocks in the persistent memory. 27. The storage server of claim 25, wherein moving blocks storing said portion of the file from the live filespace to the zombie filespace comprises breaking links associating these blocks with the live filespace and creating links associating these blocks with the zombie filespace. 28. The storage server of claim 25, wherein recording said moving and deleting in a persistent memory comprises recording changes of the live filespace and the zombie file space caused by said moving and deleting in the persistent memory. 29. The storage server of claim 28, wherein replaying said moving and deleting based on information stored in the persistent memory comprises replaying the changes of the live filespace and the zombie file space recorded in the persistent memory. 30. The storage server of claim 25, wherein the request to delete at least a portion of a file stored in the live filespace comprises a request to delete the file from the live filespace or to truncate the file. 31. The storage server of claim 25, wherein deleting a block from the zombie filespace comprises returning the block as a free block to the file system. 32. The storage server of claim 25, wherein the process further comprises increasing the size of the zombie filespace before moving the blocks.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.