Chinaunix首页 | 论坛 | 博客
  • 博客访问: 162088
  • 博文数量: 22
  • 博客积分: 126
  • 博客等级: 入伍新兵
  • 技术积分: 459
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-26 21:14
文章分类
文章存档

2013年(22)

我的朋友

发布时间:2013-08-04 18:31:34

1.通过sys_write()__block_commit_write() mark_buffer_dirty()  __set_page_dirty() // fs/buffer.c2.MAP_SHARED方式做mmap()后,写page导致缺页do_page_fault() handle_pte_fault()  do_linear_fault()   __do_fault    filemap_fau.........【阅读全文】

阅读(2801) | 评论(0) | 转发(0)

发布时间:2013-08-04 18:29:29

pagecache层在调用文件系统提供的get_block()函数分配数据块时,如果成功分配,那么需要调用unmap_underlying_metadata()对新分配的数据块做如下处理:根据新分配磁盘块的块号,从文件系统所在的块设备基树中查找相应的buffer,如果buffer存在,1.清除buffer的dirty标志,2.等待buffer的IO完毕.那么,文件系统为什么无法保证buffer.........【阅读全文】

阅读(2138) | 评论(1) | 转发(1)

发布时间:2013-08-04 18:27:59

Q:I_FREEING标识inode正在被释放,由于竞争,drop_pagecache_sb(),igrab()等函数中看到的I_FREEING,I_WILL_FREE置位的inode是否可能正在被释放到slab?A:不会,由于supberblock的i_sb_list受inode_lock保护,drop_pagecache_sb()和dispose_list()竞争时,如果drop_pagecache_sb竞争到了inode_lock锁,dispose_list()要销毁inode.........【阅读全文】

阅读(2831) | 评论(0) | 转发(0)

发布时间:2013-08-04 18:26:53

I_DIRTY是三个标志I_DIRTY_SYNC,I_DIRTY_DATASYNC,I_DIRTY_PAGES的组合,其中,I_DIRTY_SYNC,I_DIRTY_PAGES分别表示:inode的属性(如:修改时间)改变和inode有脏页,I_DIRTY_DATASYNC的含义就不太容易理解,我们先从sys_write()看inode的DIRTY标志的变化:1.无论是否有数据写入,文件的修改时间都会更新,即I_DIRTY_SYNC标志会置.........【阅读全文】

阅读(4458) | 评论(0) | 转发(0)

发布时间:2013-08-04 18:25:35

Q:打开文件,往文件中写入数据,关闭文件的过程中dentry,inode的产生销毁过程?1.打开文件,创建dentry,创建inodesys_open() //a.创建dentry dentry = d_alloc(parent, name); //b.创建inode,将inode加入全局inode_in_use链表,sb->s_inodes链表和icache get_new_inode_fast()   li.........【阅读全文】

阅读(1775) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册