Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

fs/xfs/xfs_log_cil.c xlog_cil_push_work() -> xlog_wait_on_iclog()

Type Parameter Key Value
PARAM_VALUE 0 iclog 4096-ptr_max
PARAM_VALUE 0 iclog->ic_header 4096-ptr_max
PARAM_VALUE 0 iclog->ic_header->h_lsn 1-u64max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &log->l_icloglock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct xlog)->l_icloglock

fs/xfs/xfs_log.c xfs_log_force() -> xlog_wait_on_iclog()

Type Parameter Key Value
PARAM_VALUE 0 iclog 4096-ptr_max
PARAM_VALUE 0 iclog->ic_sema.first_waiter->up 0-1
PARAM_VALUE 0 *iclog->ic_log->l_iclog->ic_header->h_cycle_data 0-4294967295
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &log->l_icloglock
HALF_LOCKED2 &dqp->q_qlock
HALF_LOCKED2 &eb->eb_lock
HALF_LOCKED2 &qi->qi_tree_lock
TYPE_LOCK (struct xlog)->l_icloglock

fs/xfs/xfs_log.c xlog_force_lsn() -> xlog_wait_on_iclog()

Type Parameter Key Value
PARAM_VALUE 0 iclog 4096-ptr_max
PARAM_VALUE 0 iclog->ic_header 4096-ptr_max
PARAM_VALUE 0 iclog->ic_sema.first_waiter->up 0-1
PARAM_VALUE 0 iclog->ic_state 1-u32max
PARAM_VALUE 0 *iclog->ic_log->l_iclog->ic_header->h_cycle_data 0-4294967295
CAPPED_DATA 0 iclog 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &log->l_icloglock
TYPE_LOCK (struct xlog)->l_icloglock

fs/xfs/xfs_log.c xlog_unmount_write() -> xlog_wait_on_iclog()

Type Parameter Key Value
PARAM_VALUE 0 iclog 4096-ptr_max
PARAM_VALUE 0 iclog->ic_log 4096-ptr_max
PARAM_VALUE 0 iclog->ic_sema.first_waiter->up 0-1
PARAM_VALUE 0 iclog->ic_state 1-u32max
PARAM_VALUE 0 *iclog->ic_log->l_iclog->ic_header->h_cycle_data 0-4294967295
CAPPED_DATA 0 iclog 1
PREEMPT_ADD <- disables preempt
RX_PATH
NOCHECK_CALL
LOCK2 &log->l_icloglock
TYPE_LOCK (struct xlog)->l_icloglock