#include <cl_object.h>
Data Fields | |
| cfs_atomic_t | cp_ref |
| Reference counter. | |
| cl_object * | cp_obj |
| An object this page is a part of. | |
| pgoff_t | cp_index |
| Logical page index within the object. | |
| cfs_list_t | cp_layers |
| List of slices. | |
| cl_page * | cp_parent |
| Parent page, NULL for top-level page. | |
| cl_page * | cp_child |
| Lower-layer page. | |
| enum cl_page_state | cp_state |
| Page state. | |
| cfs_list_t | cp_batch |
| Linkage of pages within some group. | |
| cfs_mutex_t | cp_mutex |
| Mutex serializing membership of a page in a batch. | |
| cfs_list_t | cp_flight |
| Linkage of pages within cl_req. | |
| int | cp_error |
| Transfer error. | |
| enum cl_page_type | cp_type |
| Page type. | |
| cl_io * | cp_owner |
| Owning IO in cl_page_state::CPS_OWNED state. | |
| cfs_task_t * | cp_task |
| Debug information, the task is owning the page. | |
| cl_req * | cp_req |
| Owning IO request in cl_page_state::CPS_PAGEOUT and cl_page_state::CPS_PAGEIN states. | |
| lu_ref | cp_reference |
| List of references to this page, for debugging. | |
| lu_ref_link * | cp_obj_ref |
| Link to an object, for debugging. | |
| lu_ref_link * | cp_queue_ref |
| Link to a queue, for debugging. | |
| unsigned | cp_flags |
| Per-page flags from enum cl_page_flags. | |
| cl_sync_io * | cp_sync_io |
| Assigned if doing a sync_io. | |
| cfs_list_t cl_page::cp_batch |
Linkage of pages within some group.
Protected by cl_page::cp_mutex.
| struct cl_page* cl_page::cp_child |
Lower-layer page.
NULL for bottommost page. Immutable after creation.
| unsigned cl_page::cp_flags |
Per-page flags from enum cl_page_flags.
Protected by a VM lock.
| pgoff_t cl_page::cp_index |
Logical page index within the object.
Immutable after creation.
| cfs_list_t cl_page::cp_layers |
List of slices.
Immutable after creation.
| struct cl_object* cl_page::cp_obj |
An object this page is a part of.
Immutable after creation.
| struct cl_io* cl_page::cp_owner |
Owning IO in cl_page_state::CPS_OWNED state.
Sub-page can be owned by sub-io. Protected by a VM lock.
| struct cl_page* cl_page::cp_parent |
Parent page, NULL for top-level page.
Immutable after creation.
| struct cl_req* cl_page::cp_req |
Owning IO request in cl_page_state::CPS_PAGEOUT and cl_page_state::CPS_PAGEIN states.
This field is maintained only in the top-level pages. Protected by a VM lock.
Page state.
This field is const to avoid accidental update, it is modified only internally within cl_page.c. Protected by a VM lock.
Page type.
Only CPT_TRANSIENT is used so far. Immutable after creation.