e2fsck should defragment the oldest files after the usual check

Bug #457082 reported by Jérôme on 2009-10-21
This bug affects 2 people
Affects Status Importance Assigned to Milestone
e2fsprogs (Ubuntu)

Bug Description

Binary package hint: e2fsprogs

My ext4 root file system is automatically checked each 33 mount count. During this check, e2fsck is collecting many statistics like the dis-contiguous blocks ratio.

Why not using those collected informations just after the check in order to defragment the oldest files.

In order to prevent harming the boot process, I think e2fsck should defragment only the ~90 older files (with a minimum age of 1 month for example).

ProblemType: Bug
Architecture: amd64
Date: Wed Oct 21 12:29:33 2009
DistroRelease: Ubuntu 9.10
Package: e2fsprogs 1.41.9-1ubuntu2 [modified: sbin/e2fsck sbin/fsck.ext2 sbin/fsck.ext3 sbin/fsck.ext4 sbin/fsck.ext4dev sbin/debugfs sbin/mke2fs sbin/badblocks sbin/tune2fs sbin/dumpe2fs sbin/logsave sbin/e2image sbin/e2undo sbin/mkfs.ext2 sbin/mkfs.ext3 sbin/mkfs.ext4 sbin/mkfs.ext4dev sbin/e2label sbin/resize2fs usr/bin/chattr usr/bin/lsattr usr/sbin/mklost+found usr/sbin/filefrag usr/sbin/e2freefrag usr/lib/e2initrd_helper]
ProcVersionSignature: Ubuntu 2.6.31-14.48-generic
SourcePackage: e2fsprogs
Uname: Linux 2.6.31-14-generic x86_64
 (gnome-settings-daemon:1184): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (gnome-settings-daemon:1184): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (polkit-gnome-authentication-agent-1:1239): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed
 (nautilus:1230): Eel-CRITICAL **: eel_preferences_get_boolean: assertion `preferences_is_initialized ()' failed

Jérôme (jerome-bouat) wrote :
tags: removed: amd64
Changed in e2fsprogs (Ubuntu):
status: New → Triaged
importance: Undecided → Wishlist
Jérôme (jerome-bouat) wrote :

In order to prevent to harm the boot process, the defragmentation could stop after a delay (30 seconds ?).

The big files shouldn't be defragmented since it has low probability to be a library or a program.

For the file size trigger, I think 14 MB is a good tradeoff since it may catch all 32bit libraries:
j@j-lt:~$ find /usr/lib -type f -size +14M -iname "*.so*"
j@j-lt:~$ find /usr/lib -type f -size +13M -iname "*.so*"

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers