How thinkparq/beegfs works
BeeGFS is a parallel cluster file system. A client mounts it and issues filesystem operations; the kernel client handles VFS requests and communicates with metadata and storage services to resolve namespace operations and transfer file data. The repository also contains monitoring, event-listening, BeeOND, and filesystem-checking components. The tree and README identify these product areas, but sampled implementation excerpts are sparse, so the graph omits uncertain internal call wiring and treats the separately maintained management service as external.
Main entry points: storage Storage service · net/filesystem Client remoting · source/filesystem Kernel client · StorageTargets.cpp Storage targets
Components 17
Client access
- Kernel client
client_module/source/filesystem - Client remoting
client_module/source/net/filesystem
Cluster services
- Metadata service
meta - Storage service
storage - Storage targets
storage/source/storage/StorageTargets.cpp - Storage toolkit
common/source/common/toolkit/StorageTk.cpp - Local storage paths
Operations
- Monitoring service
mon - Event listener
event_listener - BeeOND
beeond - Filesystem checker
fsck
Shared runtime
- Node and target maps
client_module/source/common/nodes - Message protocol
client_module/source/common/net/message - Storage pool state
common/source/common/nodes/StoragePoolStore.cpp
Other components
- Application
- Linux VFS
- Management service
Connections 18
- Application → Linux VFS: issues filesystem calls
- Linux VFS → Kernel client: dispatches operations
- Kernel client → Client remoting: requests remote work
- Client remoting → Metadata service: metadata operations
- Client remoting → Storage service: file I/O
- Storage service → Storage targets: manages targets
- Storage targets → Local storage paths: reads and writes
- Storage targets → Management service: reports target state
- Metadata service → Management service: cluster coordination
- Storage service → Management service: cluster coordination
- Monitoring service → Storage service: collects node status
- Filesystem checker → Metadata service: checks metadata
- Filesystem checker → Storage service: checks storage
- BeeOND → Kernel client: uses mounted filesystem
- Client remoting → Message protocol: encodes messages
- Kernel client → Node and target maps: uses node mappings
- Storage service → Storage pool state: tracks target pools
- Storage service → Storage toolkit: uses storage utilities