歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

淺析ext3刪除文件慢的原因

做運維的估計都知道使用ext3文件系統時刪除大文件很慢,那麼大家有沒有想過為什麼呢?我也有過同樣的疑問,於是查了相關資料並找到了一些理由。

在ext系列的文件系統中有一個很重要的概念inode(它與文件獨立存在),它維護了文件的相關屬性信息。

  1. struct ext3_inode {  
  2.  __u16 i_mode;    /* File mode */  
  3.  __u16 i_uid;     /* Low 16 bits of Owner Uid */  
  4.  __u32 i_size;    /* 文件大小,單位是 byte */  
  5.  __u32 i_atime;   /* Access time */  
  6.  __u32 i_ctime;   /* Creation time */  
  7.  __u32 i_mtime;   /* Modification time */  
  8.  __u32 i_dtime;   /* Deletion Time */  
  9.  __u16 i_gid;     /* Low 16 bits of Group Id */  
  10.  __u16 i_links_count;          /* Links count */  
  11.  __u32 i_blocks;               /* blocks 計數 */  
  12.  __u32 i_flags;                /* File flags */  
  13.  __u32 l_i_reserved1;          /* 可以忽略 */  
  14.  __u32 i_block[EXT3_N_BLOCKS]; /* 一組 block 指針 */  
  15.  __u32 i_generation;           /* 可以忽略 */  
  16.  __u32 i_file_acl;             /* 可以忽略 */  
  17.  __u32 i_dir_acl;              /* 可以忽略 */  
  18.  __u32 i_faddr;                /* 可以忽略 */  
  19.  __u8  l_i_frag;               /* 可以忽略 */  
  20.  __u8  l_i_fsize;              /* 可以忽略 */  
  21.  __u16 i_pad1;                 /* 可以忽略 */  
  22.  __u16 l_i_uid_high;           /* 可以忽略 */  
  23.  __u16 l_i_gid_high;           /* 可以忽略 */  
  24.  __u32 l_i_reserved2;          /* 可以忽略 */  
  25. };  
Copyright © Linux教程網 All Rights Reserved