File System Inode Recovery via Two-Phase Snapshot Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

File system inconsistencies, such as invalid inodes and unvalidated dirty snapshot inodes, can lead to data loss and system unavailability due to incomplete snapshot creation and missing or corrupted log entries, which existing recovery methods struggle to address effectively.

Innovation Solution

A method that involves determining inconsistencies between a data log and inodes, performing recovery processing by marking valid inodes as snap validated, freeing unvalidated dirty snapshot inodes, and removing log entries referencing invalid inodes, ensuring a consistent file system state by utilizing a two-phase data log recovery approach.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing recovery methods are used to address file system inconsistencies, then data loss is reduced, but system availability and recovery effectiveness deteriorate due to incomplete snapshot creation and missing log entries

Engineering Contradiction:
Improverecovery effectivenessVSAvoidrecovery processing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The recovery processing is divided into two distinct phases: Phase 1 validates and marks clean inodes, while Phase 2 identifies and removes dirty inodes with inconsistencies. This segmentation allows the system to systematically handle different types of inode states without overwhelming complexity, improving recovery effectiveness by addressing each phase with targeted processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Before removing any inodes or log entries, the system performs preliminary validation in Phase 1 by marking clean inodes with a valid flag. This preliminary action ensures that subsequent removal operations in Phase 2 only affect truly inconsistent entries, preventing unnecessary data loss while maintaining system availability.

Inventive Principle:
Principle #10Preliminary action

2Stability of the object's composition

If all dirty inodes are removed to ensure consistency, then file system consistency is improved, but data loss increases due to removal of potentially valid snapshot data

Engineering Contradiction:
Improvefile system consistencyVSAvoiddata loss
Core Design Contradiction:
Stability of the object's compositionVSLoss of substance

Solution Approach 1:

The system uses feedback from the two-phase processing to determine which inodes to remove. Phase 1 provides feedback by marking clean inodes, and Phase 2 uses this feedback to identify only those dirty inodes that lack corresponding log entries. This feedback mechanism ensures that only truly inconsistent data is removed, minimizing data loss while achieving file system consistency.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system changes the state parameter of inodes by introducing a validation flag that transitions inodes from unvalidated to validated state in Phase 1. This parameter change allows the system to distinguish between clean and dirty inodes, enabling selective removal in Phase 2 that preserves valid snapshot data while removing only inconsistent entries.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If a simple recovery method is used, then processing speed is improved, but recovery completeness deteriorates due to inability to handle unvalidated dirty snapshot inodes

Engineering Contradiction:
Improverecovery processing speedVSAvoidrecovery completeness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

By segmenting recovery into two phases, the system achieves both speed and completeness. Phase 1 quickly validates clean inodes, and Phase 2 efficiently removes only the inconsistent dirty inodes. This segmentation avoids the need for complex multi-step validation while ensuring complete recovery of all inode types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs self-validation by having inodes mark themselves as clean in Phase 1 through the validation flag. This self-service approach eliminates the need for external verification mechanisms, maintaining high processing speed while ensuring complete and accurate recovery of all file system elements.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10983951B1Recovery processing for persistent file data cache to reduce data loss
Publication Date: 2021.04.20 EMC IP HLDG CO LLC
  • US10983951B1 patent drawing
  • US10983951B1 patent drawing
  • US10983951B1 patent drawing

AI summary

Processing for a file system may include determining an inconsistency between a data log and inodes (index nodes) of the file system. Responsive to determining the inconsistency, recovery processing may be performed including first processing of the data log, second processing of the inodes of the file system, and third processing of the data log after said second processing. First processing may, for each entry of the data log that records a create snapshot operation to create a snapshot of a file having an associated inode of the file system that is a dirty snapshot inode, marking the associated inode as “snap validated”. Second processing may include freeing each dirty snapshot inode not marked as “snap validated”. Third processing may include freeing any entry of the data log where the entry references dirty snapshot inode freed by the second processing.