User Space File System Setup Without Kernel Code Editing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data archiving methods require kernel code recompilation for each unique Linux file system and OS type, making it challenging to intercept file system I/O requests and redirect data without modifying kernel code.
Innovation Solution
Implementing a file system setup in user space without editing kernel code, using a Filesystem in Userspace (FUSE) mechanism that allows non-privileged users to create and manage file systems, and using kernel mode file system filter drivers to intercept I/O requests, redirecting them to archived data without modifying the link file.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If kernel code recompilation is used to intercept file system I/O requests, then I/O interception capability is improved, but device complexity and ease of manufacture deteriorate
Solution Approach 1:
The patent segments the file system into kernel space and user space components. The FUSE module operates in user space as a separate entity, while only a minimal kernel interface remains in the kernel space. This segmentation allows I/O interception functionality to be implemented without modifying or recompiling the entire kernel codebase, thus resolving the contradiction between interception capability and kernel complexity.
Solution Approach 2:
The FUSE module acts as an intermediary layer between the user space application and the kernel space file system. It intercepts I/O requests at the user space level and translates them into kernel-compatible operations, eliminating the need to modify kernel code for interception purposes. This intermediary approach maintains interception capability while preserving kernel code integrity.
2Productivity
If kernel mode file system filter drivers are used to intercept I/O requests, then data archiving functionality is improved, but ease of operation deteriorates
Solution Approach 1:
The FUSE module implements self-service by automatically handling the complexity of I/O request interception and translation. When a user creates a FUSE file system, the module automatically sets up the necessary interception mechanisms, manages the archiving process, and handles data retrieval without requiring manual kernel code modification or complex configuration. This automation improves ease of operation while maintaining archiving efficiency.
3Ease of manufacture
If FUSE mechanism is used to setup file system in user space, then ease of manufacture is improved, but I/O interception reliability may worsen
Solution Approach 1:
The FUSE module is designed as a universal interface that can handle multiple types of file systems and I/O operations through a standardized mechanism. It provides multi-functional capabilities including I/O interception, data archiving, and retrieval operations, all through a single user space module. This universality ensures reliable interception across different scenarios without requiring separate kernel implementations, thus maintaining reliability while improving ease of setup.
Data Source
AI summary
A file system is setup in user space of an operating system (OS) of a device without editing kernal code of the OS. Data of a file at the device is archived to a target location. The data of the file is replaced with a link to the target location. The archived data is retrieved via the file system in response to an input/output (I/O) request to the data of the file.


