Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 6 files:
- drivers/block/rbd.c
- fs/ceph/file.c
- net/ceph/messenger.c, line 1879
- net/ceph/messenger_v2.c
- net/ceph/osd_client.c
- net/ceph/pagevec.c
Smatch caller information:
net/ceph/messenger_v2.c ceph_con_v2_reset_protocol() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pages | 1-u64max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | num_pages | unit_array_size |
| LOCK2 | &con->mutex | ||
| TYPE_LOCK | (struct ceph_connection)->mutex |
net/ceph/messenger_v2.c ceph_con_v2_reset_protocol() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pages | 1-u64max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | num_pages | unit_array_size |
| LOCK2 | &con->mutex | ||
| TYPE_LOCK | (struct ceph_connection)->mutex |
net/ceph/messenger_v2.c decrypt_tail() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| UNITS | 1 | num_pages | unit_array_size |
net/ceph/messenger_v2.c finish_message() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pages | 1-u64max |
| NOCHECK_CALL | |||
| UNITS | 1 | num_pages | unit_array_size |
| LOCK2 | &con->mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct ceph_connection)->mutex |
net/ceph/pagevec.c ceph_alloc_page_vector() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pages | 4096-ptr_max |
| PARAM_VALUE | 1 | num_pages | 0-s32max |
| BUF_SIZE | 0 | pages | 0-u64max |
| CAPPED_DATA | 1 | num_pages | 1 |
| DATA_SOURCE | 0 | pages | r _kmalloc_noprof |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | num_pages | unit_array_size |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &mdsc->pool_perm_rwsem | ||
| HALF_LOCKED2 | &obj_req->state_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &rbd_dev->lock_rwsem |
net/ceph/messenger.c ceph_msg_data_destroy() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | pages | 1-8388608 |
| DATA_SOURCE | 1 | num_pages | r calc_pages_for |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | pages | unit_page |
| HALF_LOCKED2 | &con->mutex | ||
| HALF_LOCKED2 | &mdsc->mutex | ||
| HALF_LOCKED2 | &mdsc->snap_rwsem | ||
| HALF_LOCKED2 | &osd->lock | ||
| HALF_LOCKED2 | &osdc->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &session->s_mutex |
drivers/block/rbd.c __rbd_object_map_load() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pages | 16,4096-ptr_max |
| BUF_SIZE | 0 | pages | s32min-s32max |
| CAPPED_DATA | 1 | num_pages | 1 |
| DATA_SOURCE | 0 | pages | r ceph_alloc_page_vector |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &rbd_dev->header_rwsem | ||
| HALF_LOCKED2 | &rbd_dev->lock_rwsem |
drivers/block/rbd.c rbd_request_lock() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pages | 0 |
| PARAM_VALUE | 1 | num_pages | 0 |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
fs/ceph/file.c ceph_sync_write() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pages | 16,4096-ptr_max |
| BUF_SIZE | 0 | pages | s32min-s32max |
| CAPPED_DATA | 1 | num_pages | 1 |
| DATA_SOURCE | 0 | pages | r ceph_alloc_page_vector |
| DATA_SOURCE | 1 | num_pages | r calc_pages_for |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | num_pages | s32min-s32max[c] |
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/ceph/file.c ceph_sync_write() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pages | 16,4096-ptr_max |
| BUF_SIZE | 0 | pages | s32min-s32max |
| CAPPED_DATA | 1 | num_pages | 1 |
| DATA_SOURCE | 0 | pages | r ceph_alloc_page_vector |
| DATA_SOURCE | 1 | num_pages | r calc_pages_for |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | num_pages | s32min-s32max[c] |
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/ceph/file.c ceph_sync_write() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pages | 16,4096-ptr_max |
| BUF_SIZE | 0 | pages | s32min-s32max |
| CAPPED_DATA | 1 | num_pages | 1 |
| DATA_SOURCE | 0 | pages | r ceph_alloc_page_vector |
| DATA_SOURCE | 1 | num_pages | r calc_pages_for |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | num_pages | s32min-s32max[c] |
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/ceph/file.c ceph_sync_write() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pages | 16,4096-ptr_max |
| BUF_SIZE | 0 | pages | s32min-s32max |
| CAPPED_DATA | 1 | num_pages | 1 |
| DATA_SOURCE | 0 | pages | r ceph_alloc_page_vector |
| DATA_SOURCE | 1 | num_pages | r calc_pages_for |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | num_pages | s32min-s32max[c] |
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/ceph/file.c ceph_sync_write() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pages | 16,4096-ptr_max |
| BUF_SIZE | 0 | pages | s32min-s32max |
| CAPPED_DATA | 1 | num_pages | 1 |
| DATA_SOURCE | 0 | pages | r ceph_alloc_page_vector |
| DATA_SOURCE | 1 | num_pages | r calc_pages_for |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | num_pages | s32min-s32max[c] |
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/ceph/file.c ceph_sync_write() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pages | 16,4096-ptr_max |
| BUF_SIZE | 0 | pages | s32min-s32max |
| CAPPED_DATA | 1 | num_pages | 1 |
| DATA_SOURCE | 0 | pages | r ceph_alloc_page_vector |
| DATA_SOURCE | 1 | num_pages | r calc_pages_for |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | num_pages | s32min-s32max[c] |
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/ceph/file.c ceph_sync_write() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pages | 4096-ptr_max |
| BUF_SIZE | 0 | pages | s32min-s32max |
| CAPPED_DATA | 1 | num_pages | 1 |
| DATA_SOURCE | 0 | pages | r ceph_alloc_page_vector |
| DATA_SOURCE | 1 | num_pages | r calc_pages_for |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | num_pages | s32min-s32max[c] |
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/ceph/file.c ceph_sync_write() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pages | 4096-ptr_max |
| BUF_SIZE | 0 | pages | s32min-s32max |
| CAPPED_DATA | 1 | num_pages | 1 |
| DATA_SOURCE | 0 | pages | r ceph_alloc_page_vector |
| DATA_SOURCE | 1 | num_pages | r calc_pages_for |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | num_pages | s32min-s32max[c] |
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/ceph/file.c ceph_sync_write() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pages | 4096-ptr_max |
| BUF_SIZE | 0 | pages | s32min-s32max |
| CAPPED_DATA | 1 | num_pages | 1 |
| DATA_SOURCE | 0 | pages | r ceph_alloc_page_vector |
| DATA_SOURCE | 1 | num_pages | r calc_pages_for |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | num_pages | s32min-s32max[c] |
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/ceph/file.c ceph_sync_write() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pages | 16,4096-ptr_max |
| BUF_SIZE | 0 | pages | s32min-s32max |
| CAPPED_DATA | 1 | num_pages | 1 |
| DATA_SOURCE | 0 | pages | r ceph_alloc_page_vector |
| DATA_SOURCE | 1 | num_pages | r calc_pages_for |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | num_pages | s32min-s32max[c] |
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/ceph/file.c ceph_sync_write() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pages | 16,4096-ptr_max |
| BUF_SIZE | 0 | pages | s32min-s32max |
| CAPPED_DATA | 1 | num_pages | 1 |
| DATA_SOURCE | 0 | pages | r ceph_alloc_page_vector |
| DATA_SOURCE | 1 | num_pages | r calc_pages_for |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | num_pages | s32min-s32max[c] |
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/ceph/file.c ceph_sync_write() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pages | 16,4096-ptr_max |
| BUF_SIZE | 0 | pages | s32min-s32max |
| CAPPED_DATA | 1 | num_pages | 1 |
| DATA_SOURCE | 0 | pages | r ceph_alloc_page_vector |
| DATA_SOURCE | 1 | num_pages | r calc_pages_for |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | num_pages | s32min-s32max[c] |
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
net/ceph/osd_client.c ceph_osd_data_release() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | pages | 1-8388608 |
| DATA_SOURCE | 1 | num_pages | r calc_pages_for |
| NOCHECK_CALL | |||
| UNITS | 0 | pages | unit_page |
net/ceph/osd_client.c linger_release() -> ceph_release_page_vector()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pages | 1-u64max |
| PARAM_VALUE | 1 | num_pages | 1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &osdc->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &rbd_dev->watch_mutex |