Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

fs/ceph/caps.c ceph_purge_inode_cap() -> ceph_free_cap_flush()

Type Parameter Key Value
PARAM_VALUE 0 cf 4096-ptr_max
PARAM_VALUE 0 cf->is_capsnap 0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ci->i_ceph_lock
LOCK2 &mdsc->cap_dirty_lock
TYPE_LOCK (struct ceph_inode_info)->i_ceph_lock
TYPE_LOCK (struct ceph_mds_client)->cap_dirty_lock

fs/ceph/caps.c ceph_purge_inode_cap() -> ceph_free_cap_flush()

Type Parameter Key Value
PARAM_VALUE 0 cf 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ci->i_ceph_lock
TYPE_LOCK (struct ceph_inode_info)->i_ceph_lock

fs/ceph/caps.c handle_cap_flush_ack() -> ceph_free_cap_flush()

Type Parameter Key Value
PARAM_VALUE 0 cf 4096-ptr_max
PARAM_VALUE 0 cf->is_capsnap 0
NOCHECK_CALL

fs/ceph/inode.c __ceph_setattr() -> ceph_free_cap_flush()

Type Parameter Key Value
PARAM_VALUE 0 cf 4096-ptr_max
PARAM_VALUE 0 cf->ci 0
PARAM_VALUE 0 cf->is_capsnap 0
DATA_SOURCE 0 cf r ceph_alloc_cap_flush
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dentry->d_lockref.lock

fs/ceph/addr.c ceph_page_mkwrite() -> ceph_free_cap_flush()

Type Parameter Key Value
PARAM_VALUE 0 cf->ci 0
PARAM_VALUE 0 cf->is_capsnap 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/ceph/addr.c ceph_uninline_data() -> ceph_free_cap_flush()

Type Parameter Key Value
PARAM_VALUE 0 cf->ci 0
PARAM_VALUE 0 cf->is_capsnap 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dentry->d_lockref.lock

fs/ceph/xattr.c __ceph_setxattr() -> ceph_free_cap_flush()

Type Parameter Key Value
PARAM_VALUE 0 cf->ci 0
PARAM_VALUE 0 cf->is_capsnap 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/ceph/xattr.c __ceph_setxattr() -> ceph_free_cap_flush()

Type Parameter Key Value
PARAM_VALUE 0 cf 0,4096-ptr_max
PARAM_VALUE 0 cf->ci 0
PARAM_VALUE 0 cf->is_capsnap 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/ceph/file.c __ceph_copy_file_range() -> ceph_free_cap_flush()

Type Parameter Key Value
PARAM_VALUE 0 cf->ci 0
PARAM_VALUE 0 cf->is_capsnap 0
RX_PATH
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/ceph/file.c ceph_aio_complete() -> ceph_free_cap_flush()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock

fs/ceph/file.c ceph_fallocate() -> ceph_free_cap_flush()

Type Parameter Key Value
PARAM_VALUE 0 cf->ci 0
PARAM_VALUE 0 cf->is_capsnap 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/ceph/file.c ceph_write_iter() -> ceph_free_cap_flush()

Type Parameter Key Value
PARAM_VALUE 0 cf->ci 0
PARAM_VALUE 0 cf->is_capsnap 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock