File System Truncation Using Delegated Reference Counts
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional file systems face challenges in efficiently truncating files, leading to prolonged processing times and performance issues due to the need to traverse and deallocate large numbers of file system blocks, which can lock storage systems and impact other operations.
Innovation Solution
The method involves creating an internal snapshot copy of a file, using delegated reference counts to identify uniquely allocated file system blocks, and reporting these as available storage space before deallocation, allowing for asynchronous background deallocation, thus separating the process of identifying blocks for deallocation from their actual freeing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If conventional file systems traverse and deallocate file system blocks to truncate files, then storage space is freed, but processing time increases and storage system performance deteriorates
Solution Approach 1:
The patent applies preliminary action by reporting storage space as available immediately when truncation is requested, before the actual deallocation of file system blocks occurs. The system identifies the amount of space that will be freed and makes it available for new allocations right away, while the actual deallocation of the truncated blocks happens asynchronously in the background. This resolves the contradiction by decoupling the space availability reporting from the time-consuming deallocation process.
2Quantity of substance
If conventional file systems deallocate file system blocks synchronously, then storage space is freed, but other storage operations are impacted due to system locking
Solution Approach 1:
The patent applies segmentation by dividing the file truncation process into two independent phases: an immediate phase that identifies and reports available storage space, and an asynchronous background phase that performs the actual deallocation of file system blocks. This segmentation allows the storage system to report space availability without being blocked by the lengthy deallocation process, thereby maintaining high throughput for other storage operations while still freeing the required space.
3Quantity of substance
If conventional file systems traverse file system blocks to identify deallocatable space, then accurate space reclamation is achieved, but I/O performance deteriorates
Solution Approach 1:
The patent extracts the space identification function from the deallocation process. Instead of traversing file system blocks to identify deallocatable space, the system calculates the amount of space that will be freed based on the truncation request parameters. This extracted identification mechanism immediately determines available space without I/O operations, while the actual block deallocation (which requires traversal) is performed asynchronously in the background, thus preserving I/O performance while maintaining accurate space reclamation.
Data Source
AI summary
A method is used in managing truncation of files of file systems. A request is received to delete a portion of a file of a file system. The file system includes a plurality of files. Metadata of the file is evaluated for determining a number of file system blocks associated with the portion of the file that are available for de-allocation. Storage space associated with the file system blocks is reported as available storage space to a user of the file.


