Why is ext3 so slow to delete large files?

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?


Solution 1:

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.