6

I have a server, which makes an incremental backup of a system every night. Now on saturdays, there is a full backup. But after the full backup has finished, a script kicks in, that deletes the incrementals.

Now, the script sometimes breaks, and it is because the incrementals are each about 10GB files, and sometimes takes too long for the script.

Now could someone explain to me, or point me in the direction of a resource, that explains why ext3 is so slow to delete files, when compared to, lets say, NTFS?

I know theses are 2 completely different file systems, but I'm really interested why is there such a big difference in deletion?

Janis Peisenieks
  • 239
  • 1
  • 5
  • 11

1 Answers1

7

The ext3 filesystem makes use of an indirect block mapping scheme, which has to keep track of all block mappings. This a lot slower to delete large files than filesystems using a scheme based on extents, such as ext4.

I can't really speak to NTFS but I presume it makes use of extents.

There is another question related to this on ServerFault.

Kenny Rasschaert
  • 8,925
  • 3
  • 41
  • 58
  • I did read the other question, but I can't seem to find any good resources on what `indirect block mapping scheme` is. – Janis Peisenieks Jul 11 '12 at 08:12
  • I know your question is in relation to NTFS, but I've found the best resources explaining the concept of indirect block mapping are the ones explaining the difference between allocation in ext3 and ext4. For example http://linuxologist.com/01general/ext4-filesystem-explained-in-plain-english/ and https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Direct.2FIndirect_Block_Addressing – Kenny Rasschaert Jul 11 '12 at 08:27