`
hanyh
  • 浏览: 235362 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ext2/ext3 32000限制

阅读更多
为什么有32000限制?
ext2/ext3有此限制,xfs无,reiserfs限制数量要大些.

mkdir: cannot create directory `test`: Too many links。

I already talked to Drew, there is a limit of 32,000 links in an inode,
which in turn limits the number of directories in a single place to 31,998

There is no way to increase this  in ext2 without changing the inode format,
which will not happen before a little while

Solutions:
1) use base/d/di/directoryname name splits
2) use another filesystem (note that the default filesystem on freebsd, and
   probably many other FS do also have a limit of 32K directories or
   somesuch, so for portability, you want solution #1)
另外,同一个目录下的文件不要太多,听说超过1000个文件或目录时读取速度就有些影响了。

限制来源于:
./linux/ext2_fs.h:
#define EXT2_LINK_MAX 32000

This limit comes from link count of ext2fs's.
You can change the definition of EXT2_LINK_MAX in
include/linux/ext2fs.h upto 32765 since struct inode.i_nlink is
unsigned short, and recompile your kernel.
But another normal kernel will not operate such too many linked files
and directories.



This is imposed by a number of issues:
- EXT2_LINK_MAX=32000 is checked for new subdirectories
- ext2 bg_used_dirs_count is a __u16
- inode->i_nlink (__kernel_nlink_t) is an unsigned short for some platforms

For stat (old interface) the st_nlinks count is also an unsigned short, so
we _should_ be able to increase EXT2_LINK_MAX to 65500 or so safely.  The
VFS will have problems if you increase the max link count over 65535 because
__kernel_nlink_t is __u16.

I see that reiserfs plays some tricks with the directory i_nlink count.
If you exceed 64536 links in a directory, it reverts to "1" and no longer
tracks the link count.

分享到:
评论

相关推荐

    找回Linux误删丢失文件支持Ext2/Ext3/Ext4格式文件

    在Linux系统中,数据安全是至关重要的,尤其是对于那些使用Ext2、Ext3或Ext4文件系统的用户。这些文件系统广泛应用于各种Linux发行版中,它们各有特点,但都有可能出现数据丢失的情况,如误删除文件。本文将详细介绍...

    EXT2/3恢复

    EXT2/3恢复是针对Linux操作系统中EXT2和EXT3文件系统的数据恢复技术。EXT2和EXT3分别是第二扩展文件系统和第三扩展文件系统,它们是Linux早期到中期广泛使用的日志文件系统。EXT3在EXT2的基础上增加了日志功能,提高...

    在windows下使用Ext2Fsd访问EXT4分区

    - Ext2Fsd并不完全支持EXT4的所有特性,可能会有一些限制或兼容性问题。对于高级功能,可能需要更专业的工具。 - 高级用户可以使用命令行参数来定制挂载选项,但这需要对EXT4和Windows命令行有一定了解。 总之,Ext...

    制作ext2文件系统的方法 .

    五、EXT2的限制与改进 尽管EXT2在许多场景下表现良好,但它缺乏日志功能,这意味着在系统崩溃或非正常关机后,文件系统可能需要进行一致性检查,这可能导致恢复时间较长。EXT3和EXT4引入了日志功能,以提高系统稳定...

    ext2 and ext3文件系统

    ### ext2 和 ext3 文件系统详解 #### 一、概述 `ext2` 和 `ext3` 是广泛应用于 Linux 操作系统中的文件系统格式。它们的设计目标是在保持高性能的同时提供可靠性和稳定性。`ext2` 是第二扩展文件系统,而 `ext3` ...

    linux_ext2,3文件系统详解

    Linux操作系统中的EXT2和EXT3文件系统是两种广泛使用的日志式文件系统,它们在Linux发展历史上扮演了重要角色。EXT2(第二扩展文件系统)是Linux早期的主要文件系统,而EXT3(第三扩展文件系统)是EXT2的增强版,...

    GRUB2支持GPT/MBR/HFS/EXT/FAT/NTFS/RAMDISK

    文件系统方面,GRUB2 支持多种类型,包括FAT(File Allocation Table)、NTFS(New Technology File System)、EXT(EXT2、EXT3、EXT4)、以及HFS(Hierarchical File System),这些文件系统分别用于不同的操作系统...

    Ext2的示例,包含了ext2大部分的方法示例

    **EXT2文件系统详解** EXT2(Second Extended File System)是Linux操作系统中广泛使用的早期日志文件系统之一,...学习EXT2不仅有助于了解Linux内核的历史,也有助于对比和理解后续的EXT3、EXT4以及其他的文件系统。

    EXT/C# 酒店管理系统

    这可能涉及到OAuth2、JWT(JSON Web Tokens)或其他身份验证协议,限制不同角色(如管理员、前台员工等)的访问权限。 6. **数据建模与关系设计**:在MSSQL中,需要对酒店的业务实体进行建模,如创建客户表、房间表...

    Ext2Fsd-0.48

    标题“Ext2Fsd-0.48”指的是Ext2Fsd的一个具体版本,这是一个开源软件,专为Windows操作系统设计,用于读写Linux文件系统,尤其是EXT2、EXT3和EXT4这三种常见的Linux文件系统格式。这个工具使得在Windows环境下能够...

    fuse-ext2-0.0.7

    值得注意的是,虽然fuse-ext2提供了NTFS在Linux下的读写功能,但由于FUSE本身的限制以及跨平台兼容性问题,挂载NTFS分区可能不如原生的Windows系统稳定,因此在进行重要数据操作时需谨慎,建议定期备份数据。...

    Ext2.2,Ext3.0中文文档

    4. **大小限制**: Ext3相较于Ext2,文件大小和分区大小的限制都有所提升,最大文件大小可达到16TB,最大分区大小取决于块大小,通常可达到8TB。 5. **性能**: 虽然日志机制增加了写入操作的开销,但因为能快速恢复...

    Ext4文件系统介绍

    1. **文件系统大小限制**:传统的Ext2/Ext3文件系统支持的最大文件系统大小为16TB(基于32位块编号),这在现代大规模存储环境下显得捉襟见肘。 2. **时间戳精度**:只支持秒级的时间戳精度,无法满足对于毫秒级甚至...

    ext 包+教程

    3. **大小限制**:EXT3最大支持16TB的文件系统大小,单个文件的最大尺寸可达2TB。 4. **权限管理**:EXT3遵循Unix的权限模型,包括读、写和执行权限,以及用户、组和其他用户的权限设置。 二、EXT3的安装与挂载 ...

    ext2-api.rar

    4. **文件大小限制**: 在EXT2中,单个文件的最大尺寸受限于文件系统的块大小和inode结构的设计,这在早期版本中通常为2GB,但在后来的扩展中可以达到16TB。 5. **目录结构**: 目录被视为特殊类型的文件,包含指向...

    Ext2Fsd .ziplinux和windows

    标题中的“Ext2Fsd .ziplinux和windows”指的是一个关于在Windows系统下使用Ext2Fsd软件来管理和访问Linux文件系统(如ext2、ext3、ext4)的压缩包文件。这个压缩包可能包含了Ext2Fsd的安装程序、使用指南和其他相关...

    ext3 jar包

    描述中提到,ext3是一个对ext2的扩展,这意味着它继承了ext2的基本结构,但引入了一些重要的改进。ext2是Linux早期的文件系统,尽管简单高效,但在处理系统崩溃或不正常关机时,可能无法保证数据完整性。为了解决这...

    最新ext3.0资源包 ext3.0

    5. **大文件支持**:EXT3支持最大16TB的文件系统大小,以及单个文件的最大尺寸可达16TB(在某些内核版本中,这些限制可能有所不同)。 6. **预分配**:EXT3允许文件的预分配,即在写入文件之前分配所需的磁盘空间,...

    Windows中读取ext2分区的文件

    在Windows操作系统中,由于文件系统兼容性的限制,通常无法直接读取Linux系统中使用的文件系统,如ext2、ext3或ext4等。然而,通过特定的软件工具,我们可以实现这种跨平台的数据访问。"Windows中读取ext2分区的文件...

    ext2的可编辑树

    "ext"标签可能是在指代EXT系列文件系统,包括EXT2、EXT3和EXT4等。EXT文件系统家族是Linux系统中最常见的默认文件系统,每个版本都在前一个的基础上进行了改进和增强,如EXT3引入了日志记录功能,EXT4则进一步优化了...

Global site tag (gtag.js) - Google Analytics