Documented in 1 files:
Defined in 1 files as a struct:
Defined in 1 files as a function:
Referenced in 7 files:
- drivers/dax/bus.c
- drivers/dax/dax-private.h
- fs/dax.c
- fs/xfs/xfs_notify_failure.c, line 112
- mm/internal.h, line 1492
- mm/truncate.c
- mm/vmscan.c, line 761
Smatch caller information:
mm/huge_memory.c __folio_split() -> dax_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/dax.c dax_break_layout() -> dax_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_bytes | |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &mapping->invalidate_lock | ||
| HALF_LOCKED2 | 0 | &mapping->invalidate_lock |
fs/dax.c dax_break_layout_final() -> dax_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/dax.c dax_layout_busy_page_range() -> dax_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | mapping | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_bytes | |
| HALF_LOCKED2 | 0 | &mapping->invalidate_lock |
fs/dax.c dax_lock_folio() -> dax_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &mf_mutex | ||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &((&xas)->xa)->xa_lock | ||
| HALF_LOCKED2 | &attr->mutex | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &pool->lock |
fs/dax.c dax_lock_mapping_entry() -> dax_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| PARAM_VALUE | 0 | mapping->host | 4096-ptr_max |
| DATA_SOURCE | 0 | mapping | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &((&xas)->xa)->xa_lock |
mm/filemap.c __filemap_add_folio() -> dax_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| BUF_SIZE | 0 | mapping | (-1),552 |
| BUF_SIZE | 0 | mapping | (-1),552 |
| BUF_SIZE | 0 | mapping->a_ops | (-1),152 |
| DATA_SOURCE | 0 | mapping | $0 |
| NOSPEC | 0 | mapping->writeback_index | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | mapping->writeback_index | 0-524287[c] |
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_size | |
| HALF_LOCKED2 | 0 | &mapping->host->i_rwsem | |
| HALF_LOCKED2 | 0 | &mapping->i_mmap_rwsem | |
| HALF_LOCKED2 | 0 | &mapping->invalidate_lock |
mm/filemap.c page_cache_delete() -> dax_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | mapping | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | mapping->writeback_index | 0-524287[c] |
| LOCK2 | irq | ||
| HALF_LOCKED2 | &(&mapping->i_pages)->xa_lock | ||
| HALF_LOCKED2 | &folio->private->lock | ||
| HALF_LOCKED2 | &mapping->host->i_lock | ||
| HALF_LOCKED2 | rcu_read |
mm/filemap.c page_cache_delete_batch() -> dax_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| PARAM_VALUE | 0 | mapping->host | 4096-ptr_max |
| BUF_SIZE | 0 | mapping | (-1),552 |
| BUF_SIZE | 0 | mapping | (-1),552 |
| CAPPED_DATA | 0 | mapping->i_pages.xa_head | 1 |
| DATA_SOURCE | 0 | mapping | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_size | |
| LOCK2 | &(&mapping->i_pages)->xa_lock | ||
| LOCK2 | irq | ||
| LOCK2 | 0 | &mapping->host->i_lock | |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &journal->j_checkpoint_mutex | ||
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | 0 | &mapping->host->i_rwsem | |
| HALF_LOCKED2 | 0 | &mapping->invalidate_lock | |
| TYPE_LOCK | (struct inode)->i_lock |
mm/vmscan.c __remove_mapping() -> dax_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| PARAM_VALUE | 0 | mapping->host | 4096-ptr_max |
| BUF_SIZE | 0 | mapping | (-1),552 |
| BUF_SIZE | 0 | mapping | (-1),552 |
| CAPPED_DATA | 0 | mapping | 1 |
| DATA_SOURCE | 0 | mapping | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_size | |
| LOCK2 | irq | ||
| HALF_LOCKED2 | &(&mapping->i_pages)->xa_lock | ||
| HALF_LOCKED2 | 0 | &mapping->host->i_lock |
mm/truncate.c clear_shadow_entries() -> dax_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| DATA_SOURCE | 0 | mapping | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_size | |
| HALF_LOCKED2 | 0 | &mapping->host->i_rwsem | |
| HALF_LOCKED2 | 0 | &mapping->invalidate_lock |
mm/truncate.c invalidate_inode_pages2_range() -> dax_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| DATA_SOURCE | 0 | mapping | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_size | |
| HALF_LOCKED2 | &btree->b_sem | ||
| HALF_LOCKED2 | &fc->killsb | ||
| HALF_LOCKED2 | &fi->dax->sem | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &iocb->ki_filp->f_inode->i_rwsem | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->umount_mutex | ||
| HALF_LOCKED2 | 0 | &mapping->host->i_rwsem | |
| HALF_LOCKED2 | 0 | &mapping->invalidate_lock |
mm/truncate.c invalidate_inode_pages2_range() -> dax_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| DATA_SOURCE | 0 | mapping | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_size | |
| HALF_LOCKED2 | &btree->b_sem | ||
| HALF_LOCKED2 | &fc->killsb | ||
| HALF_LOCKED2 | &fi->dax->sem | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &iocb->ki_filp->f_inode->i_rwsem | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->umount_mutex | ||
| HALF_LOCKED2 | 0 | &mapping->host->i_rwsem | |
| HALF_LOCKED2 | 0 | &mapping->invalidate_lock |
mm/truncate.c truncate_folio_batch_exceptionals() -> dax_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| BUF_SIZE | 0 | mapping | (-1),552 |
| BUF_SIZE | 0 | mapping | (-1),552 |
| DATA_SOURCE | 0 | mapping | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_size | |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &inode_out->i_rwsem | ||
| HALF_LOCKED2 | &journal->j_checkpoint_mutex | ||
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | 0 | &mapping->host->i_rwsem | |
| HALF_LOCKED2 | 0 | &mapping->invalidate_lock |
mm/khugepaged.c collapse_file() -> dax_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
fs/xfs/xfs_notify_failure.c xfs_dax_failure_fn() -> dax_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |