Linux kernel open system call 분석
(버전 사이의 차이)
(→코드 분석) |
(→VFS) |
||
15번째 줄: | 15번째 줄: | ||
{{sp2}}[[get_unused_fd_flags]](unsigned flags) : int ;; [http://lxr.free-electrons.com/source/mm/filemap.c#L1406 fs/file.c] | {{sp2}}[[get_unused_fd_flags]](unsigned flags) : int ;; [http://lxr.free-electrons.com/source/mm/filemap.c#L1406 fs/file.c] | ||
− | {{sp2}}{{sp2}}[[ | + | {{sp2}}{{sp2}}[[__alloc_fd]](const char __user *filename, int flags, int *empty) : struct filename ; ; [http://lxr.free-electrons.com/source/fs/read_write.c#L374 fs/namei.c] |
{{sp2}}[[do_filp_open]](int dfd, struct filename *pathname, const struct open_flags *op) : struct file ; ; [http://lxr.free-electrons.com/source/mm/filemap.c#L1100 fs/namei.c] | {{sp2}}[[do_filp_open]](int dfd, struct filename *pathname, const struct open_flags *op) : struct file ; ; [http://lxr.free-electrons.com/source/mm/filemap.c#L1100 fs/namei.c] | ||
</tab2> | </tab2> |
2014년 4월 30일 (수) 02:15 판
목차 |
코드 분석
주요 자료구조
struct nameidata | include/linux/namei.h |
주요 함수
System Call
VFS
do_sys_open(int dfd, const char __user *filename, int flags, umode_t mode) : int | fs/open.c | |
getname(const char __user * filename) : struct filename | fs/namei.c | |
getname_flags(const char __user *filename, int flags, int *empty) : struct filename | fs/namei.c | |
get_unused_fd_flags(unsigned flags) : int | fs/file.c | |
__alloc_fd(const char __user *filename, int flags, int *empty) : struct filename | fs/namei.c | |
do_filp_open(int dfd, struct filename *pathname, const struct open_flags *op) : struct file | fs/namei.c |