Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/btrfs/volumes.c btrfs_cleanup_fs_uuids() -> free_fs_devices()

Type Parameter Key Value
PARAM_VALUE 0 fs_devices 4096-ptr_max
NOCHECK_CALL

fs/btrfs/volumes.c btrfs_close_devices() -> free_fs_devices()

Type Parameter Key Value
PARAM_VALUE 0 fs_devices 4096-ptr_max
PARAM_VALUE 0 fs_devices->fs_info 0
PARAM_VALUE 0 fs_devices->holding 0
PARAM_VALUE 0 fs_devices->num_devices 1
PARAM_VALUE 0 fs_devices->opened 0
PARAM_VALUE 0 fs_devices->seeding 0
CAPPED_DATA 0 &fs_devices->seed_list 1
DATA_SOURCE 0 fs_devices $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &uuid_mutex

fs/btrfs/volumes.c btrfs_close_devices() -> free_fs_devices()

Type Parameter Key Value
PARAM_VALUE 0 fs_devices 4096-ptr_max
PARAM_VALUE 0 fs_devices->opened 0-s32max
DATA_SOURCE 0 fs_devices $0 [m]
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &uuid_mutex

fs/btrfs/volumes.c btrfs_free_stale_devices() -> free_fs_devices()

Type Parameter Key Value
PARAM_VALUE 0 fs_devices 4096-ptr_max
PARAM_VALUE 0 fs_devices->device_list_mutex.dep_map->name 0-255
PARAM_VALUE 0 fs_devices->device_list_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 fs_devices->device_list_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 fs_devices->device_list_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_devices->devices_kobj 0
PARAM_VALUE 0 fs_devices->devinfo_kobj 0
PARAM_VALUE 0 fs_devices->fsid_kobj.entry.next->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->fsid_kobj.entry.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->fsid_kobj.entry.prev->prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->fsid_kobj.parent->release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 fs_devices->fsid_kobj.parent->release.work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->fsid_kobj.sd->__parent 0
PARAM_VALUE 0 fs_devices->kobj_unregister.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 fs_devices->kobj_unregister.wait.task_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->num_devices 0
CAPPED_DATA 0 &fs_devices->device_list_mutex 1
CAPPED_DATA 0 &fs_devices->devices 1
CAPPED_DATA 0 &fs_devices->fs_list 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &uuid_mutex

fs/btrfs/volumes.c btrfs_rm_dev_replace_free_srcdev() -> free_fs_devices()

Type Parameter Key Value
PARAM_VALUE 0 fs_devices 4096-ptr_max
PARAM_VALUE 0 fs_devices->num_devices 0
PARAM_VALUE 0 fs_devices->opened 0-s32max
PARAM_VALUE 0 fs_devices->seed_list.next->prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->seed_list.prev->next 4096-ptr_max
NOCHECK_CALL
LOCK2 global &uuid_mutex

fs/btrfs/volumes.c btrfs_rm_device() -> free_fs_devices()

Type Parameter Key Value
PARAM_VALUE 0 fs_devices 4096-ptr_max
PARAM_VALUE 0 fs_devices->num_devices 0
PARAM_VALUE 0 fs_devices->seed_list.next->prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->seed_list.prev->next 4096-ptr_max
CAPPED_DATA 0 fs_devices 1
CAPABLE 0 21
NOCHECK_CALL

fs/btrfs/volumes.c clone_fs_devices() -> free_fs_devices()

Type Parameter Key Value
PARAM_VALUE 0 fs_devices 4096-ptr_max
PARAM_VALUE 0 fs_devices->alloc_list.next 4096-ptr_max
PARAM_VALUE 0 fs_devices->alloc_list.next->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->alloc_list.prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->alloc_list.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->alloc_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->device_list_mutex.dep_map->name 0-255
PARAM_VALUE 0 fs_devices->device_list_mutex.magic 4096-ptr_max
PARAM_VALUE 0 fs_devices->devices.next 4096-ptr_max
PARAM_VALUE 0 fs_devices->devices.next->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->devices.prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->devices.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->devices.prev->prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->fs_list.next 4096-ptr_max
PARAM_VALUE 0 fs_devices->fs_list.next->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->fs_list.prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->fs_list.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->fs_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->seed_list.next 4096-ptr_max
PARAM_VALUE 0 fs_devices->seed_list.next->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->seed_list.prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->seed_list.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->seed_list.prev->prev 4096-ptr_max
BUF_SIZE 0 fs_devices 864
DATA_SOURCE 0 fs_devices r alloc_fs_devices
NOCHECK_CALL
LOCK2 global &uuid_mutex
HALF_LOCKED2 &sb->s_umount

fs/btrfs/volumes.c open_seed_devices() -> free_fs_devices()

Type Parameter Key Value
PARAM_VALUE 0 fs_devices 4096-ptr_max
PARAM_VALUE 0 fs_devices->alloc_list.next 4096-ptr_max
PARAM_VALUE 0 fs_devices->alloc_list.next->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->alloc_list.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->alloc_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->device_list_mutex.dep_map->name 0-255
PARAM_VALUE 0 fs_devices->device_list_mutex.magic 4096-ptr_max
PARAM_VALUE 0 fs_devices->devices.next 4096-ptr_max
PARAM_VALUE 0 fs_devices->devices.next->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->devices.prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->devices.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->devices.prev->prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->fs_list.next 4096-ptr_max
PARAM_VALUE 0 fs_devices->fs_list.next->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->fs_list.prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->fs_list.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->fs_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->open_devices 0
PARAM_VALUE 0 fs_devices->seed_list.next 4096-ptr_max
PARAM_VALUE 0 fs_devices->seed_list.next->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->seed_list.prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->seed_list.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->seed_list.prev->prev 4096-ptr_max
BUF_SIZE 0 fs_devices 864
DATA_SOURCE 0 fs_devices r clone_fs_devices
NOCHECK_CALL
LOCK2 global &uuid_mutex

fs/btrfs/volumes.c open_seed_devices() -> free_fs_devices()

Type Parameter Key Value
PARAM_VALUE 0 fs_devices 4096-ptr_max
PARAM_VALUE 0 fs_devices->alloc_list.next 4096-ptr_max
PARAM_VALUE 0 fs_devices->alloc_list.next->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->alloc_list.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->alloc_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->chunk_alloc_policy 0
PARAM_VALUE 0 fs_devices->collect_fs_stats 1
PARAM_VALUE 0 fs_devices->device_list_mutex.dep_map->name 0-255
PARAM_VALUE 0 fs_devices->device_list_mutex.magic 4096-ptr_max
PARAM_VALUE 0 fs_devices->devices.next 4096-ptr_max
PARAM_VALUE 0 fs_devices->devices.next->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->devices.prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->devices.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->devices.prev->prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->fs_list.next 4096-ptr_max
PARAM_VALUE 0 fs_devices->fs_list.next->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->fs_list.prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->fs_list.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->fs_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->latest_dev 4096-ptr_max
PARAM_VALUE 0 fs_devices->latest_dev->bdev 4096-ptr_max
PARAM_VALUE 0 fs_devices->latest_dev->bdev_file 4096-ptr_max
PARAM_VALUE 0 fs_devices->latest_dev->name 1-u64max
PARAM_VALUE 0 fs_devices->open_devices 1-u64max
PARAM_VALUE 0 fs_devices->opened 0-1
PARAM_VALUE 0 fs_devices->read_policy 0-2,4294967274
PARAM_VALUE 0 fs_devices->seed_list.next 4096-ptr_max
PARAM_VALUE 0 fs_devices->seed_list.next->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->seed_list.prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->seed_list.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_devices->seed_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 fs_devices->seeding 0
PARAM_VALUE 0 fs_devices->total_rw_bytes 0
BUF_SIZE 0 fs_devices 864
DATA_SOURCE 0 fs_devices r clone_fs_devices
NOCHECK_CALL
LOCK2 global &uuid_mutex