π€ AI Summary
File system configuration parameters exhibit complex, multi-level dependencies that frequently lead to misconfigurations and regression failures. This paper presents the first systematic characterization of deep configuration dependency patterns in Ext4, XFS, and ZFS. To address this challenge, we propose ConfDβa generic, scalable, automated dependency extraction framework integrating static configuration parsing, dependency graph modeling, and a cross-filesystem abstraction adaptation layer. ConfD employs a rule-driven, plugin-based diagnostic mechanism to detect misuses and localize regression-inducing configurations. Evaluated on three major filesystems, ConfD precisely extracts 160 configuration dependencies with low false-positive rates, successfully identifying both erroneous configurations and legitimate configurations that trigger regressions. Furthermore, we demonstrate ConfDβs extensibility by validating its applicability to storage engines beyond filesystems, including WiredTiger.
π Abstract
File systems play an essential role in modern society for managing precious data. To meet diverse needs, they often support many configuration parameters. Such flexibility comes at the price of additional complexity which can lead to subtle configuration-related issues. To address this challenge, we study the configuration-related issues of two major file systems (i.e., Ext4 and XFS) in depth, and identify a prevalent pattern called multilevel configuration dependencies. Based on the study, we build an extensible tool called ConfD to extract the dependencies automatically, and create a set of plugins to address different configuration-related issues. Our experiments on Ext4, XFS and a modern copy-on-write file system (i.e., ZFS) show that ConfD was able to extract 160 configuration dependencies for the file systems with a low false positive rate. Moreover, the dependency-guided plugins can identify various configuration issues (e.g., mishandling of configurations, regression test failures induced by valid configurations). In addition, we also explore the applicability of ConfD on a popular storage engine (i.e., WiredTiger). We hope that this comprehensive analysis of configuration dependencies of storage systems can shed light on addressing configuration-related challenges for the system community in general.