- 博客(34)
- 资源 (2)
- 收藏
- 关注
原创 UTF8转UCS——被微软折磨的日子
UTF8转UCS——被微软折磨的日子前言UTF8Unicode - UCS - 万国码转换关键函数参考资料前言前段时间搞协议,遇到些编码的问题,非英文的字符一直传输失败。搞得还以为开发者不支持中文,还给大佬发了个邮件,Is there any plan to support non-English?。大佬一直没回我,不知道是感觉我问的太傻X了还是没看到我的邮件。研究了下协议传递非英文字符的问...
2020-04-30 23:47:33
554
原创 理解vfs下的open操作
目录一、VFS四大对象基础理解 21.1 super block 21.2 inode 21.3 dentry 21.4 struct file 3二、从图片理解文件打开流程 3三、open动作的实质 4四、systemtap验证 44.1 open创建一个新文件 54.2 打开已存在文件 6五、dentry cache 7六、关于open文件描述符fd 7七、参考资料 ...
2019-09-16 15:26:27
2555
原创 xfs_repair流程分析(二)
整体流程请看:xfs_repair在做什么 https://blog.youkuaiyun.com/Angel_94/article/details/88200369源码:xfsprogs-4.19.0本文分析xfs_repair流程第二步步骤2、检查AG头结构信息检查AG头结构信息(AGI,AGF和AGFL)并扫描AGF和AGI btree。入口/* * ok, at this point, ...
2019-08-06 15:38:28
1000
原创 xfs_repair流程分析(一)
整体流程请看:xfs_repair在做什么 https://blog.youkuaiyun.com/Angel_94/article/details/88200369源码:xfsprogs-4.19.0本文分析xfs_repair流程第一步步骤1、获取并检查超块信息如果没有找到超块数据,就结束入口:/* ARGSUSED */voidphase1(xfs_mount_t *mp){ xfs...
2019-08-06 14:39:24
2274
原创 从objdump汇编分析三元运算的使用
在做一个难度标记为简单的力扣题时,本以为轻松能过,却遇到一点小问题,一时竟没能想到原因。借助objdump分析汇编后,才恍然大悟。汇编指令:MOV 传送字或字节CMP 比较.(两操作数作减法,仅修改标志位,不回送结果)JLE 小于或等于转移CALLQ 过程调用ADD 加题目力扣题库:https://leetcode-cn.com/proble...
2019-07-07 16:53:23
725
原创 力扣题库--5. 最长回文子串
题目链接:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-palindromic-substring给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输...
2019-07-04 19:54:43
854
原创 【NFS】client mount协商处理流程
linux内核版本:3.10.0挂载nfs版本:-o vers=4.0挂载命令mount -t nfs -o vers=4.0 127.0.0.1:/ /mnt/nfstest关键的几个函数:nfs_fs_mount: mount入口nfs_validate_mount_data: 解析参数入口(nfs_parse_mount_options、nfs_parse_devname)nf...
2019-05-30 16:11:48
1836
原创 离散数学——欧几里得(辗转相除法)
欧几里得算法:上大图举例说明下上大图c++递归演示下int gcd(int a, int b){ if (0 == a%b) { return b; } return gcd(b, a%b);}c++迭代演示下int gcd(int a, int b){ int iTmp(0); while( a%b ) { ...
2019-04-18 09:23:15
1120
原创 fallocate创建空洞文件
Fallocate特性目前在ext4、xfs、btrfs、SMB3中已经原生支持,部分功能需要特定版本与内核支持。命令方式Fallocate命令 ,如何瞬间创建一个10G的空洞文件。命令:fallocate -l 10G test.file注:fallocate命令可以为文件预分配物理空间。-l后接空间大小,默认单位为字节。也可后跟k、m、g、t、p、e来指定单位,可以是大写,分别...
2019-04-10 17:09:33
3227
原创 力扣题库--整数反转
题目来自力扣题库:https://leetcode-cn.com/problems/reverse-integer/给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为...
2019-04-08 12:52:46
528
原创 快速统计cephfs目录下的数据量
用于快速统计cephfs目录下存放的数据量:命令格式:getfattr -d –m ceph.dir.* -m表示匹配模式使用了getfattr命令,来获取文件系统给出的扩展属性例:getfattr -d -m ceph.dir.* /mnt/cephfsgetfattr -d -m ceph.dir.* /mnt/cephfs/dir1#cd /mnt/cep...
2019-04-03 20:20:50
1900
原创 力扣题库--两数相加
小码虫的公众号:题目来自力扣题库:https://leetcode-cn.com/problems/add-two-numbers/给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。...
2019-03-22 22:51:21
811
原创 力扣题库--两数之和
题目描述题目地址: 两数之和.给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [...
2019-03-19 22:20:00
1843
原创 xfs_repair在做什么
名词说明:AGI:inode信息描述AGF:AG free space描述AGFL:预留free space信息描述xfs extents:xfs的数据存储单元结构7个步骤:xfs_repair分七个阶段执行扫描和修复。每个阶段都依赖于前一阶段的结果来修复某些错误。1、获取并检查超块信息,如果没有找到超块数据,就结束2、检查AG头结构信息(AGI,AGF和AGFL)并扫描AGF...
2019-03-05 20:08:24
6858
原创 ext4、xfs脏数据下刷周期与设置
ext4、xfs都具备延迟写入这一特性,可以极大的提升性能,减小碎片化。文件系统在一段时间间隔后,向磁盘下刷数据。当然文件系统脏数据下刷周期设置为比较大的值会提升的读写性能,但是同时也带来了安全性的降低。ext4的间隔时间与设置:ext4的默认间隔时间是5s这一参数可以在mount的时候进行指定,添加如下参数进行指定-o commit=10XFS的间隔时间与设置:xfs的默认时间...
2019-02-20 19:27:43
2706
原创 Ext-inode如何索引blocks
文件系统支持的最大单个文件, [ ]中为最大文件系统空间文件系统RHEL7 x32RHEL7 x64ext22TiB [2TiB]16TiB [16TiB]ext32TiB [2TiB]16TiB [16TiB]ext416TiB [16TiB]50TiB [1EiB]xfs500TiB [8EiB]500TiB [16EiB]在计算...
2019-02-18 18:15:05
702
原创 文件名不在inode中,存在那?
存在父级目录文件中,也就是父级目录的数据blocks中。定位属于文件的数据块意味着首先在inode表中定位其inode。在发布打开操作时通常不知道所需文件的inode。我们所知道的是文件的路径。例如:int fd = open(“/ home / ealtieri / hello.txt ”,O_RDONLY);所需的文件是hello.txt,而它的路径是 /home/ealtieri/h...
2019-02-16 18:30:28
1399
原创 Ext-文件系统支持多大空间怎么算
在操作系统中,文件系统都是针对分区而言的,一个磁盘必须先分区才能格式化文件系统(即使你将磁盘所有容量划分一个分区).格式文件系统后才能挂载使用,此时就必须知道一个文件系统到底支持多大的分区大小。注:目前我们以block大小为4KB计算,4KB是我们最常用的一个值了。块地址索引空间:32bit的块索引空间:就是最大只能划出2^32个blocks,多一个block,都没有序号分给它了EXT2...
2019-02-16 17:33:04
1514
原创 为何NFSv3比cifs容易实现高可用
为何NFS比cifs容易实现高可用综合资料与个人分析:NFS无状态:NFSv4和NFSv3的差别如下:NFS-CTDB高可用模型:相关资料:实际操作中,结合CTDB实现内核NFS高可用,比CIFS容易很多。二者都是适用于文件存储,操作的对象是源文件。综合资料与个人分析:1.NFS独立于传输层,可使用TCP或UDP协议,恢复容易。CIFS基于C/S(客户端/服务器模式),面向网络连接的共享协议...
2019-02-15 21:39:22
2199
1
原创 return()与exit()的使用
声明:个人所写所有博客均为自己在学习中的记录与感想,或为在学习中总结他人学习成果,但因本人才疏学浅,如果大家在阅读过程中发现错误,欢迎大家指正。
2016-08-06 14:06:30
1025
1
原创 无类型指针void *的学习
声明:个人所写所有博客均为自己在学习中的记录与感想,或为在学习中总结他人学习成果,但因本人才疏学浅,如果大家在阅读过程中发现错误,欢迎大家指正。
2016-08-03 21:16:35
737
原创 C 语言中指针、字符串与数组的一些关系
指针与字符串:用单引号引起的一个字符实际上代表一个整数,对于 ‘a’ 而言,与 ‘0141’(八进制)或者 ‘97’(十进制)严格一致。 对于双引号引起的字符串,代表的是一个指向无名数组起始字符的指针,该数组被双引号之间的字符以及一个额外的二进制值为零的字符 ‘\0’ 初始化。对于指针的初始化: char *p = “hello world” p指向字符串首地址,形成的字符数组长度需要加上后面
2016-04-26 14:22:05
571
原创 链表学习系列——1 基础概念之单向链表
公众号:声明:个人所写所有博客均为自己在学习中的记录与感想,或为在学习中总结他人学习成果,但因本人才疏学浅,如果大家在阅读过程中发现错误,欢迎大家指正。 学习LwIP网络协议过程中,内存方面用到了很多链表知识,下一博客打算写关于LwIP中的链表 一、关于顺序存储和链式存储用数组存储数据元素,数组元素与数据元素之间的关系是顺序映射。这种存储可以概括为:数据对象以结点为单位...
2016-03-07 16:21:01
1255
原创 LWIP内存池memp.c文件学习
声明:个人所写所有博客均为自己在学习中的记录与感想,或为在学习中总结他人学习成果,但因本人才疏学浅,如果大家在阅读过程中发现错误,欢迎大家指正。使用LWIP源码版本为1.4.1使用内存池分配内存的优点在于速度快、效率高、不会产生很多内存碎片,但是缺点在于只能分配各种固定大小的内存空间,LWIP必须实现知道用户要使用哪些类型的POOL,每种类型的POOL数量,然后根据这个需求建立内存池。一、内存池管理
2016-03-07 11:13:57
5758
2
原创 LWIP内存池memp.h头文件学习
声明:个人所写所有博客均为自己在学习中的记录与感想,或为在学习中总结他人学习成果,但因本人才疏学浅,如果大家在阅读过程中发现错误,欢迎大家指正。使用LWIP源码版本为1.4.1
2016-03-05 17:07:02
2734
原创 关于编程语言中的显式\隐式初始化
以前学习C时一直没有注意过显式初始化与隐式初始化这两个概念,最近开始学习C#时,在《C#图解教程》一书中第4.4节中注意到还有显式和隐式字段初始化的概念,这本书后来也多次提到此事。以下是个人理解 分配空间给变量,赋予初值即为初始化。初始化值必须是编译时可确定的。如果没有初始化语句,字段的值会被编译器设为默认值,默认值由字段的类型决定。比如:下面这两种初始化即为隐式初始化 int F1;
2016-02-11 22:28:24
6578
原创 内存管理pbuf.c源码解析——LwIP学习
声明:个人所写所有博客均为自己在学习中的记录与感想,或为在学习中总结他人学习成果,但因本人才疏学浅,如果大家在阅读过程中发现错误,欢迎大家指正。
2015-12-07 22:27:25
5723
2
原创 内存管理pbuf.h头文件源码解析——LwIP学习
声明:个人所写所有博客均为自己在学习中的记录与感想,或为在学习中总结他人学习成果,但因本人才疏学浅,如果大家在阅读过程中发现错误,欢迎大家指正。
2015-11-30 13:32:19
2054
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人