lustreidl

Lustre wire protocol definitions. More...

Modules

 lu_fid
 lu_dir

Data Structures

struct  lu_seq_range
 Describes a range of sequence, lsr_start is included but lsr_end is not in the range. More...
struct  lustre_handle
struct  lustre_msg_v2
struct  ptlrpc_body
struct  obd_connect_data
struct  lov_ost_data_v1
struct  lov_mds_md_v1
struct  lov_mds_md_v3
struct  obd_ioobj
struct  niobuf_remote
struct  ost_lvb
struct  mds_status_req
struct  mds_body
struct  mdt_body
struct  mdt_ioepoch
struct  obd_quotactl
struct  quota_adjust_qunit
struct  mds_remote_perm
struct  mdt_remote_perm
struct  mdt_rec_setattr
struct  mdt_rec_create
struct  mdt_rec_link
struct  mdt_rec_unlink
struct  mdt_rec_rename
struct  mdt_rec_setxattr
struct  mdt_rec_reint
struct  lmv_desc
struct  lmv_stripe_md
struct  md_fld
struct  lov_desc
struct  ldlm_res_id
struct  ldlm_extent
struct  ldlm_inodebits
struct  ldlm_flock
union  ldlm_policy_data_t
struct  ldlm_intent
struct  ldlm_resource_desc
struct  ldlm_lock_desc
struct  ldlm_request
struct  ldlm_reply
struct  mgs_send_param
struct  mgs_target_info
struct  cfg_marker
struct  llog_logid
 Identifier for a single log object. More...
struct  llog_catid
struct  llog_rec_hdr
 Log record header - stored in little endian order. More...
struct  llog_rec_tail
struct  llog_logid_rec
struct  llog_create_rec
struct  llog_orphan_rec
struct  llog_unlink_rec
struct  llog_setattr_rec
struct  llog_setattr64_rec
struct  llog_size_change_rec
struct  changelog_setinfo
struct  llog_changelog_rec
 changelog record More...
struct  llog_changelog_user_rec
struct  llog_gen
struct  llog_gen_rec
struct  llog_log_hdr
struct  llog_cookie
 log cookies are used to reference a specific log file and a record therein More...
struct  llogd_body
struct  llogd_conn_body
struct  obdo
struct  ost_body
struct  ll_fiemap_info_key
struct  qunit_data
struct  lustre_capa
struct  lustre_capa_key
struct  link_ea_header
struct  link_ea_entry
 Hardlink data is name and parent fid. More...
struct  getinfo_fid2path
 fid2path request/reply structure More...

Defines

#define CONNMGR_REQUEST_PORTAL   1
#define CONNMGR_REPLY_PORTAL   2
#define OSC_REPLY_PORTAL   4
#define OST_IO_PORTAL   6
#define OST_CREATE_PORTAL   7
#define OST_BULK_PORTAL   8
#define MDC_REPLY_PORTAL   10
#define MDS_REQUEST_PORTAL   12
#define MDS_BULK_PORTAL   14
#define LDLM_CB_REQUEST_PORTAL   15
#define LDLM_CB_REPLY_PORTAL   16
#define LDLM_CANCEL_REQUEST_PORTAL   17
#define LDLM_CANCEL_REPLY_PORTAL   18
#define MDS_SETATTR_PORTAL   22
#define MDS_READPAGE_PORTAL   23
#define MDS_MDS_PORTAL   24
#define MGC_REPLY_PORTAL   25
#define MGS_REQUEST_PORTAL   26
#define MGS_REPLY_PORTAL   27
#define OST_REQUEST_PORTAL   28
#define FLD_REQUEST_PORTAL   29
#define SEQ_METADATA_PORTAL   30
#define SEQ_DATA_PORTAL   31
#define SEQ_CONTROLLER_PORTAL   32
#define SVC_KILLED   1
#define SVC_EVENT   2
#define SVC_SIGNAL   4
#define SVC_RUNNING   8
#define SVC_STOPPING   16
#define SVC_STOPPED   32
#define PTL_RPC_MSG_REQUEST   4711
#define PTL_RPC_MSG_ERR   4712
#define PTL_RPC_MSG_REPLY   4713
#define LUSTRE_MSG_MAGIC_V1   0x0BD00BD0
#define LUSTRE_MSG_MAGIC_V2   0x0BD00BD3
#define LUSTRE_MSG_MAGIC_V1_SWABBED   0xD00BD00B
#define LUSTRE_MSG_MAGIC_V2_SWABBED   0xD30BD00B
#define LUSTRE_MSG_MAGIC   LUSTRE_MSG_MAGIC_V2
#define PTLRPC_MSG_VERSION   0x00000003
#define LUSTRE_VERSION_MASK   0xffff0000
#define LUSTRE_OBD_VERSION   0x00010000
#define LUSTRE_MDS_VERSION   0x00020000
#define LUSTRE_OST_VERSION   0x00030000
#define LUSTRE_DLM_VERSION   0x00040000
#define LUSTRE_LOG_VERSION   0x00050000
#define LUSTRE_MGS_VERSION   0x00060000
#define DRANGE   "[%#16.16"LPF64"x-%#16.16"LPF64"x):%x"
#define PRANGE(range)
#define DEAD_HANDLE_MAGIC   0xdeadbeefcafebabeULL
#define MSGHDR_AT_SUPPORT   0x1
#define lustre_msg   lustre_msg_v2
#define PTLRPC_NUM_VERSIONS   4
#define MSG_PTLRPC_BODY_OFF   0
#define REQ_REC_OFF   1
#define REPLY_REC_OFF   1
#define DLM_LOCKREQ_OFF   1
#define DLM_REQ_REC_OFF   2
#define DLM_INTENT_IT_OFF   2
#define DLM_INTENT_REC_OFF   3
#define DLM_LOCKREPLY_OFF   1
#define DLM_REPLY_REC_OFF   2
#define MSG_PTLRPC_HEADER_OFF   31
 only use in req->rq_{req,rep}_swab_mask
#define MSG_OP_FLAG_MASK   0xffff0000
#define MSG_OP_FLAG_SHIFT   16
#define MSG_GEN_FLAG_MASK   0x0000ffff
#define MSG_LAST_REPLAY   0x0001
#define MSG_RESENT   0x0002
#define MSG_REPLAY   0x0004
#define MSG_DELAY_REPLAY   0x0010
#define MSG_VERSION_REPLAY   0x0020
#define MSG_REQ_REPLAY_DONE   0x0040
#define MSG_LOCK_REPLAY_DONE   0x0080
#define MSG_CONNECT_RECOVERING   0x00000001
#define MSG_CONNECT_RECONNECT   0x00000002
#define MSG_CONNECT_REPLAYABLE   0x00000004
#define MSG_CONNECT_LIBCLIENT   0x00000010
#define MSG_CONNECT_INITIAL   0x00000020
#define MSG_CONNECT_ASYNC   0x00000040
#define MSG_CONNECT_NEXT_VER   0x00000080
#define MSG_CONNECT_TRANSNO   0x00000100
#define OBD_CONNECT_RDONLY   0x1ULL
#define OBD_CONNECT_INDEX   0x2ULL
#define OBD_CONNECT_MDS   0x4ULL
#define OBD_CONNECT_GRANT   0x8ULL
#define OBD_CONNECT_SRVLOCK   0x10ULL
#define OBD_CONNECT_VERSION   0x20ULL
#define OBD_CONNECT_REQPORTAL   0x40ULL
#define OBD_CONNECT_ACL   0x80ULL
#define OBD_CONNECT_XATTR   0x100ULL
#define OBD_CONNECT_CROW   0x200ULL
#define OBD_CONNECT_TRUNCLOCK   0x400ULL
#define OBD_CONNECT_TRANSNO   0x800ULL
#define OBD_CONNECT_IBITS   0x1000ULL
#define OBD_CONNECT_JOIN   0x2000ULL
#define OBD_CONNECT_ATTRFID   0x4000ULL
#define OBD_CONNECT_NODEVOH   0x8000ULL
#define OBD_CONNECT_RMT_CLIENT   0x10000ULL
#define OBD_CONNECT_RMT_CLIENT_FORCE   0x20000ULL
#define OBD_CONNECT_BRW_SIZE   0x40000ULL
#define OBD_CONNECT_QUOTA64   0x80000ULL
#define OBD_CONNECT_MDS_CAPA   0x100000ULL
#define OBD_CONNECT_OSS_CAPA   0x200000ULL
#define OBD_CONNECT_CANCELSET   0x400000ULL
#define OBD_CONNECT_SOM   0x800000ULL
#define OBD_CONNECT_AT   0x1000000ULL
#define OBD_CONNECT_LRU_RESIZE   0x2000000ULL
#define OBD_CONNECT_MDS_MDS   0x4000000ULL
#define OBD_CONNECT_REAL   0x8000000ULL
#define OBD_CONNECT_CHANGE_QS   0x10000000ULL
#define OBD_CONNECT_CKSUM   0x20000000ULL
#define OBD_CONNECT_FID   0x40000000ULL
#define OBD_CONNECT_VBR   0x80000000ULL
#define OBD_CONNECT_LOV_V3   0x100000000ULL
#define OBD_CONNECT_GRANT_SHRINK   0x200000000ULL
#define OBD_CONNECT_SKIP_ORPHAN   0x400000000ULL
#define LRU_RESIZE_CONNECT_FLAG   0
#define MDT_CONNECT_SUPPORTED
#define OST_CONNECT_SUPPORTED
#define ECHO_CONNECT_SUPPORTED   (0)
#define MGS_CONNECT_SUPPORTED   (OBD_CONNECT_VERSION | OBD_CONNECT_AT)
#define OBD_OCD_VERSION(major, minor, patch, fix)
#define OBD_OCD_VERSION_MAJOR(version)   ((int)((version)>>24)&255)
#define OBD_OCD_VERSION_MINOR(version)   ((int)((version)>>16)&255)
#define OBD_OCD_VERSION_PATCH(version)   ((int)((version)>>8)&255)
#define OBD_OCD_VERSION_FIX(version)   ((int)(version)&255)
#define OST_FIRST_OPC   OST_REPLY
#define LOV_MAGIC_V1   0x0BD10BD0
#define LOV_MAGIC   LOV_MAGIC_V1
#define LOV_MAGIC_JOIN_V1   0x0BD20BD0
#define LOV_MAGIC_V3   0x0BD30BD0
#define LOV_PATTERN_RAID0   0x001
#define LOV_PATTERN_RAID1   0x002
#define LOV_PATTERN_FIRST   0x100
#define LOV_PATTERN_CMOBD   0x200
#define LOV_OBJECT_GROUP_DEFAULT   ~0ULL
#define LOV_OBJECT_GROUP_CLEAR   0ULL
#define lov_ost_data   lov_ost_data_v1
#define lov_mds_md   lov_mds_md_v1
#define MAX_MD_SIZE   (sizeof(struct lov_mds_md) + 4 * sizeof(struct lov_ost_data))
#define MIN_MD_SIZE   (sizeof(struct lov_mds_md) + 1 * sizeof(struct lov_ost_data))
#define XATTR_NAME_ACL_ACCESS   "system.posix_acl_access"
#define XATTR_NAME_ACL_DEFAULT   "system.posix_acl_default"
#define XATTR_USER_PREFIX   "user."
#define XATTR_TRUSTED_PREFIX   "trusted."
#define XATTR_SECURITY_PREFIX   "security."
#define XATTR_LUSTRE_PREFIX   "lustre."
#define XATTR_NAME_LOV   "trusted.lov"
#define XATTR_NAME_LMA   "trusted.lma"
#define XATTR_NAME_LMV   "trusted.lmv"
#define XATTR_NAME_LINK   "trusted.link"
#define OBD_MD_FLID   (0x00000001ULL)
#define OBD_MD_FLATIME   (0x00000002ULL)
#define OBD_MD_FLMTIME   (0x00000004ULL)
#define OBD_MD_FLCTIME   (0x00000008ULL)
#define OBD_MD_FLSIZE   (0x00000010ULL)
#define OBD_MD_FLBLOCKS   (0x00000020ULL)
#define OBD_MD_FLBLKSZ   (0x00000040ULL)
#define OBD_MD_FLMODE   (0x00000080ULL)
#define OBD_MD_FLTYPE   (0x00000100ULL)
#define OBD_MD_FLUID   (0x00000200ULL)
#define OBD_MD_FLGID   (0x00000400ULL)
#define OBD_MD_FLFLAGS   (0x00000800ULL)
#define OBD_MD_FLNLINK   (0x00002000ULL)
#define OBD_MD_FLGENER   (0x00004000ULL)
#define OBD_MD_FLRDEV   (0x00010000ULL)
#define OBD_MD_FLEASIZE   (0x00020000ULL)
#define OBD_MD_LINKNAME   (0x00040000ULL)
#define OBD_MD_FLHANDLE   (0x00080000ULL)
#define OBD_MD_FLCKSUM   (0x00100000ULL)
#define OBD_MD_FLQOS   (0x00200000ULL)
#define OBD_MD_FLCOOKIE   (0x00800000ULL)
#define OBD_MD_FLGROUP   (0x01000000ULL)
#define OBD_MD_FLFID   (0x02000000ULL)
#define OBD_MD_FLEPOCH   (0x04000000ULL)
#define OBD_MD_FLGRANT   (0x08000000ULL)
#define OBD_MD_FLDIREA   (0x10000000ULL)
#define OBD_MD_FLUSRQUOTA   (0x20000000ULL)
#define OBD_MD_FLGRPQUOTA   (0x40000000ULL)
#define OBD_MD_FLMODEASIZE   (0x80000000ULL)
#define OBD_MD_MDS   (0x0000000100000000ULL)
#define OBD_MD_REINT   (0x0000000200000000ULL)
#define OBD_MD_MEA   (0x0000000400000000ULL)
#define OBD_MD_MDTIDX   (0x0000000800000000ULL)
#define OBD_MD_FLXATTR   (0x0000001000000000ULL)
#define OBD_MD_FLXATTRLS   (0x0000002000000000ULL)
#define OBD_MD_FLXATTRRM   (0x0000004000000000ULL)
#define OBD_MD_FLACL   (0x0000008000000000ULL)
#define OBD_MD_FLRMTPERM   (0x0000010000000000ULL)
#define OBD_MD_FLMDSCAPA   (0x0000020000000000ULL)
#define OBD_MD_FLOSSCAPA   (0x0000040000000000ULL)
#define OBD_MD_FLCKSPLIT   (0x0000080000000000ULL)
#define OBD_MD_FLCROSSREF   (0x0000100000000000ULL)
#define OBD_MD_FLGETATTRLOCK   (0x0000200000000000ULL)
#define OBD_FL_TRUNC   (0x0000200000000000ULL)
#define OBD_MD_FLRMTLSETFACL   (0x0001000000000000ULL)
#define OBD_MD_FLRMTLGETFACL   (0x0002000000000000ULL)
#define OBD_MD_FLRMTRSETFACL   (0x0004000000000000ULL)
#define OBD_MD_FLRMTRGETFACL   (0x0008000000000000ULL)
#define OBD_MD_FLGETATTR
#define OBD_STATFS_NODELAY   0x0001
#define OBD_STATFS_FROM_CACHE   0x0002
#define OBD_STATFS_PTLRPCD   0x0004
#define OBD_BRW_READ   0x01
#define OBD_BRW_WRITE   0x02
#define OBD_BRW_RWMASK   (OBD_BRW_READ | OBD_BRW_WRITE)
#define OBD_BRW_SYNC   0x08
#define OBD_BRW_CHECK   0x10
#define OBD_BRW_FROM_GRANT   0x20
#define OBD_BRW_GRANTED   0x40
#define OBD_BRW_NOCACHE   0x80
#define OBD_BRW_NOQUOTA   0x100
#define OBD_BRW_SRVLOCK   0x200
#define OBD_BRW_MEMALLOC   0x800
#define OBD_OBJECT_EOF   0xffffffffffffffffULL
#define OST_MIN_PRECREATE   32
#define OST_MAX_PRECREATE   20000
#define OST_LVB_ERR_INIT   0xffbadbad80000000ULL
#define OST_LVB_ERR_MASK   0xffbadbad00000000ULL
#define OST_LVB_IS_ERR(blocks)   ((blocks & OST_LVB_ERR_MASK) == OST_LVB_ERR_MASK)
#define OST_LVB_SET_ERR(blocks, rc)   do { blocks = OST_LVB_ERR_INIT + rc; } while (0)
#define OST_LVB_GET_ERR(blocks)   (int)(blocks - OST_LVB_ERR_INIT)
#define MDS_FIRST_OPC   MDS_GETATTR
#define DISP_IT_EXECD   0x00000001
#define DISP_LOOKUP_EXECD   0x00000002
#define DISP_LOOKUP_NEG   0x00000004
#define DISP_LOOKUP_POS   0x00000008
#define DISP_OPEN_CREATE   0x00000010
#define DISP_OPEN_OPEN   0x00000020
#define DISP_ENQ_COMPLETE   0x00400000
#define DISP_ENQ_OPEN_REF   0x00800000
#define DISP_ENQ_CREATE_REF   0x01000000
#define DISP_OPEN_LOCK   0x02000000
#define MDS_INODELOCK_LOOKUP   0x000001
#define MDS_INODELOCK_UPDATE   0x000002
#define MDS_INODELOCK_OPEN   0x000004
#define MDS_INODELOCK_MAXSHIFT   2
#define MDS_INODELOCK_FULL   ((1<<(MDS_INODELOCK_MAXSHIFT+1))-1)
#define MDS_STATUS_CONN   1
#define MDS_STATUS_LOV   2
#define MF_SOM_LOCAL_FLAGS   (MF_SOM_CHANGE | MF_EPOCH_OPEN | MF_EPOCH_CLOSE)
#define MDS_BFLAG_UNCOMMITTED_WRITES   0x1
#define MDS_SYNC_FL   0x00000008
#define MDS_IMMUTABLE_FL   0x00000010
#define MDS_APPEND_FL   0x00000020
#define MDS_NOATIME_FL   0x00000080
#define MDS_DIRSYNC_FL   0x00010000
#define Q_QUOTACHECK   0x800100
#define Q_INITQUOTA   0x800101
#define Q_GETOINFO   0x800102
#define Q_GETOQUOTA   0x800103
#define Q_FINVALIDATE   0x800104
#define Q_TYPEMATCH(id, type)   ((id) == (type) || (id) == UGQUOTA)
#define Q_TYPESET(oqc, type)   Q_TYPEMATCH((oqc)->qc_type, type)
#define Q_GETOCMD(oqc)   ((oqc)->qc_cmd == Q_GETOINFO || (oqc)->qc_cmd == Q_GETOQUOTA)
#define QCTL_COPY(out, in)
#define LQUOTA_FLAGS_GRP   1UL
#define LQUOTA_FLAGS_BLK   2UL
#define LQUOTA_FLAGS_ADJBLK   4UL
#define LQUOTA_FLAGS_ADJINO   8UL
#define LQUOTA_FLAGS_CHG_QS   16UL
#define LQUOTA_QAQ_CREATE_LQS   (1 << 31)
#define LQUOTA_QUNIT_FLAGS   (LQUOTA_FLAGS_GRP | LQUOTA_FLAGS_BLK)
#define QAQ_IS_GRP(qaq)   ((qaq)->qaq_flags & LQUOTA_FLAGS_GRP)
#define QAQ_IS_ADJBLK(qaq)   ((qaq)->qaq_flags & LQUOTA_FLAGS_ADJBLK)
#define QAQ_IS_ADJINO(qaq)   ((qaq)->qaq_flags & LQUOTA_FLAGS_ADJINO)
#define QAQ_IS_CREATE_LQS(qaq)   ((qaq)->qaq_flags & LQUOTA_QAQ_CREATE_LQS)
#define QAQ_SET_GRP(qaq)   ((qaq)->qaq_flags |= LQUOTA_FLAGS_GRP)
#define QAQ_SET_ADJBLK(qaq)   ((qaq)->qaq_flags |= LQUOTA_FLAGS_ADJBLK)
#define QAQ_SET_ADJINO(qaq)   ((qaq)->qaq_flags |= LQUOTA_FLAGS_ADJINO)
#define QAQ_SET_CREATE_LQS(qaq)   ((qaq)->qaq_flags |= LQUOTA_QAQ_CREATE_LQS)
#define MDS_ATTR_MODE   0x1ULL
#define MDS_ATTR_UID   0x2ULL
#define MDS_ATTR_GID   0x4ULL
#define MDS_ATTR_SIZE   0x8ULL
#define MDS_ATTR_ATIME   0x10ULL
#define MDS_ATTR_MTIME   0x20ULL
#define MDS_ATTR_CTIME   0x40ULL
#define MDS_ATTR_ATIME_SET   0x80ULL
#define MDS_ATTR_MTIME_SET   0x100ULL
#define MDS_ATTR_FORCE   0x200ULL
#define MDS_ATTR_ATTR_FLAG   0x400ULL
#define MDS_ATTR_KILL_SUID   0x800ULL
#define MDS_ATTR_KILL_SGID   0x1000ULL
#define MDS_ATTR_CTIME_SET   0x2000ULL
#define MDS_ATTR_FROM_OPEN   0x4000ULL
#define MDS_ATTR_BLOCKS   0x8000ULL
#define FMODE_READ   00000001
#define FMODE_WRITE   00000002
#define FMODE_EPOCH   01000000
#define FMODE_TRUNC   02000000
#define FMODE_SOM   04000000
#define FMODE_CLOSED   0
#define MDS_OPEN_CREATED   00000010
#define MDS_OPEN_CROSS   00000020
#define MDS_FMODE_EXEC   00000004
#define MDS_OPEN_CREAT   00000100
#define MDS_OPEN_EXCL   00000200
#define MDS_OPEN_TRUNC   00001000
#define MDS_OPEN_APPEND   00002000
#define MDS_OPEN_SYNC   00010000
#define MDS_OPEN_DIRECTORY   00200000
#define MDS_OPEN_DELAY_CREATE   0100000000
#define MDS_OPEN_OWNEROVERRIDE   0200000000
#define MDS_OPEN_JOIN_FILE   0400000000
#define MDS_CREATE_RMT_ACL   01000000000
#define MDS_CREATE_SLAVE_OBJ   02000000000
#define MDS_OPEN_LOCK   04000000000
#define MDS_OPEN_HAS_EA   010000000000
#define MDS_OPEN_HAS_OBJS   020000000000
#define MAY_CREATE   (1 << 7)
#define MAY_LINK   (1 << 8)
#define MAY_UNLINK   (1 << 9)
#define MAY_RENAME_SRC   (1 << 10)
#define MAY_RENAME_TAR   (1 << 11)
#define MAY_VTX_PART   (1 << 12)
#define MAY_VTX_FULL   (1 << 13)
#define MAY_RGETFACL   (1 << 14)
#define MEA_MAGIC_LAST_CHAR   0xb2221ca1
#define MEA_MAGIC_ALL_CHARS   0xb222a11c
#define MEA_MAGIC_HASH_SEGMENT   0xb222a11b
#define MAX_HASH_SIZE_32   0x7fffffffUL
#define MAX_HASH_SIZE   0x7fffffffffffffffULL
#define MAX_HASH_HIGHEST_BIT   0x1000000000000000ULL
#define LOV_MIN_STRIPE_BITS   16
#define LOV_MIN_STRIPE_SIZE   (1<<LOV_MIN_STRIPE_BITS)
#define LOV_MAX_STRIPE_COUNT   160
#define LOV_V1_INSANE_STRIPE_COUNT   65532
#define LOV_MAX_UUID_BUFFER_SIZE   8192
#define LOV_DESC_MAGIC   0xB0CCDE5C
#define ld_magic   ld_active_tgt_count
#define LDLM_FIRST_OPC   LDLM_ENQUEUE
#define RES_NAME_SIZE   4
#define LCK_MODE_NUM   8
#define LDLM_MIN_TYPE   LDLM_PLAIN
#define LDLM_LOCKREQ_HANDLES   2
#define LDLM_ENQUEUE_CANCEL_OFF   1
#define ldlm_request_bufsize(count, type)
#define MGS_FIRST_OPC   MGS_CONNECT
#define MGS_PARAM_MAXLEN   1024
#define KEY_SET_INFO   "set_info"
#define MTI_NAME_MAXLEN   64
#define MTI_PARAM_MAXLEN   4096
#define MTI_NIDS_MAX   32
#define CM_START   0x01
#define CM_END   0x02
#define CM_SKIP   0x04
#define CM_UPGRADE146   0x08
#define CM_EXCLUDE   0x10
#define CM_START_SKIP   (CM_START | CM_SKIP)
#define OBD_FIRST_OPC   OBD_PING
#define CATLIST   "CATALOGS"
 Records written to the CATALOGS list.
#define LLOG_OP_MAGIC   0x10600000
#define LLOG_OP_MASK   0xfff00000
#define LLOG_REC_HDR_NEEDS_SWABBING(r)
#define CHANGELOG_MAGIC   0xca103000
#define CHANGELOG_MINMASK   (1 << CL_MARK)
 changelog_rec_type's that can't be masked
#define CHANGELOG_ALLMASK   0XFFFFFFFF
 bits covering all changelog_rec_type's
#define CHANGELOG_DEFMASK   CHANGELOG_ALLMASK
 default changelog_rec_type mask
#define CHANGELOG_CATALOG   "changelog_catalog"
#define CHANGELOG_USER_PREFIX   "cl"
#define LLOG_CHUNK_SIZE   8192
#define LLOG_HEADER_SIZE   (96)
#define LLOG_BITMAP_BYTES   (LLOG_CHUNK_SIZE - LLOG_HEADER_SIZE)
#define LLOG_MIN_REC_SIZE   (24)
#define LLOG_F_ZAP_WHEN_EMPTY   0x1
#define LLOG_F_IS_CAT   0x2
#define LLOG_F_IS_PLAIN   0x4
#define LLOG_BITMAP_SIZE(llh)
#define o_dirty   o_blocks
#define o_undirty   o_mode
#define o_dropped   o_misc
#define o_cksum   o_nlink
#define QDATA_IS_GRP(qdata)   ((qdata)->qd_flags & LQUOTA_FLAGS_GRP)
#define QDATA_IS_BLK(qdata)   ((qdata)->qd_flags & LQUOTA_FLAGS_BLK)
#define QDATA_IS_ADJBLK(qdata)   ((qdata)->qd_flags & LQUOTA_FLAGS_ADJBLK)
#define QDATA_IS_ADJINO(qdata)   ((qdata)->qd_flags & LQUOTA_FLAGS_ADJINO)
#define QDATA_IS_CHANGE_QS(qdata)   ((qdata)->qd_flags & LQUOTA_FLAGS_CHG_QS)
#define QDATA_SET_GRP(qdata)   ((qdata)->qd_flags |= LQUOTA_FLAGS_GRP)
#define QDATA_SET_BLK(qdata)   ((qdata)->qd_flags |= LQUOTA_FLAGS_BLK)
#define QDATA_SET_ADJBLK(qdata)   ((qdata)->qd_flags |= LQUOTA_FLAGS_ADJBLK)
#define QDATA_SET_ADJINO(qdata)   ((qdata)->qd_flags |= LQUOTA_FLAGS_ADJINO)
#define QDATA_SET_CHANGE_QS(qdata)   ((qdata)->qd_flags |= LQUOTA_FLAGS_CHG_QS)
#define QDATA_CLR_GRP(qdata)   ((qdata)->qd_flags &= ~LQUOTA_FLAGS_GRP)
#define QDATA_CLR_CHANGE_QS(qdata)   ((qdata)->qd_flags &= ~LQUOTA_FLAGS_CHG_QS)
#define QUOTA_FIRST_OPC   QUOTA_DQACQ
#define QUOTA_REQUEST   1
#define QUOTA_REPLY   0
#define QUOTA_EXPORT   1
#define QUOTA_IMPORT   0
#define QUOTA_RET_OK   0
 return successfully
#define QUOTA_RET_NOQUOTA   1
 not support quota
#define QUOTA_RET_NOLIMIT   2
 quota limit isn't set
#define QUOTA_RET_ACQUOTA   4
 need to acquire extra quota
#define CAPA_HMAC_MAX_LEN   64
#define CAPA_HMAC_KEY_MAX_LEN   56
#define CAPA_OPC_OSS_RW   (CAPA_OPC_OSS_READ | CAPA_OPC_OSS_WRITE)
#define CAPA_OPC_MDS_ONLY
#define CAPA_OPC_OSS_ONLY
#define CAPA_OPC_MDS_DEFAULT   ~CAPA_OPC_OSS_ONLY
#define CAPA_OPC_OSS_DEFAULT   ~(CAPA_OPC_MDS_ONLY | CAPA_OPC_OSS_ONLY)
#define CAPA_FL_MASK   0x00ffffff
#define CAPA_HMAC_ALG_MASK   0xff000000
#define LINK_EA_MAGIC   0x11EAF1DFUL
 The link ea holds 1 link_ea_entry for each hardlink.

Typedefs

typedef __u32 mdsno_t
typedef __u64 seqno_t
typedef __u64 obd_id
typedef __u64 obd_gr
typedef __u64 obd_time
typedef __u64 obd_size
typedef __u64 obd_off
typedef __u64 obd_blocks
typedef __u64 obd_valid
typedef __u32 obd_blksize
typedef __u32 obd_mode
typedef __u32 obd_uid
typedef __u32 obd_gid
typedef __u32 obd_flag
typedef __u32 obd_count
typedef enum mds_reint_t mdt_reint_t

Enumerations

enum  cksum_type_t { OBD_CKSUM_CRC32 = 0x00000001, OBD_CKSUM_ADLER = 0x00000002 }
enum  ost_cmd_t {
  OST_REPLY = 0, OST_GETATTR = 1, OST_SETATTR = 2, OST_READ = 3,
  OST_WRITE = 4, OST_CREATE = 5, OST_DESTROY = 6, OST_GET_INFO = 7,
  OST_CONNECT = 8, OST_DISCONNECT = 9, OST_PUNCH = 10, OST_OPEN = 11,
  OST_CLOSE = 12, OST_STATFS = 13, OST_SYNC = 16, OST_SET_INFO = 17,
  OST_QUOTACHECK = 18, OST_QUOTACTL = 19, OST_QUOTA_ADJUST_QUNIT = 20, OST_LAST_OPC
}
enum  obdo_flags {
  OBD_FL_INLINEDATA = 0x00000001, OBD_FL_OBDMDEXISTS = 0x00000002, OBD_FL_DELORPHAN = 0x00000004, OBD_FL_NORPC = 0x00000008,
  OBD_FL_IDONLY = 0x00000010, OBD_FL_RECREATE_OBJS = 0x00000020, OBD_FL_DEBUG_CHECK = 0x00000040, OBD_FL_NO_USRQUOTA = 0x00000100,
  OBD_FL_NO_GRPQUOTA = 0x00000200, OBD_FL_CREATE_CROW = 0x00000400, OBD_FL_SRVLOCK = 0x00000800, OBD_FL_CKSUM_CRC32 = 0x00001000,
  OBD_FL_CKSUM_ADLER = 0x00002000, OBD_FL_CKSUM_RSVD1 = 0x00004000, OBD_FL_CKSUM_RSVD2 = 0x00008000, OBD_FL_CKSUM_RSVD3 = 0x00010000,
  OBD_FL_SHRINK_GRANT = 0x00020000, OBD_FL_CKSUM_ALL = OBD_FL_CKSUM_CRC32 | OBD_FL_CKSUM_ADLER, OBD_FL_LOCAL_MASK = 0xF0000000, OBD_FL_TEMPORARY = 0x10000000
}
enum  mds_cmd_t {
  MDS_GETATTR = 33, MDS_GETATTR_NAME = 34, MDS_CLOSE = 35, MDS_REINT = 36,
  MDS_READPAGE = 37, MDS_CONNECT = 38, MDS_DISCONNECT = 39, MDS_GETSTATUS = 40,
  MDS_STATFS = 41, MDS_PIN = 42, MDS_UNPIN = 43, MDS_SYNC = 44,
  MDS_DONE_WRITING = 45, MDS_SET_INFO = 46, MDS_QUOTACHECK = 47, MDS_QUOTACTL = 48,
  MDS_GETXATTR = 49, MDS_SETXATTR = 50, MDS_WRITEPAGE = 51, MDS_IS_SUBDIR = 52,
  MDS_GET_INFO = 53, MDS_LAST_OPC
}
enum  mds_reint_t {
  REINT_SETATTR = 1, REINT_CREATE = 2, REINT_LINK = 3, REINT_UNLINK = 4,
  REINT_RENAME = 5, REINT_OPEN = 6, REINT_SETXATTR = 7, REINT_MAX
}
enum  md_op_flags {
  MF_SOM_CHANGE = (1 << 0), MF_EPOCH_OPEN = (1 << 1), MF_EPOCH_CLOSE = (1 << 2), MF_MDC_CANCEL_FID1 = (1 << 3),
  MF_MDC_CANCEL_FID2 = (1 << 4), MF_MDC_CANCEL_FID3 = (1 << 5), MF_MDC_CANCEL_FID4 = (1 << 6), MF_SOM_AU = (1 << 7),
  MF_GETATTR_LOCK = (1 << 8)
}
enum  {
  CFS_SETUID_PERM = 0x01, CFS_SETGID_PERM = 0x02, CFS_SETGRP_PERM = 0x04, CFS_RMTACL_PERM = 0x08,
  CFS_RMTOWN_PERM = 0x10
}
enum  {
  MDS_CHECK_SPLIT = 1 << 0, MDS_CROSS_REF = 1 << 1, MDS_VTX_BYPASS = 1 << 2, MDS_PERM_BYPASS = 1 << 3,
  MDS_SOM = 1 << 4, MDS_QUOTA_IGNORE = 1 << 5, MDS_CLOSE_CLEANUP = 1 << 6
}
enum  fld_rpc_opc { FLD_QUERY = 900, FLD_LAST_OPC, FLD_FIRST_OPC = FLD_QUERY }
enum  seq_rpc_opc { SEQ_QUERY = 700, SEQ_LAST_OPC, SEQ_FIRST_OPC = SEQ_QUERY }
enum  seq_op { SEQ_ALLOC_SUPER = 0, SEQ_ALLOC_META = 1 }
enum  ldlm_cmd_t {
  LDLM_ENQUEUE = 101, LDLM_CONVERT = 102, LDLM_CANCEL = 103, LDLM_BL_CALLBACK = 104,
  LDLM_CP_CALLBACK = 105, LDLM_GL_CALLBACK = 106, LDLM_SET_INFO = 107, LDLM_LAST_OPC
}
enum  ldlm_mode_t {
  LCK_MINMODE = 0, LCK_EX = 1, LCK_PW = 2, LCK_PR = 4,
  LCK_CW = 8, LCK_CR = 16, LCK_NL = 32, LCK_GROUP = 64,
  LCK_COS = 128, LCK_MAXMODE
}
enum  ldlm_type_t {
  LDLM_PLAIN = 10, LDLM_EXTENT = 11, LDLM_FLOCK = 12, LDLM_IBITS = 13,
  LDLM_MAX_TYPE
}
enum  mgs_cmd_t {
  MGS_CONNECT = 250, MGS_DISCONNECT, MGS_EXCEPTION, MGS_TARGET_REG,
  MGS_TARGET_DEL, MGS_SET_INFO, MGS_LAST_OPC
}
enum  obd_cmd_t { OBD_PING = 400, OBD_LOG_CANCEL, OBD_QC_CALLBACK, OBD_LAST_OPC }
enum  llog_op_type {
  LLOG_PAD_MAGIC = LLOG_OP_MAGIC | 0x00000, OST_SZ_REC = LLOG_OP_MAGIC | 0x00f00, OST_RAID1_REC = LLOG_OP_MAGIC | 0x01000, MDS_UNLINK_REC = LLOG_OP_MAGIC | 0x10000 | (MDS_REINT << 8) | REINT_UNLINK,
  MDS_SETATTR_REC = LLOG_OP_MAGIC | 0x10000 | (MDS_REINT << 8) | REINT_SETATTR, MDS_SETATTR64_REC = LLOG_OP_MAGIC | 0x90000 | (MDS_REINT << 8) | REINT_SETATTR, OBD_CFG_REC = LLOG_OP_MAGIC | 0x20000, PTL_CFG_REC = LLOG_OP_MAGIC | 0x30000,
  LLOG_GEN_REC = LLOG_OP_MAGIC | 0x40000, LLOG_JOIN_REC = LLOG_OP_MAGIC | 0x50000, CHANGELOG_REC = LLOG_OP_MAGIC | 0x60000, CHANGELOG_USER_REC = LLOG_OP_MAGIC | 0x70000,
  LLOG_HDR_MAGIC = LLOG_OP_MAGIC | 0x45539, LLOG_LOGID_MAGIC = LLOG_OP_MAGIC | 0x4553b
}
enum  llogd_rpc_ops {
  LLOG_ORIGIN_HANDLE_CREATE = 501, LLOG_ORIGIN_HANDLE_NEXT_BLOCK = 502, LLOG_ORIGIN_HANDLE_READ_HEADER = 503, LLOG_ORIGIN_HANDLE_WRITE_REC = 504,
  LLOG_ORIGIN_HANDLE_CLOSE = 505, LLOG_ORIGIN_CONNECT = 506, LLOG_CATINFO = 507, LLOG_ORIGIN_HANDLE_PREV_BLOCK = 508,
  LLOG_ORIGIN_HANDLE_DESTROY = 509, LLOG_LAST_OPC, LLOG_FIRST_OPC = LLOG_ORIGIN_HANDLE_CREATE
}
 llog protocol
enum  quota_cmd_t { QUOTA_DQACQ = 601, QUOTA_DQREL = 602, QUOTA_LAST_OPC }
enum  sec_cmd_t {
  SEC_CTX_INIT = 801, SEC_CTX_INIT_CONT = 802, SEC_CTX_FINI = 803, SEC_LAST_OPC,
  SEC_FIRST_OPC = SEC_CTX_INIT
}
enum  {
  CAPA_OPC_BODY_WRITE = 1<<0, CAPA_OPC_BODY_READ = 1<<1, CAPA_OPC_INDEX_LOOKUP = 1<<2, CAPA_OPC_INDEX_INSERT = 1<<3,
  CAPA_OPC_INDEX_DELETE = 1<<4, CAPA_OPC_OSS_WRITE = 1<<5, CAPA_OPC_OSS_READ = 1<<6, CAPA_OPC_OSS_TRUNC = 1<<7,
  CAPA_OPC_OSS_DESTROY = 1<<8, CAPA_OPC_META_WRITE = 1<<9, CAPA_OPC_META_READ = 1<<10
}
 lustre_capa::lc_opc More...
enum  { CAPA_HMAC_ALG_SHA1 = 1, CAPA_HMAC_ALG_MAX }

Functions

void lustre_swab_ptlrpc_body (struct ptlrpc_body *pb)
void lustre_swab_connect (struct obd_connect_data *ocd)
void lustre_swab_obd_statfs (struct obd_statfs *os)
void lustre_swab_obd_ioobj (struct obd_ioobj *ioo)
void lustre_swab_niobuf_remote (struct niobuf_remote *nbr)
void lustre_swab_ost_lvb (struct ost_lvb *)
void lustre_swab_generic_32s (__u32 *val)
void lustre_swab_ll_fid (struct ll_fid *fid)
void lustre_swab_mds_status_req (struct mds_status_req *r)
void lustre_swab_mds_body (struct mds_body *b)
void lustre_swab_mdt_body (struct mdt_body *b)
void lustre_swab_mdt_ioepoch (struct mdt_ioepoch *b)
void lustre_swab_obd_quotactl (struct obd_quotactl *q)
void lustre_swab_quota_adjust_qunit (struct quota_adjust_qunit *q)
void lustre_swab_mds_remote_perm (struct mds_remote_perm *p)
void lustre_swab_mdt_remote_perm (struct mdt_remote_perm *p)
void lustre_swab_mdt_rec_setattr (struct mdt_rec_setattr *sa)
void lustre_swab_mdt_rec_reint (struct mdt_rec_reint *rr)
void lustre_swab_lmv_desc (struct lmv_desc *ld)
void lustre_swab_lmv_stripe_md (struct lmv_stripe_md *mea)
void lustre_swab_md_fld (struct md_fld *mf)
void lustre_swab_lov_desc (struct lov_desc *ld)
void lustre_swab_ldlm_res_id (struct ldlm_res_id *id)
void lustre_swab_ldlm_policy_data (ldlm_policy_data_t *d)
void lustre_swab_ldlm_intent (struct ldlm_intent *i)
void lustre_swab_ldlm_resource_desc (struct ldlm_resource_desc *r)
void lustre_swab_ldlm_lock_desc (struct ldlm_lock_desc *l)
void lustre_swab_ldlm_request (struct ldlm_request *rq)
void lustre_swab_ldlm_reply (struct ldlm_reply *r)
void lustre_swab_mgs_target_info (struct mgs_target_info *oinfo)
void lustre_swab_cfg_marker (struct cfg_marker *marker, int swab, int size)
void lustre_swab_obdo (struct obdo *o)
void lustre_swab_ost_body (struct ost_body *b)
void lustre_swab_ost_last_id (obd_id *id)
void lustre_swab_fiemap (struct ll_user_fiemap *fiemap)
void lustre_swab_lov_user_md_v1 (struct lov_user_md_v1 *lum)
void lustre_swab_lov_user_md_v3 (struct lov_user_md_v3 *lum)
void lustre_swab_lov_user_md_objects (struct lov_user_ost_data *lod, int stripe_count)
void lustre_swab_lov_mds_md (struct lov_mds_md *lmm)
void lustre_swab_llogd_body (struct llogd_body *d)
void lustre_swab_llog_hdr (struct llog_log_hdr *h)
void lustre_swab_llogd_conn_body (struct llogd_conn_body *d)
void lustre_swab_llog_rec (struct llog_rec_hdr *rec, struct llog_rec_tail *tail)
void lustre_swab_lustre_cfg (struct lustre_cfg *lcfg)
void dump_rniobuf (struct niobuf_remote *rnb)
void dump_ioo (struct obd_ioobj *nb)
void dump_obdo (struct obdo *oa)
void dump_ost_body (struct ost_body *ob)
void dump_rcs (__u32 *rc)
void lustre_swab_qdata (struct qunit_data *d)
qunit_data * quota_get_qdata (void *req, int is_req, int is_exp)
int quota_copy_qdata (void *request, struct qunit_data *qdata, int is_req, int is_exp)
void lustre_swab_lustre_capa (struct lustre_capa *c)
void lustre_swab_lustre_capa_key (struct lustre_capa_key *k)
void lustre_swab_fid2path (struct getinfo_fid2path *gf)
void lustre_swab_kuch (struct kuc_hdr *)

Variables

llog_logid packed
 Identifier for a single log object.
llog_catid packed
llog_logid_rec packed
llog_create_rec packed
llog_orphan_rec packed
llog_unlink_rec packed
llog_setattr_rec packed
llog_setattr64_rec packed
llog_size_change_rec packed
changelog_setinfo packed
llog_changelog_rec packed
 changelog record
llog_changelog_user_rec packed
llog_gen packed
llog_log_hdr packed
llog_cookie packed
 log cookies are used to reference a specific log file and a record therein
llogd_body packed
llogd_conn_body packed
lustre_capa packed
lustre_capa_key packed
link_ea_entry packed
 Hardlink data is name and parent fid.
getinfo_fid2path packed
 fid2path request/reply structure

Detailed Description

Lustre wire protocol definitions.

ALL structs passing over the wire should be declared here. Structs that are used in interfaces with userspace should go in lustre_user.h.

All structs being declared here should be built from simple fixed-size types (__u8, __u16, __u32, __u64) or be built from other types or structs also declared in this file. Similarly, all flags and magic values in those structs should also be declared here. This ensures that the Lustre wire protocol is not influenced by external dependencies.

The only other acceptable items in this file are VERY SIMPLE accessor functions to avoid callers grubbing inside the structures, and the prototypes of the swabber functions for each struct. Nothing that depends on external functions or definitions should be in here.

Structs must be properly aligned to put 64-bit values on an 8-byte boundary. Any structs being added here must also be added to utils/wirecheck.c and "make newwiretest" run to regenerate the utils/wiretest.c sources. This allows us to verify that wire structs have the proper alignment/size on all architectures.

DO NOT CHANGE any of the structs, flags, values declared here and used in released Lustre versions. Some structs may have padding fields that can be used. Some structs might allow addition at the end (verify this in the code to ensure that new/old clients that see this larger struct do not fail, otherwise you need to implement protocol compatibility).

We assume all nodes are either little-endian or big-endian, and we always send messages in the sender's native format. The receiver detects the message format by checking the 'magic' field of the message (see lustre_msg_swabbed() below).

Each wire type has corresponding 'lustre_swab_xxxtypexxx()' routines, implemented either here, inline (trivial implementations) or in ptlrpc/pack_generic.c. These 'swabbers' convert the type from "other" endian, in-place in the message buffer.

A swabber takes a single pointer argument. The caller must already have verified that the length of the message buffer >= sizeof (type).

For variable length types, a second 'lustre_swab_v_xxxtypexxx()' routine may be defined that swabs just the variable part, after the caller has verified that the message buffer is large enough.


Define Documentation

#define CAPA_OPC_MDS_ONLY

Value:

#define CAPA_OPC_OSS_ONLY

Value:

#define ldlm_request_bufsize ( count,
type   ) 

Value:

({                                                                      \
        int _avail = LDLM_LOCKREQ_HANDLES;                              \
        _avail -= (type == LDLM_ENQUEUE ? LDLM_ENQUEUE_CANCEL_OFF : 0); \
        sizeof(struct ldlm_request) +                                   \
        (count > _avail ? count - _avail : 0) *                         \
        sizeof(struct lustre_handle);                                   \
})

#define LLOG_BITMAP_SIZE ( llh   ) 

Value:

((llh->llh_hdr.lrh_len -         \
                                 llh->llh_bitmap_offset -       \
                                 sizeof(llh->llh_tail)) * 8)

#define LLOG_REC_HDR_NEEDS_SWABBING (  ) 

Value:

(((r)->lrh_type & __swab32(LLOG_OP_MASK)) ==                    \
         __swab32(LLOG_OP_MAGIC) ||                                     \
         (((r)->lrh_type == 0) && ((r)->lrh_len > LLOG_CHUNK_SIZE)))

#define MDT_CONNECT_SUPPORTED

Value:

(OBD_CONNECT_RDONLY | OBD_CONNECT_VERSION | \
                                OBD_CONNECT_ACL | OBD_CONNECT_XATTR | \
                                OBD_CONNECT_IBITS | OBD_CONNECT_JOIN | \
                                OBD_CONNECT_NODEVOH |/* OBD_CONNECT_ATTRFID |*/\
                                OBD_CONNECT_CANCELSET | OBD_CONNECT_AT | \
                                OBD_CONNECT_RMT_CLIENT | \
                                OBD_CONNECT_RMT_CLIENT_FORCE | \
                                OBD_CONNECT_MDS_CAPA | OBD_CONNECT_OSS_CAPA | \
                                OBD_CONNECT_MDS_MDS | OBD_CONNECT_FID | \
                                LRU_RESIZE_CONNECT_FLAG | OBD_CONNECT_VBR | \
                                OBD_CONNECT_LOV_V3 | OBD_CONNECT_SOM)

#define OBD_MD_FLGETATTR

Value:

(OBD_MD_FLID    | OBD_MD_FLATIME | OBD_MD_FLMTIME | \
                          OBD_MD_FLCTIME | OBD_MD_FLSIZE  | OBD_MD_FLBLKSZ | \
                          OBD_MD_FLMODE  | OBD_MD_FLTYPE  | OBD_MD_FLUID   | \
                          OBD_MD_FLGID   | OBD_MD_FLFLAGS | OBD_MD_FLNLINK | \
                          OBD_MD_FLGENER | OBD_MD_FLRDEV  | OBD_MD_FLGROUP)

#define OBD_OCD_VERSION ( major,
minor,
patch,
fix   ) 

Value:

(((major)<<24) + ((minor)<<16) +\
                                                ((patch)<<8) + (fix))

#define OST_CONNECT_SUPPORTED

Value:

(OBD_CONNECT_SRVLOCK | OBD_CONNECT_GRANT | \
                                OBD_CONNECT_REQPORTAL | OBD_CONNECT_VERSION | \
                                OBD_CONNECT_TRUNCLOCK | OBD_CONNECT_INDEX | \
                                OBD_CONNECT_BRW_SIZE | OBD_CONNECT_QUOTA64 | \
                                OBD_CONNECT_CANCELSET | OBD_CONNECT_AT | \
                                LRU_RESIZE_CONNECT_FLAG | OBD_CONNECT_CKSUM | \
                                OBD_CONNECT_CHANGE_QS | \
                                OBD_CONNECT_OSS_CAPA  | OBD_CONNECT_RMT_CLIENT | \
                                OBD_CONNECT_RMT_CLIENT_FORCE | OBD_CONNECT_VBR | \
                                OBD_CONNECT_MDS | OBD_CONNECT_SKIP_ORPHAN | \
                                OBD_CONNECT_GRANT_SHRINK)

#define PRANGE ( range   ) 

Value:

(range)->lsr_start, \
        (range)->lsr_end,    \
        (range)->lsr_mdt

#define QCTL_COPY ( out,
in   ) 

Value:

do {                                    \
        Q_COPY(out, in, qc_cmd);        \
        Q_COPY(out, in, qc_type);       \
        Q_COPY(out, in, qc_id);         \
        Q_COPY(out, in, qc_stat);       \
        Q_COPY(out, in, qc_dqinfo);     \
        Q_COPY(out, in, qc_dqblk);      \
} while (0)


Enumeration Type Documentation

anonymous enum

lustre_capa::lc_opc

Enumerator:
CAPA_OPC_BODY_WRITE  write object data
CAPA_OPC_BODY_READ  read object data
CAPA_OPC_INDEX_LOOKUP  lookup object fid
CAPA_OPC_INDEX_INSERT  insert object fid
CAPA_OPC_INDEX_DELETE  delete object fid
CAPA_OPC_OSS_WRITE  write oss object data
CAPA_OPC_OSS_READ  read oss object data
CAPA_OPC_OSS_TRUNC  truncate oss object
CAPA_OPC_OSS_DESTROY  destroy oss object
CAPA_OPC_META_WRITE  write object meta data
CAPA_OPC_META_READ  read object meta data

anonymous enum

Enumerator:
CAPA_HMAC_ALG_SHA1  sha1 algorithm


Variable Documentation

struct link_ea_entry packed

Hardlink data is name and parent fid.

Stored in this crazy struct for maximum packing and endian-neutrality


Generated on Mon Apr 12 04:18:21 2010 for Lustre 1.10.0.40-0-g9a80ff7 by doxygen 1.4.7

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