»LID Home
»LID History

1. Summary

The obdclass code is generic Lustre configuration and device handling. Different functional parts of the Lustre code are split into obd devices which can be configured and connected in various ways to form a server or client filesystem.

Several examples of obd devices include:

  • OSC - object storage client (connects over network to OST)

  • OST - object storage target

  • LOV - logical object volume (aggregates multipe OSCs into a single virtual device)

  • MDC - meta data client (connects over network to MDT)

  • MDT - meta data target

The obdclass code provides services used by all Lustre devices for configuration, memory allocation, generic hashing, kernel interface routines, random number generation, etc.

2. Code

lustre/obdclass/class_hash.c        - scalable hash code for imports
lustre/obdclass/class_obd.c         - base device handling code
lustre/obdclass/debug.c             - helper routines for dumping data structs
lustre/obdclass/genops.c            - device allocation/configuration/connection
lustre/obdclass/linux-module.       - linux kernel module handling
lustre/obdclass/linux-obdo.c        - pack/unpack obdo and other IO structs
lustre/obdclass/linux-sysctl.c      - /proc/sys configuration parameters
lustre/obdclass/lprocfs_status.c    - /proc/fs/lustre configuration/stats, helpers
lustre/obdclass/lustre_handles.c    - wire opaque pointer handlers
lustre/obdclass/lustre_peer.c       - peer target identification by UUID
lustre/obdclass/obd_config.c        - configuration file parsing
lustre/obdclass/obd_mount.c         - server filesystem mounting
lustre/obdclass/obdo.c              - more obdo handling helpers
lustre/obdclass/statfs_pack.c       - statfs helpers for wire pack/unpack
lustre/obdclass/uuid.c              - UUID pack/unpack
lustre/lvfs/lvfs_common.c           - kernel interface helpers
lustre/lvfs/lvfs_darwin.c           - darwin kernel helper routines
lustre/lvfs/lvfs_internal.h         - lvfs internal function prototypes
lustre/lvfs/lvfs_lib.c              - statistics
lustre/lvfs/lvfs_linux.c            - linux kernel helper routines
lustre/lvfs/lvfs_userfs.c           - userspace helper routines
lustre/lvfs/prng.c                  - long period pseudo-random number generator
lustre/lvfs/upcall_cache.c          - supplementary group upcall for MDS