Lustre Data Structures

Here are the data structures with brief descriptions:
cache_statsStats for a generic cache (similar to inode, lu_object, etc
ccc_ioIO state private to vvp or slp layers
ccc_objectCcc-private object state
ccc_pageCcc-private page state
cfs_moduleModule support (probably shouldn't be used in generic code?)
cl_2queueA 2-queue of pages
cl_attr"Data attributes" of cl_object
cl_deviceDevice in the client stack
cl_device_operationsOperations for each data device in the client stack
cl_ioState for io
cl_io_lock_linkLink between lock and io
cl_io_operationsPer-layer io operations
cl_io_sliceIO state private for a layer
cl_lockLayered client lock
cl_lock_closureLock closure
cl_lock_descrLock description
cl_lock_slicePer-layer part of cl_lock
cl_locksetLock-set represents a collection of locks, that io needs at a time
cl_objectSub-class of lu_object with methods common for objects on the client stacks
cl_object_confDescription of the client object configuration
cl_object_headerExtended header for client object
cl_object_operationsOperations implemented for each cl object layer
cl_pageFields are protected by the lock on cfs_page_t, except for atomics and immutables
cl_page_operationsPer-layer page operations
cl_page_slicePer-layer part of cl_page
cl_reqTransfer request
cl_req_attrPer-transfer attributes
cl_req_objA per-object state that (potentially multi-object) transfer request keeps
cl_req_operationsTransfer request operations definable at every layer
cl_req_slicePer-layer state for request
cl_siteClient-side site
cl_sync_ioAnchor for synchronous transfer
cl_thread_countersCounters used to check correctness of cl_lock interface usage
cl_thread_infoThread local state internal for generic cl-code
dt_allocation_hintThis is a general purpose dt allocation hint
dt_body_operationsPer-dt-object operations on "file body"
dt_device_operationsOperations on dt device
dt_index_operationsPer-dt-object operations on object as index
dt_index_operations::dt_it_opsIterator interface
dt_object_formatObject format specifier
dt_object_operationsPer-dt-object operations
dt_txn_callbackTransaction call-backs
getinfo_fid2pathFid2path request/reply structure
link_ea_entryHardlink data is name and parent fid
ll_dio_pagesDirect write pages
llog_changelog_recChangelog record
llog_cookieLog cookies are used to reference a specific log file and a record therein
llog_logidIdentifier for a single log object
llog_rec_hdrLog record header - stored in little endian order
lov_device_emergResources that are used in memory-cleaning path, and whose allocation cannot fail even when memory is tight
lov_ioIO state private for LOV
lov_io_subState that lov_io maintains for every sub-io
lov_lockLov-specific lock state
lov_lock_linkA link between a top-lock and a sub-lock
lov_lock_subState lov_lock keeps for each sub-lock
lov_objectLov-specific file state
lov_reqState of transfer for lov
lov_sublock_envDescribe the environment settings for sublocks
lovsub_lockLock state at lovsub layer
lovsub_reqState of transfer for lovsub
lu_attrCommon object attributes
lu_bufCommon buffer structure to be passed around for various xattr_{s,g}et() methods
lu_deviceDevice: a layer in the server side abstraction stacking
lu_device_operationsOperations common for data and meta-data devices
lu_device_typeType of device
lu_device_type_operationsOperations on a device type
lu_direntLayout of readdir pages, as transmitted on wire
lu_fidFile IDentifier
lu_local_obj_descStructure to hold object information
lu_nameCommon name structure to be passed around for various name related methods
lu_objectLayer in the layered object
lu_object_confObject configuration, describing particulars of object being created
lu_object_header"Compound" object, consisting of multiple layers
lu_object_operationsOperations specific for particular lu_object
lu_rdpgInput params, should be filled out by mdt
lu_seq_rangeDescribes a range of sequence, lsr_start is included but lsr_end is not in the range
lu_siteLu_site is a "compartment" within which objects are unique, and LRU discipline is maintained
luda_typeFile type
lustre_mdt_attrsFollowing struct for MDT attributes, that will be kept inode's EA
md_capainfoThere are at most 5 fids in one operation, see rename, NOTE the last one is a temporary one used for is_subdir()
md_dir_operationsOperations implemented for each directory object
md_object_operationsOperations implemented for each md object (both directory and leaf)
md_op_specAdditional parameters for create
md_siteMd-server site
mdd_dot_lustre_objsObjects in .lustre dir
osc_ioState maintained by osc layer for each IO context
osc_lockOsc-private state of cl_lock
osc_pagePage state private for osc layer
osc_reqState of transfer for osc
osc_sessionState maintained by osc layer for the duration of a system call
ptldebug_headerFormat for debug message headers
ptlrpc_requestRepresents remote procedure call
thandleThis is the general purpose transaction handle
vvp_io_argsIO arguments for various VFS I/O interfaces

Generated on Mon Apr 12 04:18:21 2010 for Lustre by doxygen 1.4.7

Contact | About Sun | News | Employment | Privacy | Terms of Use | Trademarks | (C) 2008 Sun Microsystems, Inc.