Inode Back Pointers for Copy-on-Write Clones in Key-Value Stores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing file systems face challenges in performing reliable copy-on-write clones without native key-value store clone functions, particularly when dealing with hard links and inode management across different directories.

Innovation Solution

The implementation of a method that uses a 'super root' directory and back pointers to manage inode links, allowing for a copy-on-write clone of a logical volume in any ordered key-value store, which delays inode creation until changes are made, ensuring consistency and performance benefits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If directory hard links are used to perform copy-on-write clone, then clone operation can be implemented without native key-value store clone function, but data inconsistency occurs when multiple files share the same inode

Engineering Contradiction:
Improveclone operation compatibilityVSAvoiddata consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the hard link management by introducing back pointers that track which directories contain links to each inode. This segmentation allows the system to identify and update only the affected directories when an inode is modified, rather than having to update all directories that might have links to the inode. The back pointer structure divides the global link management into localized directory-level tracking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces back pointers as an intermediary data structure between inodes and directories. These back pointers act as mediators that track the relationship between inodes and the directories containing hard links to them. When a clone operation occurs, the back pointers enable the system to efficiently identify which directories need to be updated, serving as an intermediary mechanism that resolves the conflict between shared inodes and directory-specific link management.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If copy-on-write is implemented without native key-value store clone function, then file system compatibility is improved, but performance and efficiency are reduced

Engineering Contradiction:
Improvefile system compatibilityVSAvoidclone operation efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent performs preliminary actions by creating back pointers during normal file system operations, before clone operations are needed. This preliminary tracking of directory-inode relationships means that when a clone operation occurs, the system already has the information needed to efficiently update only the affected directories, rather than having to perform a comprehensive search of the entire file system structure during the clone operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The back pointer structure acts as a thin film layer between the inode layer and directory layer, providing a flexible mechanism for tracking relationships without requiring deep structural changes to either layer. This thin film approach enables efficient clone operations by providing just enough information to update the necessary directories without creating a complex, rigid structure that would slow down operations.

Inventive Principle:
Principle #30Flexible shells and thin films

3Reliability

If all directory links to an inode are updated when inode changes, then data consistency is maintained, but system performance and speed are reduced

Engineering Contradiction:
Improvedata consistencyVSAvoidinode update speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the update process by using back pointers to identify only the specific directories that contain hard links to an inode, rather than updating all directories in the file system. This segmentation transforms a potentially O(n) update operation into a more efficient operation proportional to the actual number of hard links, significantly improving update speed while maintaining consistency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The back pointer structure provides feedback information about which directories are actually linked to each inode. This feedback mechanism allows the system to make informed decisions about which directories need updating, rather than blindly updating all directories. The feedback from the back pointers enables the system to optimize the update process by focusing only on the relevant directories.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11263252B2Supporting file system clones in any ordered key-value store using inode back pointers
Publication Date: 2022.03.01 VMWARE INC
  • US11263252B2 patent drawing
  • US11263252B2 patent drawing
  • US11263252B2 patent drawing

AI summary

Embodiments described herein are related to cloning a volume in a file system. In some embodiments, for each index node representing a file or directory in the volume, the index node is updated to include a back pointer to each file or directory which points to the index node in the volume. In some embodiments, a copy-on-write operation is performed in order to generate a clone of the volume's root node. In certain embodiments, upon determining that a file or directory of the clone has been modified, a new index node is generated representing the file or directory by copying an index node representing a corresponding file or directory of the volume. In some embodiments, each file or directory which should point to the new index node in the clone is identified based on one or more back pointers and updated to point to the new index node.