Defined in 2 files as a function:

Referenced in 6 files:

Smatch caller information:

fs/nfs/callback_proc.c nfs_layout_find_inode_by_stateid() -> pnfs_layout_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 lo 4096-ptr_max
LOCK2 rcu_read

fs/nfs/callback_proc.c pnfs_check_callback_stateid() -> pnfs_layout_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 lo 4096-ptr_max
DATA_SOURCE 0 lo $0
PREEMPT_ADD
LOCK2 &ino->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_prepare_layoutstats() -> pnfs_layout_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 lo 1-u64max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &args->inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/nfs/nfs42proc.c nfs42_layouterror_done() -> pnfs_layout_is_valid()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/nfs/nfs42proc.c nfs42_layouterror_done() -> pnfs_layout_is_valid()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/nfs/nfs42proc.c nfs42_layouterror_prepare() -> pnfs_layout_is_valid()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/nfs/nfs42proc.c nfs42_layoutstat_done() -> pnfs_layout_is_valid()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/nfs/nfs42proc.c nfs42_layoutstat_done() -> pnfs_layout_is_valid()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/nfs/nfs42proc.c nfs42_layoutstat_prepare() -> pnfs_layout_is_valid()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/nfs/nfs4proc.c nfs4_close_prepare() -> pnfs_layout_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 lo 1-u64max
RX_PATH
TASK_NOT_RUNNING

fs/nfs/nfs4proc.c nfs4_delegreturn_prepare() -> pnfs_layout_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 lo 1-u64max
RX_PATH
TASK_NOT_RUNNING

fs/nfs/nfs4proc.c nfs4_layoutcommit_done() -> pnfs_layout_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 lo 1-u64max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &data->args.inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/nfs/nfs4proc.c nfs4_layoutreturn_prepare() -> pnfs_layout_is_valid()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

fs/nfs/pnfs.c _pnfs_return_layout() -> pnfs_layout_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 lo 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ino->i_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_lock

fs/nfs/pnfs.c nfs4_layout_refresh_old_stateid() -> pnfs_layout_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 lo 1-u64max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &inode->i_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_lock

fs/nfs/pnfs.c pnfs_cache_lseg_for_layoutreturn() -> pnfs_layout_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 lo 4096-ptr_max
DATA_SOURCE 0 lo $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &inode->i_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_lock

fs/nfs/pnfs.c pnfs_layout_can_be_returned() -> pnfs_layout_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 lo 4096-ptr_max
DATA_SOURCE 0 lo $0
PREEMPT_ADD
LOCK2 rcu_read
HALF_LOCKED2 &inode->i_lock

fs/nfs/pnfs.c pnfs_layout_process() -> pnfs_layout_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 lo 4096-ptr_max
BUF_SIZE 0 lo (-1),168
BUF_SIZE 0 lo (-1),168
PREEMPT_ADD <- disables preempt
RX_PATH
LOCK2 &ino->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/nfs/pnfs.c pnfs_layout_process() -> pnfs_layout_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 lo 4096-ptr_max
BUF_SIZE 0 lo (-1),168
BUF_SIZE 0 lo (-1),168
PREEMPT_ADD <- disables preempt
RX_PATH
LOCK2 &ino->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/nfs/pnfs.c pnfs_layout_return_on_reboot() -> pnfs_layout_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 lo 4096-ptr_max
DATA_SOURCE 0 lo $0
PREEMPT_ADD <- disables preempt
LOCK2 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/nfs/pnfs.c pnfs_layoutreturn_free_lsegs() -> pnfs_layout_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 lo 4096-ptr_max
DATA_SOURCE 0 lo $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &inode->i_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_lock

fs/nfs/pnfs.c pnfs_layoutreturn_retry_later_locked() -> pnfs_layout_is_valid()

Type Parameter Key Value
DATA_SOURCE 0 lo $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &inode->i_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_lock

fs/nfs/pnfs.c pnfs_mark_layout_for_return() -> pnfs_layout_is_valid()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/nfs/pnfs.c pnfs_roc() -> pnfs_layout_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 lo 1-u64max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ino->i_lock
LOCK2 rcu_read
TYPE_LOCK (struct inode)->i_lock

fs/nfs/pnfs.c pnfs_set_layout_stateid() -> pnfs_layout_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 lo 4096-ptr_max
BUF_SIZE 0 lo (-1),168
BUF_SIZE 0 lo (-1),168
DATA_SOURCE 0 lo $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &data->args.inode->i_lock
HALF_LOCKED2 &ino->i_lock
HALF_LOCKED2 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock