Skip to contentSkip to conversation

minor optimization for EXT3

PATCH Andi Kleen 2 participants 3 messages Jul 10, 2003 3 messages not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

Andi Kleen

author
#3 lore raw

Review

Quoted 2 lines · Alex Tomas
(quoted diff) +2 -0
+			if (i == start + inodes_per_buffer) {
+				/* all inodes (but our) are free. so, we skip I/O */

Won't this make undeletion a lot harder? Deleted inodes will now be trashed at will, so you cannot use their contents anymore.

Also dtimes in free inodes can be now lost, can't they? Did you check if that causes problems in fsck? [my understanding was that ext2/3 fsck relies on the dtime to make some heuristics when recovering files work better]

Maybe it should be an mount option so that users can trade performance against better recoverability.

-Andi

#4 lore raw
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

Andi Kleen (AK) writes:

Quoted 2 lines · AK> Alex Tomas <[email protected]> writes:

Review

Quoted 2 lines
(quoted diff) +2 -0
+			if (i == start + inodes_per_buffer) {
+				/* all inodes (but our) are free. so, we skip I/O */

AK> Won't this make undeletion a lot harder? Deleted inodes will now be trashed AK> at will, so you cannot use their contents anymore.

AFAIK ext3 doesn't support undeletion at all

AK> Also dtimes in free inodes can be now lost, can't they? Did you check AK> if that causes problems in fsck? [my understanding was that ext2/3 fsck relies on the AK> dtime to make some heuristics when recovering files work better]

freed inodes will be lost. I've checked filesystem by fsck after lots of creations/removals. it seems OK.

AK> Maybe it should be an mount option so that users can trade performance against AK> better recoverability.

well, I'm not sure we really need it

author
#5 lore raw
Quoted 6 lines · Alex Tomas

AK> Also dtimes in free inodes can be now lost, can't they? Did you check AK> if that causes problems in fsck? [my understanding was that ext2/3 fsck relies on the AK> dtime to make some heuristics when recovering files work better]

freed inodes will be lost. I've checked filesystem by fsck after lots of creations/removals. it seems OK.

iirc the dtime is used so that fsck can relink all non deleted inodes to lost+found when a directory is corrupted. Without dtime there is no way to distingush deleted and non deleted files, and just relinking everything would be quite nasty.

With your patch this heuristic would lose some files.

That's more important for ext2 than ext3 of course, but even on ext3 you could get a corrupted directory when you're unlucky (e.g. io error or similar)

-Andi