1 | dput() > dentry_iput() > iput() > iput_final() |
1 | iput_final() > generic_drop_inode() |
1 | generic_drop_inode() > generic_delete_inode() > s_op->delete_inode() |
1 | generic_drop_inode() > generic_forget_inode() |
1 | sys_unlink() > do_unlinkat() > |
1 2 3 4 5 | (1) dentry = lookup_hash(&nd); (2) atomic_inc(&inode->i_count); (3) vfs_unlink(nd.dentry->d_inode, dentry); (4) dput(dentry); (5) iput(inode); /* truncate the inode here */ |
1 | vfs_unlink() > d_delete() |
1 2 3 4 5 | if (atomic_read(&dentry->d_count) == 1) { dentry_iput(dentry); ... return; } |
1 2 | if (!d_unhashed(dentry)) __d_drop(dentry); |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |