File System Duplicate Block Recovery via Metadata Evaluation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional file system checking (FSCK) utilities face inefficiencies in detecting and recovering duplicate file system blocks, leading to increased storage resource consumption and recovery time, especially when dealing with large file systems and shared data blocks between files and snapshot copies.
Innovation Solution
The method involves detecting duplicate file system blocks by evaluating metadata, using logical offset information from per-block metadata to efficiently process inodes, and updating references to remove duplicate blocks without iterating over the entire file system block hierarchy, thereby improving memory and storage utilization and reducing recovery time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If conventional FSCK utilities iterate over the entire file system block hierarchy to detect duplicate blocks, then they can ensure complete detection, but the recovery time and computational resources increase significantly
Solution Approach 1:
The patent extracts the detection of potential duplicate blocks from the exhaustive iteration process by using per-block metadata to identify blocks that are referenced by multiple inodes. This extraction allows the system to focus only on suspicious blocks rather than examining the entire file system hierarchy, thereby maintaining detection effectiveness while reducing recovery time.
Solution Approach 2:
The patent performs preliminary action by pre-computing and storing per-block metadata that tracks which inodes reference each block. This preliminary information is prepared before the FSCK operation, enabling the utility to quickly identify candidate duplicate blocks without having to traverse the complete file system structure during the recovery process.
2Measurement precision
If conventional FSCK utilities examine every block in the file system hierarchy, then they can ensure accurate metadata validation, but memory and storage resources are consumed inefficiently
Solution Approach 1:
The patent segments the file system validation process by dividing it into block-level operations using per-block metadata. Instead of loading and examining the entire file system hierarchy in memory, the system processes blocks individually or in small groups, tracking references through compact metadata structures. This segmentation reduces memory consumption while maintaining validation accuracy.
Solution Approach 2:
The patent introduces per-block metadata as an intermediary structure that mediates between the file system hierarchy and the validation process. This intermediary contains essential reference information in a compact form, allowing the FSCK utility to validate metadata accurately without needing to maintain the complete file system structure in memory simultaneously.
3Reliability
If the FSCK utility processes large file systems with many shared data blocks, then it can ensure thorough recovery, but the complexity of the recovery process increases
Solution Approach 1:
The patent extracts the complex task of tracking block references across the entire file system by focusing only on blocks that have non-zero reference counts in the per-block metadata. This extraction simplifies the recovery process by eliminating the need to examine blocks that are not shared, thereby reducing process complexity while maintaining thorough recovery for actual duplicate blocks.
Solution Approach 2:
The patent changes the parameter of block examination from a static file system hierarchy traversal to a dynamic selection based on reference count parameters stored in per-block metadata. This parameter-driven approach automatically adapts to the actual sharing patterns in the file system, simplifying the recovery process for large file systems with many shared blocks by focusing computational effort only where needed.
Data Source
AI summary
A method is used in recovering duplicate blocks in file systems. A duplicate file system block is detected in a file system. The duplicate file system block is referred by a first inode associated with a first file of the file system and a second inode associated with a second file of the file system. Metadata of the duplicate file system block is evaluated. Based on the evaluation, a set of inodes in the file system is determined. Each inode of the set of inodes refer to the duplicate file system block. Based on the determination, the set of inodes is updated.


