Open flow
Retired DISLab
@startuml (*)-->SYSCALL_DEFINE3(OPEN) -->do_sys_open do_sys_open-->getname(filename) -->getname_flags do_sys_open-->get_unused_flags() -->__alloc_fd -->find_next_zero_bit do_sys_open-->do_filp_open -->path_openat path_openat-->get_empty_filp path_openat-->[flag & O_TMPFILE]do_tmpfile -->path_lookupat path_lookupat-->path_init path_lookupat-->link_path_walk path_openat -->path_init path_openat -->link_path_walk -->walk_component walk_component-->lookup_fast(nameidata,path,inode) walk_component->lookup_slow(nameidata,path) path_openat-->do_last do_sys_open-->fd_install(fd,f) -->__fd_install @enduml