Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

drivers/md/dm-snap-persistent.c chunk_io() -> dm_snap_cow()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/md/dm-snap-persistent.c persistent_prepare_exception() -> dm_snap_cow()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &s->lock
LOCK2 &s->pe_allocation_lock
LOCK2 lock.complete_slot
LOCK2 lock.pending_slot
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 global &_origins_lock
TYPE_LOCK (struct dm_snapshot)->lock
TYPE_LOCK (struct dm_snapshot)->pe_allocation_lock

drivers/md/dm-snap-persistent.c persistent_usage() -> dm_snap_cow()

Type Parameter Key Value
LOCK2 &md->io_barrier
LOCK2 &snap->lock
TYPE_LOCK (struct dm_snapshot)->lock
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-snap-persistent.c read_exceptions() -> dm_snap_cow()

Type Parameter Key Value
HALF_LOCKED2 &md->type_lock

drivers/md/dm-snap-persistent.c read_header() -> dm_snap_cow()

Type Parameter Key Value
HALF_LOCKED2 &md->type_lock

drivers/md/dm-exception-store.c dm_exception_store_set_chunk_size() -> dm_snap_cow()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max

drivers/md/dm-snap-transient.c transient_prepare_exception() -> dm_snap_cow()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &s->lock
LOCK2 &s->pe_allocation_lock
LOCK2 lock.complete_slot
LOCK2 lock.pending_slot
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 global &_origins_lock
TYPE_LOCK (struct dm_snapshot)->lock
TYPE_LOCK (struct dm_snapshot)->pe_allocation_lock

drivers/md/dm-snap-transient.c transient_usage() -> dm_snap_cow()

Type Parameter Key Value
LOCK2 &md->io_barrier
LOCK2 &snap->lock
TYPE_LOCK (struct dm_snapshot)->lock
TYPE_LOCK (struct mapped_device)->io_barrier