自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (13)
  • 收藏
  • 关注

原创 f2fs二三事 block map 1

f2fs_map_blocks函数主要作用是为写入inode的数据分配内存空间(包括node block,data block),四个参数:1) struct inode * inode: 操作的inode结构2) struct f2fs_map_blocks * map:要写入的block相关信息的参数3) int create: 如果为true, 表示如果内中不存在相应的bloc...

2019-02-24 00:25:15 1002

原创 f2fs 二三事 get_dnode_of_data

/* * Caller should call f2fs_put_dnode(dn). * Also, it should grab and release a rwsem by calling f2fs_lock_op() and * f2fs_unlock_op() only if ro is not set RDONLY_NODE. * In the case of RDONLY_...

2019-02-23 20:45:05 421

原创 F2FS二三事

/* * this structure is used as one of function parameters. * all the information are dedicated to a given direct node block determined * by the data offset in a file. */struct dnode_of_data {  ...

2019-02-23 14:24:15 446

翻译 Operating Systems: Three Easy Pieces-13 Address Spaces

Operating Systems: Three Easy Pieces第十三章:Address Spaces之前,建立一个电脑操作系统是非常容易的事情,也许你会问为什么?因为用户的期望很低。是那些“该死”的用户们,期望“易用”,“性能高”,“可靠”等,才导致所有的这些另人头疼的事情。下次碰到这些用户时,别忘感谢他们,制造了所有的这些问题。13.1早期的系统:从内存的角度看,早期的...

2019-11-24 19:36:20 218

原创 f2fs mkdir创建目录过程分析

不论是文件,还是目录,在文件系统中都由inode表示,本篇主要看一下创建一个目录f2fs都做了哪些事情,创建了哪些结构,什么样的格式,怎样最终存储到存储中。SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, umode_t, mode){ struct dentry *dentry; struct pat...

2019-11-09 18:42:13 1237

原创 f2fs nat/sit area存储格式及current_nat_addr

f2fs为了保护元数据的有效性及可恢复性,每个无数据区域均包含两个复本,如两个super block,两个check point segments,对于nat及sitarea,同样也包含两份。对于nat area的存储方式,一直以来,都以为是先存一份,再存储另一份,类似于这种结构:所以,对于current_nat_addr函数,一直无法理解代码实现的原理是什么。今天偶然看了一...

2019-10-20 23:58:43 711 1

原创 f2fs write_checkpoint 过程分析

write_checkpoint主要负责把cache中dirty的数据写回到磁盘中,在gc, trim, discard或者recovery的时候都会调用到。int write_checkpoint(struct f2fs_sb_info *sbi, struct cp_control *cpc){ struct f2fs_checkpoint *ckpt = F2FS_CKPT(s...

2019-10-19 16:34:53 1123

原创 f2fs gc garbage collect 过程分析

f2fs mount时,会启动garbage collect线程,garbage collect线程通过wait_event_interruptible_timeout函数,每隔一段时间,或者等待的condition为true时,判断是否需要执行garbage collect操作。static int gc_thread_func(void *data){ struct f2fs_sb...

2019-10-13 13:59:50 1222

原创 f2fs get_node_path 函数过程分析

f2fs中比较有趣的一个函数get_node_path(),想要理解这个函数,需要对f2fs node及node中能够索引的地址理解清楚,先看一下f2fs inode的结构: 4KB * (923 + 2 * 1018 + 2 * 1018 * 1018 + 1018 * 1018 * 1018) := 3.94TB. Inode block (4KB) |- data ...

2019-10-04 18:18:58 426

原创 f2fs mkfs格式化系列3

前面讲了f2fs格式化主要进行了哪些操作,本篇看一下,mount过程中是如何读取格式化写到磁盘的那些内容的。主要说一下如果读取f2fs meta data这些信息,mount过程还有一些比较重要的步骤,像build node management, build sit management后面会分开仔细再说。static int f2fs_fill_super(struct super...

2019-09-28 21:34:49 915

原创 f2fs mkfs 格式化过程系列 2

前面两篇文章写了f2fs format过程中superblock和 cp填充的过程,格式化过程中主要是这两个meta data的填充有点不好理解,后面的部分相对来说比较容易,本篇说说后面的部分做的内容。1, f2fs_init_sit_area()static int f2fs_init_sit_area(void){ u_int32_t blk_size, seg_size;...

2019-09-28 20:05:38 679

原创 f2fs mkfs 格式化过程系列 0

f2fs开源的代码分为f2fs-tools与f2fs kernel代码,f2fs-tools的代码主要是格式化make_f2fs工具,fsck工具等,可以在开源网站https://git.kernel.org/pub/scm/linux/kernel/git/上面下载。格式化的源码在f2fs-tools源码f2fs-format.c中,f2fs_format_device()中执行的,次函...

2019-09-27 16:24:14 1283

原创 f2fs mkfs 格式化过程系列 1

本文以f2fs-tools 1.9为例,描述一下f2fs格式化过程做了那些事,都往f2fs mete data里面写了什么东西。f2fs metedata包含sb, cp(2 segments), sit, nat, ssa,先从cp开始,看一下格式化过程往这两个check point里面写了哪些数据。static int f2fs_write_check_point_pack(v...

2019-09-06 08:10:26 1861 1

原创 f2fs rename

/*** before rename: /sdcard/logs/server* after rename: /sdcard/logs/server1* old_dir: /sdcard/logs* new_dir: /sdcard/logs* old_dentry: dentry of server* new_dentry: dentry of server1*/static...

2019-03-20 23:17:12 347

linux内核设计与实现

很好的学习linux OS 书籍 linux内核设计与实现

2016-01-15

DriverStudio 详细教程

驱动 driverstudio 教程 详细 对于新手来说很不错的简单教程

2010-03-25

USB协议 深层解析

USB协议 深层解析 标准请求 处理 对于刚学USB 以及USB2.0协议的朋友来说,这个资料非常不错

2009-10-05

C语言进阶 (东大+凌明+非常不错)

关于进一步深入学习C 编译 高度 存储器 指针 编码规范等

2009-10-05

windows 程序设计

MFC C++ VC 由浅入深学习windows程序开发

2009-10-05

C与指针 清晰版 第二版

C与指针 清晰版 第二版 很不错的书籍,

2009-09-06

RSS阅读器

在网上搜索的RSS阅读器集合,有很多个,相信有一个适合你!!

2008-04-24

IKAnalyzer

一个很好用的中文分词包,可以实现正反向最大切分,IKAnalyzer!!!

2008-04-24

java引擎

java实现的搜索引擎!想要做搜索的朋友可以下来看看!!!!

2008-01-08

jsp搜索引擎

用JSP实现的搜索引擎!!!!大家可以试试看看!很有帮助!!!

2008-01-08

scjp 035 详解

035题库,有详解,不错!!!!

2008-01-05

java 搜索引擎

java实现的搜索引擎,大家可以看看不错!

2008-01-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除