浅析ext3删除文件慢的原因

做运维的估计都知道使用ext3文件系统时删除大文件很慢,那么大家有没有想过为什么呢?我也有过同样的疑问,于是查了相关资料并找到了一些理由。

在ext系列的文件系统中有一个很重要的概念inode(它与文件独立存在),它维护了文件的相关属性信息。

struct ext3_inode {    __u16 i_mode;    /* File mode */    __u16 i_uid;     /* Low 16 bits of Owner Uid */    __u32 i_size;    /* 文件大小,单位是 byte */    __u32 i_atime;   /* Access time */    __u32 i_ctime;   /* Creation time */    __u32 i_mtime;   /* Modification time */    __u32 i_dtime;   /* Deletion Time */    __u16 i_gid;     /* Low 16 bits of Group Id */    __u16 i_links_count;          /* Links count */    __u32 i_blocks;               /* blocks 计数 */    __u32 i_flags;                /* File flags */    __u32 l_i_reserved1;          /* 可以忽略 */    __u32 i_block[EXT3_N_BLOCKS]; /* 一组 block 指针 */    __u32 i_generation;           /* 可以忽略 */    __u32 i_file_acl;             /* 可以忽略 */    __u32 i_dir_acl;              /* 可以忽略 */    __u32 i_faddr;                /* 可以忽略 */    __u8  l_i_frag;               /* 可以忽略 */    __u8  l_i_fsize;              /* 可以忽略 */    __u16 i_pad1;                 /* 可以忽略 */    __u16 l_i_uid_high;           /* 可以忽略 */    __u16 l_i_gid_high;           /* 可以忽略 */    __u32 l_i_reserved2;          /* 可以忽略 */   };  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/22056.html