Data Structures | |
| struct | md_ucred |
| struct | md_capainfo |
| there are at most 5 fids in one operation, see rename, NOTE the last one is a temporary one used for is_subdir() More... | |
| struct | md_quota |
| struct | md_hsm |
| struct | md_som_data |
| struct | md_attr |
| struct | md_op_spec |
| Additional parameters for create. More... | |
| struct | md_object_operations |
| Operations implemented for each md object (both directory and leaf). More... | |
| struct | md_dir_operations |
| Operations implemented for each directory object. More... | |
| struct | md_device_operations |
| struct | md_upcall |
| struct | md_device |
| struct | md_object |
| struct | md_site |
| md-server site. More... | |
| struct | lu_local_obj_desc |
| Structure to hold object information. More... | |
Defines | |
| #define | ma_hsm_flags ma_hsm.mh_flags |
| #define | HSM_FLAGS_MASK 0 |
| #define | IOEPOCH_INVAL 0 |
Enumerations | |
| enum | { UCRED_INVALID = -1, UCRED_INIT = 0, UCRED_OLD = 1, UCRED_NEW = 2 } |
| enum | { MD_CAPAINFO_MAX = 5 } |
| enum | ma_valid { MA_INODE = (1 << 0), MA_LOV = (1 << 1), MA_COOKIE = (1 << 2), MA_FLAGS = (1 << 3), MA_LMV = (1 << 4), MA_ACL_DEF = (1 << 5), MA_LOV_DEF = (1 << 6), MA_HSM = (1 << 8), MA_SOM = (1 << 9) } |
| metadata attributes | |
| enum | mdl_mode_t { MDL_MINMODE = 0, MDL_EX = 1, MDL_PW = 2, MDL_PR = 4, MDL_CW = 8, MDL_CR = 16, MDL_NL = 32, MDL_GROUP = 64, MDL_MAXMODE } |
| enum | mdl_type_t { MDT_NUL_LOCK = 0, MDT_REG_LOCK = (1 << 0), MDT_PDO_LOCK = (1 << 1) } |
| enum | md_upcall_event { MD_LOV_SYNC = (1 << 0), MD_NO_TRANS = (1 << 1), MD_LOV_CONFIG = (1 << 2), MD_LOV_QUOTA = (1 << 3) } |
Functions | |
| md_ucred * | md_ucred (const struct lu_env *env) |
| Implemented in mdd/mdd_handler.c. | |
| md_capainfo * | md_capainfo (const struct lu_env *env) |
| md_quota * | md_quota (const struct lu_env *env) |
| md_object * | llo_store_resolve (const struct lu_env *env, struct md_device *md, struct dt_device *dt, const char *path, struct lu_fid *fid) |
| Resolve given path, on success function returns md object for last directory and fid points to its fid. | |
| md_object * | llo_store_open (const struct lu_env *env, struct md_device *md, struct dt_device *dt, const char *dirname, const char *objname, struct lu_fid *fid) |
| Returns md object for objname in given dirname. | |
| md_object * | llo_store_create_index (const struct lu_env *env, struct md_device *md, struct dt_device *dt, const char *dirname, const char *objname, const struct lu_fid *fid, const struct dt_index_features *feat) |
| Create md object, object could be diretcory or special index defined by feat in directory. | |
| md_object * | llo_store_create (const struct lu_env *env, struct md_device *md, struct dt_device *dt, const char *dirname, const char *objname, const struct lu_fid *fid) |
| Create md object for regular file in directory. | |
| void | llo_local_obj_register (struct lu_local_obj_desc *) |
| Register object for 'create on first mount' facility. | |
| void | llo_local_obj_unregister (struct lu_local_obj_desc *) |
| int | llo_local_objects_setup (const struct lu_env *env, struct md_device *md, struct dt_device *dt) |
| Created registed objects. | |
Meta-data objects implement namespace operations: you can link, unlink them, and treat them as directories.
Examples: mdt, cmm, and mdt are implementations of md interface.
| enum md_upcall_event |
| void llo_local_obj_register | ( | struct lu_local_obj_desc * | llod | ) |
Register object for 'create on first mount' facility.
objects are created in order of registration.
| struct md_object* llo_store_create | ( | const struct lu_env * | env, | |
| struct md_device * | md, | |||
| struct dt_device * | dt, | |||
| const char * | dirname, | |||
| const char * | objname, | |||
| const struct lu_fid * | fid | |||
| ) |
Create md object for regular file in directory.
| md | device | |
| dirname | parent directory | |
| objname | file name | |
| fid | object fid. |
| struct md_object* llo_store_create_index | ( | const struct lu_env * | env, | |
| struct md_device * | md, | |||
| struct dt_device * | dt, | |||
| const char * | dirname, | |||
| const char * | objname, | |||
| const struct lu_fid * | fid, | |||
| const struct dt_index_features * | feat | |||
| ) |
Create md object, object could be diretcory or special index defined by feat in directory.
| md | device | |
| dirname | parent directory | |
| objname | file name | |
| fid | object fid | |
| feat | index features required for directory create |
| struct md_ucred* md_ucred | ( | const struct lu_env * | env | ) |
Implemented in mdd/mdd_handler.c.
XXX should be moved into separate .h/.c together with all md security related definitions.