Technique for accelerating file deletion by preloading indirect blocks
First Claim
Patent Images
1. A method for accelerating file deletion of a file served by a storage system, comprising:
- invoking a file deletion operation to delete a selected file;
reading, in response to the file deletion operation, a high-level indirect block of a buffer tree of the selected file to locate one or more low-level indirect blocks referenced by the high-level indirect block;
issuing read requests, in response to locating the one or more low-level indirect blocks, for the one or more low-level indirect blocks;
processing a first low-level indirect block of the one or more low-level indirect blocks in parallel with executing the read requests;
preloading into a buffer cache memory a number of one or more low-level indirect blocks that were read while the first low-level block is being processed, wherein the number, of the one or more low-level indirect blocks to be preloaded, chosen to ensure that the one or more low-level indirect blocks do not overflow the buffer cache memory; and
freeing data blocks referenced by pointers of the first low-level indirect block in response to the file deletion operation to delete the data blocks.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for accelerating file deletion by preloading indirect blocks. When processing level 1 (L1) indirect blocks, the file server issues a read request for the next N indirect blocks to be loaded into a buffer cache. The file server processes the indirect blocks from the buffer cache without requiring multiple single block disk accesses. Once the N indirect blocks have been processed, a read request for the next N L1 indirect blocks is then sent. The technique permits parallel processing by loading indirect blocks to be processed while previously cached indirect blocks are being processed.
57 Citations
10 Claims
-
1. A method for accelerating file deletion of a file served by a storage system, comprising:
-
invoking a file deletion operation to delete a selected file; reading, in response to the file deletion operation, a high-level indirect block of a buffer tree of the selected file to locate one or more low-level indirect blocks referenced by the high-level indirect block; issuing read requests, in response to locating the one or more low-level indirect blocks, for the one or more low-level indirect blocks; processing a first low-level indirect block of the one or more low-level indirect blocks in parallel with executing the read requests; preloading into a buffer cache memory a number of one or more low-level indirect blocks that were read while the first low-level block is being processed, wherein the number, of the one or more low-level indirect blocks to be preloaded, chosen to ensure that the one or more low-level indirect blocks do not overflow the buffer cache memory; and freeing data blocks referenced by pointers of the first low-level indirect block in response to the file deletion operation to delete the data blocks. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A storage system, comprising:
-
an operating system having a file deletion operation; in response to the file deletion operation, reading a high-level indirect block of a buffer tree of a selected file to locate one or more low-level indirect blocks referenced by the high-level indirect blocks; read requests to be issued in response to locating the one or more low-level indirect blocks; a first low-level indirect block of the one or more low-level indirect blocks to be processed in parallel to executing the read requests; a number of one or more low-level indirect blocks that were read to be preloaded into a buffer cache memory while the first low level indirect block is being processed, wherein the number, of the one or more low-level indirect blocks to be preloaded, chosen to ensure that the one or more low-level indirect blocks do not overflow the buffer cache memory; and data blocks referenced by pointers of the first low-level indirect block are freed in response to the file deletion operation to delete the data blocks. - View Dependent Claims (7, 8, 9)
-
-
10. A computer readable media, comprising:
-
said computer readable media containing instructions for execution on a processor for a method of accelerated file deletion of a file served by a storage system, the method having; invoking a file deletion operation to delete a selected file; reading, in response to the file deletion operation, a high-level indirect block of a buffer tree of the selected file to locate one or more low-level indirect blocks referenced by the high-level indirect block; issuing read requests, in response to locating the one or more low-level indirect blocks, for the one or more low-level indirect blocks; processing a first low-level indirect block of the one or more low-level indirect blocks in parallel to executing-the read requests; preloading into a buffer cache memory a number of one or more low-level indirect blocks that were read while the first low-level indirect block is being processed, wherein the number, of the one or more low-level indirect blocks to be preloaded, chosen to ensure that the one or more low-level indirect blocks do not overflow the buffer cache memory; and freeing data blocks referenced by pointers of the first low-level indirect block in response to the file deletion operation to delete the data blocks.
-
Specification