函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\inode.c Create Date:2022-07-29 10:38:07
Last Modify:2020-03-18 19:19:59 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:放置一个索引节点

函数原型:void iput(struct inode *inode)

返回类型:void

参数:

类型参数名称
struct inode *inode
1584  如果非inode则返回
1586  BUG_ON(Misc & I_CLEAR)
1587  retry :
1588  如果atomic_dec_and_lock( & i_count, & _blocks, i_bytes, maybe i_size )则
1589  如果i_nlinkMisc 按位与I_DIRTY_TIME
1590  atomic_inc( & i_count)
1594  转到:retry
1596  Called when we're dropping the last reference* to an inode
调用者
名称描述
get_futex_keyget_futex_key() - Get parameters which are the keys for a futex*@uaddr: virtual address of the futex*@fshared: 0 for a PROCESS_PRIVATE futex, 1 for PROCESS_SHARED*@key: address where result is stored
cgroup_procs_write_permission
z3fold_unregister_migration
SYSCALL_DEFINE1
sel_make_boolsdeclaration for sel_write_load
create_pipe_files
do_unlinkatMake sure that the actual truncation of the file will occur outside its* directory's i_mutex. Truncate can take a long time if there is a lot of* writeout happening, and we don't want to prevent access to the directory* while waiting on the I/O.
dentry_unlink_inodeRelease the dentry's inode, using the filesystem* d_iput() operation if defined.
d_make_root
__d_instantiate_anon
__d_obtain_alias
d_add_cid_add_ci - lookup or allocate new dentry with case-exact name*@inode: the inode case-insensitive lookup has found*@dentry: the negative dentry that was passed to the parent's lookup func*@name: the case-exact name to be associated with the returned
d_splice_alias链接目录项
inode_lru_isolateIsolate the inode from the LRU in preparation for freeing it
discard_new_inode
inode_insert5de_insert5 - obtain an inode from a mounted file system*@inode: pre-allocated inode to use for insert to cache*@hashval: hash value (usually inode number) to get*@test: callback used for comparisons between inodes*@set: callback used to initialize a new
iget_locked从文件系统上获得索引节点
ilookup5在高速缓存查找索引节点
ilookup在高速缓存查找索引节点
insert_inode_locked
insert_inode_locked4
iget_failedget_failed - Mark an under-construction inode as dead and release it*@inode: The inode to discard* Mark an under-construction inode as dead and release it.
wait_sb_inodesThe @s_sync_lock is used to serialise concurrent sync operations* to avoid lock contention problems with concurrent wait_sb_inodes() calls.* Concurrent callers will block on the s_sync_lock rather than doing contending* walks
__ns_get_path
bdev_unhash_inodeIf there is a bdev inode for this device, unhash it so that it gets evicted* as soon as last inode reference is dropped.
bdput
iterate_bdevs
fsnotify_unmount_inodessnotify_unmount_inodes - an sb is unmounting. handle any watched inodes.*@sb: superblock being unmounted.* Called during unmount with no locks held, so needs to be safe against* concurrent modifiers. We temporarily drop sb->s_inode_list_lock and CAN block.
fsnotify_drop_objectDrop object reference originally held by a connector
fsnotify_attach_connector_to_object
inotify_fdinfo
fanotify_fdinfo
anon_inode_getfileanon_inode_getfile - creates a new file instance by hooking it up to an* anonymous inode, and a dentry that describe the "class"* of the file*@name: [in] name of the "class" of the new file*@fops: [in] file operations for the new file*@priv: [in] private
aio_private_file
evict_dentries_for_decrypted_inodes
bm_register_write/register
drop_pagecache_sb
add_dquot_refThis routine is guarded by s_umount semaphore
vfs_cleanup_quota_inode
devpts_pty_newdevpts_pty_new -- create a new inode in /dev/pts/*@ptmx_inode: inode of the master*@device: major+minor of the node to be created*@index: used as a name of the node*@priv: what's given back by devpts_get_priv* The created inode is returned
ramfs_symlink
drop_futex_key_refsDrop a reference to the resource addressed by a key.* The hash bucket spinlock must not be held. This is* a no-op for private futexes, see comment in the get* counterpart.
__shmem_file_setupmmon code
break_deleg_wait