Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

fs/nfs/blocklayout/blocklayout.c bl_alloc_extent() -> nfs4_put_deviceid_node()

Type Parameter Key Value
PARAM_VALUE 0 d 4096-ptr_max
PARAM_VALUE 0 d->flags 0
PARAM_VALUE 0 d->ld 4096-ptr_max
PARAM_VALUE 0 d->nfs_client 4096-ptr_max
PARAM_VALUE 0 d->node.pprev 4096-ptr_max
PARAM_VALUE 0 d->tmpnode.next 0
PARAM_VALUE 0 d->tmpnode.pprev 0
BUF_SIZE 0 d (-1),104
BUF_SIZE 0 d (-1),104
DATA_SOURCE 0 d r bl_find_get_deviceid
RX_PATH
NOCHECK_CALL

fs/nfs/blocklayout/blocklayout.c bl_alloc_lseg() -> nfs4_put_deviceid_node()

Type Parameter Key Value
RX_PATH
NOCHECK_CALL

fs/nfs/blocklayout/blocklayout.c bl_find_get_deviceid() -> nfs4_put_deviceid_node()

Type Parameter Key Value
PARAM_VALUE 0 d 4096-ptr_max
PARAM_VALUE 0 d->flags 0
PARAM_VALUE 0 d->ld 4096-ptr_max
PARAM_VALUE 0 d->nfs_client 4096-ptr_max
PARAM_VALUE 0 d->node.pprev 4096-ptr_max
PARAM_VALUE 0 d->tmpnode.next 0
PARAM_VALUE 0 d->tmpnode.pprev 0
BUF_SIZE 0 d (-1),104
BUF_SIZE 0 d (-1),104
DATA_SOURCE 0 d r nfs4_find_get_deviceid
RX_PATH
NOCHECK_CALL

fs/nfs/pnfs_dev.c _deviceid_purge_client() -> nfs4_put_deviceid_node()

Type Parameter Key Value
PARAM_VALUE 0 d 4096-ptr_max
PARAM_VALUE 0 d->tmpnode->next->pprev 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/nfs/pnfs_dev.c nfs4_delete_deviceid() -> nfs4_put_deviceid_node()

Type Parameter Key Value
PARAM_VALUE 0 d 4096-ptr_max
PARAM_VALUE 0 d->node->next->pprev 1-u64max
PARAM_VALUE 0 d->node.pprev 0
PARAM_VALUE 0 d->ref.counter s32min-(-1),1-s32max
CAPPED_DATA 0 d->ld 1
CAPPED_DATA 0 d->nfs_client 1
DATA_SOURCE 0 d r _lookup_deviceid
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/nfs/flexfilelayout/flexfilelayoutdev.c ff_layout_init_mirror_ds() -> nfs4_put_deviceid_node()

Type Parameter Key Value
PARAM_VALUE 0 d 4096-ptr_max
PARAM_VALUE 0 d->flags 0
PARAM_VALUE 0 d->ld 4096-ptr_max
PARAM_VALUE 0 d->nfs_client 4096-ptr_max
PARAM_VALUE 0 d->node.pprev 4096-ptr_max
PARAM_VALUE 0 d->tmpnode.next 0
PARAM_VALUE 0 d->tmpnode.pprev 0
BUF_SIZE 0 d (-1),104
BUF_SIZE 0 d (-1),104
DATA_SOURCE 0 d r nfs4_find_get_deviceid
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/nfs/flexfilelayout/flexfilelayoutdev.c nfs4_ff_layout_put_deviceid() -> nfs4_put_deviceid_node()

Type Parameter Key Value
PARAM_VALUE 0 d 1-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/nfs/filelayout/filelayoutdev.c nfs4_fl_put_deviceid() -> nfs4_put_deviceid_node()

Type Parameter Key Value
PARAM_VALUE 0 d 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/nfs/blocklayout/extent_tree.c __ext_put_deviceids() -> nfs4_put_deviceid_node()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/nfs/blocklayout/extent_tree.c __ext_tree_insert() -> nfs4_put_deviceid_node()

Type Parameter Key Value
CAPPED_DATA 0 d 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &bl->bl_ext_lock
TYPE_LOCK (struct pnfs_block_layout)->bl_ext_lock

fs/nfs/blocklayout/extent_tree.c ext_tree_insert() -> nfs4_put_deviceid_node()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
NOCHECK_CALL
LOCK2 &bl->bl_ext_lock
TYPE_LOCK (struct pnfs_block_layout)->bl_ext_lock

fs/nfs/blocklayout/extent_tree.c ext_try_to_merge_left() -> nfs4_put_deviceid_node()

Type Parameter Key Value
CAPPED_DATA 0 d 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &bl->bl_ext_lock
TYPE_LOCK (struct pnfs_block_layout)->bl_ext_lock

fs/nfs/blocklayout/extent_tree.c ext_try_to_merge_right() -> nfs4_put_deviceid_node()

Type Parameter Key Value
CAPPED_DATA 0 d 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &bl->bl_ext_lock
TYPE_LOCK (struct pnfs_block_layout)->bl_ext_lock