linux
文章平均质量分 70
火山爆发
踏实
展开
-
jbd 之 handle
journal_startjournal_start函数的作用是取得一个原子操作描述符handle_t。该handle_t要么是当前进程已有的,要么是新创建的。且要保证日志中还剩下参数nblocks规定的空闲块数start_this_handle在journal_start函数得到一个handle_t之后,要确保日志中有nblocks块供该handle_t使用。首先handle_t是肯定要与当前的原创 2016-03-28 19:56:18 · 723 阅读 · 0 评论 -
写给自己看的 linux 2.6查找inode之path_lookup
写给自己看的 linux 2.6查找inode之path_lookup path_lookup是根据给定的文件名查找inode。 其函数原型为: path_lookup(const char *name, unsigned int flags,struct nameidata *nd) 其中有一个nameidata的实例nd,它既是规定查找的起点,也是查找结束后的终点。在开始查找时原创 2016-03-12 17:08:46 · 1432 阅读 · 0 评论 -
generic_make_request函数初探
generic_make_request()函数会接手一个已经基本初始化好的bio,并使用make_request_fn将请求置于驱动程序的请求队列上。即把该bio传给设备对应的驱动程序。参数bio中bi_dev和bi_sector都已经设定为要进行IO的对应的设备的具体地址。其中在make_request_fn(每个设备会对应一个请求队列(request_queue),该请求队列上会有对应的mak原创 2016-04-15 18:04:53 · 3479 阅读 · 3 评论 -
带着O_CREAT和O_RDWR进入linux系统调用open函数
首先,linux内核的open函数是这么定义的SYSCALL_DEFINE3(open, ...),可以查到的宏定义为#define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)然后由:#ifdef CONFIG_FTRACE_SYSCALLS#define SYSCALL_DEFINEx(x,原创 2016-07-28 19:26:41 · 9571 阅读 · 0 评论