inode分配

new_inode(sb) 这是给inode分配一个新的空间里面调用inode_init_always会给inode赋初始值如果注册了自己的函数
    if (sb->s_op->alloc_inode)
        inode = sb->s_op->alloc_inode(sb);
    else
        inode = kmem_cache_alloc(inode_cachep, GFP_KERNEL);

则会调用自己分配函数否则调用系统的,其实是判断static struct super_operations 中.alloc_inode成员

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux系统中,inode是一个关键的概念,它用于存储文件和目录的元数据信息,包括文件类型、权限和所有者等。每个文件和目录都有一个对应的inode。 当我们在Linux系统中使用ext2、ext3或ext4等文件系统时,每个文件系统都有固定数量的inode分配给文件和目录。这意味着当inode被用尽时,即使文件系统的可用空间仍然存在,也无法创建新的文件或目录。 如果我们发现在Linux系统中inode的使用量已经接近或达到上限,我们需要扩容inode以支持更多的文件和目录。 要扩容inode,可以按照以下步骤进行操作: 1. 确定文件系统类型:使用命令`df -T`查看文件系统类型,通常使用ext2、ext3或ext4。 2. 创建新的文件系统:首先,我们需要创建一个新的文件系统,可以在存在空闲空间的磁盘或分区上创建。使用命令`mkfs -t <文件系统类型> -N <新inode数量> <设备>`创建一个具有指定inode数量的新文件系统。 3. 挂载新的文件系统:将新的文件系统挂载到系统中的某个目录,可以使用命令`mount <设备> <挂载点>`来实现。注意,这一步需要确保挂载点不能为空目录。 4. 迁移数据:将原有文件系统中的数据迁移到新的文件系统中,可以使用命令`cp -r <原始目录>/* <新挂载点>`来实现。需要确保原始目录中所有的数据都迁移完毕。 5. 更新挂载配置:编辑`/etc/fstab`文件,将原始文件系统挂载点对应的行修改为新的文件系统的挂载点。 6. 重启系统:在完成上述步骤后,可以选择重启系统以使更改生效。 通过以上步骤,我们可以在Linux系统中扩容inode,以支持更多的文件和目录。但需要注意的是,在创建新的文件系统和迁移数据时,务必谨慎操作,以防止不可恢复的数据损坏或丢失。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值