Linux 版 (精华区)

发信人: qubo (qubo), 信区: Linux
标  题: [合集]ext2支持多大的文件?2G还是4G?
发信站: 哈工大紫丁香 (2003年11月10日12:57:18 星期一), 站内信件


────────────────────────────────────────
 awy (abe)                            于 2003年09月15日20:33:33 星期一 说道:

inode里面的
__u32 i_size;    /* 文件大小,单位是 byte */     最大4G
__u32 i_block[EXT3_N_BLOCKS]; /* 一组 block 指针 */ 最大寻址16G
我在linux里以root用while(true) write...测的结果是
到2G后,系统kill了测试程序,报错:file size limit exceeded
究竟支持多大呢?为什么?
请高手指点,谢了。

────────────────────────────────────────
 emacs (进化的鱼)                     于 2003年09月16日08:49:17 星期二 说道:

gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE ...
【 在 awy (abe) 的大作中提到: 】
: inode里面的
: __u32 i_size;    /* 文件大小,单位是 byte */     最大4G
: __u32 i_block[EXT3_N_BLOCKS]; /* 一组 block 指针 */ 最大寻址16G
: 我在linux里以root用while(true) write...测的结果是
: 到2G后,系统kill了测试程序,报错:file size limit exceeded
: 究竟支持多大呢?为什么?
: 请高手指点,谢了。

────────────────────────────────────────
 emacs (进化的鱼)                     于 2003年09月17日13:14:49 星期三 说道:

文件指针用 off_t 类型
【 在 emacs (进化的鱼) 的大作中提到: 】
: gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE ...
: 【 在 awy (abe) 的大作中提到: 】
: : inode里面的
: : __u32 i_size;    /* 文件大小,单位是 byte */     最大4G
: : __u32 i_block[EXT3_N_BLOCKS]; /* 一组 block 指针 */ 最大寻址16G
: : 我在linux里以root用while(true) write...测的结果是
: : 到2G后,系统kill了测试程序,报错:file size limit exceeded
: : 究竟支持多大呢?为什么?
: : 请高手指点,谢了。

────────────────────────────────────────
 awy (abe)                            于 2003年09月17日14:18:46 星期三 说道:

3x
【 在 emacs (进化的鱼) 的大作中提到: 】
: 文件指针用 off_t 类型
: 【 在 emacs (进化的鱼) 的大作中提到: 】
: : gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE ...

────────────────────────────────────────
 zhangyan (When Dumb meets Dumber)    于 2003年09月17日14:42:24 星期三 说道:

如果使用std::fstream遇到这个问题的时候怎么办呢?
【 在 emacs (进化的鱼) 的大作中提到: 】
: gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE ...
: 【 在 awy (abe) 的大作中提到: 】
: : inode里面的
: : __u32 i_size;    /* 文件大小,单位是 byte */     最大4G
: : __u32 i_block[EXT3_N_BLOCKS]; /* 一组 block 指针 */ 最大寻址16G
: : 我在linux里以root用while(true) write...测的结果是
: : 到2G后,系统kill了测试程序,报错:file size limit exceeded
: : 究竟支持多大呢?为什么?
: : 请高手指点,谢了。

────────────────────────────────────────
 emacs (进化的鱼)                     于 2003年09月17日17:39:02 星期三 说道:

 :( 没经验
//看看 libc 文档?(Large File Support)
【 在 zhangyan (When Dumb meets Dumber) 的大作中提到: 】
: 如果使用std::fstream遇到这个问题的时候怎么办呢?
: 【 在 emacs (进化的鱼) 的大作中提到: 】
: : gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE ...

────────────────────────────────────────
 awy (abe)                            于 2003年09月18日10:20:24 星期四 说道:

我用这个方法write,把硬盘写满了(占了21G),
这怎么回事,ext2的一个inode寻址空间只有16G+啊
不解。
【 在 emacs (进化的鱼) 的大作中提到: 】
: 文件指针用 off_t 类型
: 【 在 emacs (进化的鱼) 的大作中提到: 】
: : gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE ...

────────────────────────────────────────
 emacs (进化的鱼)                     于 2003年09月18日10:29:36 星期四 说道:

我曾把 70G 的硬盘给写满了,呵呵
和 inode 有没有关系,不知道的说。
【 在 awy (abe) 的大作中提到: 】
: 我用这个方法write,把硬盘写满了(占了21G),
: 这怎么回事,ext2的一个inode寻址空间只有16G+啊
: 不解。
: 【 在 emacs (进化的鱼) 的大作中提到: 】
: : 文件指针用 off_t 类型

────────────────────────────────────────
 awy (abe)                            于 2003年09月18日10:37:13 星期四 说道:

是不是说偏移量可以超出文件范围呢?64bit的偏移量有8GG,
当offset超过16G后,没有写在指定的文件里面?
【 在 emacs (进化的鱼) 的大作中提到: 】
: 我曾把 70G 的硬盘给写满了,呵呵
: 和 inode 有没有关系,不知道的说。
: 【 在 awy (abe) 的大作中提到: 】
: : 我用这个方法write,把硬盘写满了(占了21G),
: : 这怎么回事,ext2的一个inode寻址空间只有16G+啊
: : 不解。

────────────────────────────────────────
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.567毫秒