Background File System Checking with In-Context Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current file system consistency checks, such as FSCK, are time-consuming and disrupt file system availability, especially in large file systems, as they require the entire file system to be unmounted and scanned, leading to prolonged downtime and performance issues.

Innovation Solution

Implementing a background FSCK process that checks file system consistency incrementally by maintaining a FSCK status bitmap, allowing access to the file system while checking files in the background, and using in-context FSCK threads for on-demand checks, reducing downtime and supporting larger file systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire file system is unmounted and scanned for consistency using traditional FSCK, then file system consistency can be verified, but file system availability is lost and access is blocked for the entire duration

Engineering Contradiction:
Improvefile system consistencyVSAvoidfile system availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the file system into individual files and maintains a bitmap tracking which files have been checked. Instead of checking the entire file system at once, it segments the consistency check into file-level operations that can be performed independently and in parallel, allowing other files to remain accessible during the check process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary consistency checks on files before they are accessed or before the file system is unmounted. By checking files in advance and marking them in the bitmap, the system ensures consistency is verified before potential issues arise, while maintaining file system availability for unchecked files.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the file system is unmounted for FSCK, then complete consistency verification can be performed, but the time required increases linearly with file system size

Engineering Contradiction:
Improvefile system consistencyVSAvoidFSCK execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the monolithic FSCK process into file-level consistency checks that can be performed independently. This allows parallel processing of multiple files and eliminates the need to unmount the entire file system, reducing the time impact from linear scaling to minimal disruption per file.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enables continuous file system access during consistency checks by allowing reads and writes to proceed while background FSCK operations verify consistency. The bitmap tracks which files are being checked, and access can continue on unchecked files, maintaining continuous useful action without interruption.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If traditional FSCK is performed on large file systems, then consistency can be verified, but file server performance is adversely affected

Engineering Contradiction:
Improvefile system consistencyVSAvoidfile server performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the consistency verification into file-level operations tracked by a bitmap, allowing selective checking of individual files rather than forcing a complete file system unmount. This enables file server performance to be maintained while consistency is verified on a manageable, file-by-file basis.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7730090B2Architecture for performing file system checking on an active file system
Publication Date: 2010.06.01 EMC IP HLDG CO LLC
  • US7730090B2 patent drawing
  • US7730090B2 patent drawing
  • US7730090B2 patent drawing

AI summary

A system and method for performing File System checKing (FSCK) allows a file system to be accessed while the file system is being checked for consistency in the background. In the event that a file is accessed prior to having been checked for consistency by the background FSCK process, the background FSCK process is interrupted, and an in-context FSCK is performed on the accessed file. In addition, an in-context FSCK method and system is described which uses a snapshot block bitmap, FSCK block bitmap and FS block bitmap to check block consistency in the context of handling a block access to handle consistency and corruption issues as part of the file access.