Filesystem Conversion Without Shutdown Using Segmented Threads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing filesystem conversion methods require shutting down the filesystem, leading to operational downtime and incomplete conversions, as they only convert touched file objects, resulting in degraded performance and continued support for less efficient filesystem types.

Innovation Solution

A method to convert a filesystem from one type to another while maintaining the filesystem in an active state, ensuring all objects are converted by creating a list of directories to convert and processing each one without interrupting system operations, allowing for seamless transition without shutdown.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the filesystem is shut down during conversion, then all objects can be converted completely, but operational downtime occurs and system availability is reduced

Engineering Contradiction:
Improveconversion completenessVSAvoidsystem availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The filesystem conversion process is segmented into multiple independent threads: a conversion thread that converts filesystem objects and an access thread that handles user access requests. This segmentation allows the conversion to proceed without requiring complete shutdown of the filesystem, thus maintaining system availability while ensuring thorough conversion of all objects.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by creating a list of all directories to be converted before the actual conversion begins. This preliminary planning allows the conversion process to systematically process all filesystem objects without missing any, ensuring conversion completeness while the filesystem remains operational.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the filesystem remains active during conversion, then system availability is maintained, but only touched file objects are converted leading to incomplete conversion

Engineering Contradiction:
Improvesystem availabilityVSAvoidconversion completeness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The conversion thread continuously monitors the filesystem state and receives feedback about accessed directories. When a directory is accessed, the conversion thread converts it to the new filesystem type. This feedback mechanism ensures that all touched objects are converted while the filesystem remains active, achieving both system availability and conversion completeness.

Inventive Principle:
Principle #23Feedback

3Productivity

If first-touch conversion is used, then filesystem can remain active, but performance degrades due to conversion delays when accessing file objects

Engineering Contradiction:
Improvesystem availabilityVSAvoidaccess performance
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The conversion thread operates continuously in the background, converting filesystem objects as they are accessed without interrupting the access thread. This continuous background operation eliminates conversion delays during user access, maintaining both system availability and access performance by decoupling the conversion operations from the access operations.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8667035B2Method of converting a filesystem while the filesystem remains in an active state
Publication Date: 2014.03.04 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8667035B2 patent drawing
  • US8667035B2 patent drawing
  • US8667035B2 patent drawing

AI summary

A filesystem conversion process converts a filesystem from one implementation type to another type while the filesystem remains active and fully accessible. The conversion process builds a list of directories in the filesystem that are of the old filesystem type and then converts each directory until the entire filesystem is converted. Instead of the filesystem being shutdown to perform the conversion, the conversion process may run as a background thread that does not interfere with normal filesystem operations.