下面是再LKML上的讨论,拿过来与大家看一下,然后我们对vfs实现者的最后一种修改方式进行了测试(不过是在linux2.4.17上,把2.6.11上的j'f'fs2的代码移过来了),不能解决该问题,可能是因为没有考虑到用户操作这条执行路径,想和大家分析一下,也给国内的jffs2的使用者提供一些相关的信息。 PART1======================= Hello, tracing out an JFFS2's SMP/PREEMPT bug I've realized that I need to...
inode 是用来存放档案及目录的基本信息 (metadata),包含时间、档名、使用者及群组等。在分割扇区时,系统会先做出一堆 inode 以供以后使用,inode 的数量关系着系统中可以建立的档案及目录总数。如果要存的档案大部分都很小,则同样大小的硬盘中会有较多的档案,也就是说需要较多的 inode 来挂档案及目录。 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/28922/showart_34542...
这次出问题的是/video/data01文件系统,采用ocfs2,空间和inode都剩余很多,就是创建不了新文件 # df -h Filesystem Size Used Avail Use% Mounted on /dev/sda10 16G 534M 15G 4% / /dev/sda5 9.7G 151M 9.1G 2% /app /dev/sda1 92M 16M 71M 19% /boot tmpfs 3.9G 0 3.9G 0% /dev/shm /dev/sda2 33G 2.1G 30G 7% /hom...
v2.4.0 我在分析namei.c的sys_unlink函数时发现,已经成为negatvie的dentry(也就是dentry->d_inode==NULL)仍然会被加入dentry_unused中,而不立即释放它。并且prune_dcache也不优先prune这种毫无用途的节点。不知是基于何种考虑要这么做?
1。通常情况下,只有没有被引用的dentry才会被放入dentry_unused,例如未使用的子dentry,而父dentry则由于被子dentry引用,所以d_count不会为0,不可能进入此队列,这样就会出现这样的情况,父dentry不在dentry_unused中,而子dentry可能在dentry_unused 2。子dentry(不管在不在dentry_unused中)仍然保持着对父dentry的引用,父dentry和子dentry都在dentry_hashtable中 3。root dentry不在dentry_hashtable中,也不会进入dentry_...
inode 是linux文件系统的一个重要部分,是磁盘上用于描述 文件 的一种数据结构。它保存了文件的大部分重要信息,包括文件数据块在磁盘上的地址。每个inode都有自己的标识号,称为i-number。 :T:L sVWD!c,O,`BSD爱好者乐园VNH+s sF inode保存文件的下列信息:BSD爱好者乐园iD1S7J:AL nh-^OJ$w$x7d y\d * 文件所有权:拥有文件的用户和组。 [0F)F8TM)F)SY0D z5D * 文件访问模式:不同的用户和组是否可以读、写或执行文件。BSD...