Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/jfs/jfs_logmgr.c jfs_flush_journal() -> lmGCwrite()

Type Parameter Key Value
PARAM_VALUE 0 log 4096-ptr_max
PARAM_VALUE 0 log->flush_tblk 4096-ptr_max
PARAM_VALUE 0 log->gclock.rlock.dep_map->name 0-255
PARAM_VALUE 1 cant_write 0
CAPPED_DATA 0 &log->cqueue 1
DATA_SOURCE 0 log $0
PARAM_COMPARE 0 &log->cqueue != $0->cqueue.next
BIT_INFO 0 log->cflag 0x1,0xffffffff
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq
LOCK2 0 &log->gclock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 0 &log->loglock
TYPE_LOCK (struct jfs_log)->gclock

fs/jfs/jfs_logmgr.c lmGroupCommit() -> lmGCwrite()

Type Parameter Key Value
PARAM_VALUE 0 log 4096-ptr_max
PARAM_VALUE 0 log->bp 4096-ptr_max
PARAM_VALUE 0 log->flush_tblk 0,4096-ptr_max
PARAM_VALUE 0 log->gclock.rlock.dep_map->name 0-255
PARAM_VALUE 0 log->loglock.dep_map->name 0-255
PARAM_VALUE 0 log->loglock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 log->loglock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 log->loglock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 log->loglock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 log->loglock.osq.tail.counter 0-s32max
PARAM_VALUE 0 log->synclist.prev 4096-ptr_max
PARAM_VALUE 0 log->synclock.rlock.dep_map->name 0-255
PARAM_VALUE 1 cant_write 0
CAPPED_DATA 0 &log->cqueue 1
DATA_SOURCE 0 log $0
PARAM_COMPARE 0 &log->cqueue != $0->cqueue.next
BIT_INFO 0 log->cflag 0x1,0xffffffff
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq
LOCK2 0 &log->gclock
HALF_LOCKED2 &imap->im_freelock
HALF_LOCKED2 &jfs_ip->commit_mutex
HALF_LOCKED2 &ji->commit_mutex
HALF_LOCKED2 &target->i_rwsem
TYPE_LOCK (struct jfs_log)->gclock

fs/jfs/jfs_logmgr.c lmNextPage() -> lmGCwrite()

Type Parameter Key Value
PARAM_VALUE 0 log 4096-ptr_max
PARAM_VALUE 0 log->bp 4096-ptr_max
PARAM_VALUE 0 log->gclock.rlock.dep_map->name 0-255
PARAM_VALUE 1 cant_write 0
BUF_SIZE 0 log (-1),704
BUF_SIZE 0 log (-1),704
BUF_SIZE 0 log->bdev_file (-1)-s32max
CAPPED_DATA 0 &log->cqueue 1
DATA_SOURCE 0 log $0
PARAM_COMPARE 0 &log->cqueue != $0->cqueue.next
BIT_INFO 0 log->cflag 0x1,0xffffffff
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 log->bdev_file->f_flags 0,32768-u32max
USER_DATA 0 log->bdev_file->f_mode 0,64-u32max
LOCK2 irq
LOCK2 0 &log->gclock
HALF_LOCKED2 0 &log->loglock
TYPE_LOCK (struct jfs_log)->gclock

fs/jfs/jfs_logmgr.c lmPostGC() -> lmGCwrite()

Type Parameter Key Value
PARAM_VALUE 0 log 4096-ptr_max
PARAM_VALUE 1 cant_write 1
CAPPED_DATA 0 &log->cqueue 1
PARAM_COMPARE 0 &log->cqueue != $0->cqueue.next
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &log->gclock
TYPE_LOCK (struct jfs_log)->gclock