minor optimization for EXT3
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]
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
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
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