e2fsck should defragment the oldest files after the usual check

Bug #457082 reported by Jérôme
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
e2fsprogs (Ubuntu)
Triaged
Wishlist
Unassigned

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]
ProcEnviron:
 LANG=fr_FR.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-14.48-generic
SourcePackage: e2fsprogs
Uname: Linux 2.6.31-14-generic x86_64
XsessionErrors:
 (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

Tags: apport-bug
Revision history for this message
Jérôme (jerome-bouat) wrote :
tags: removed: amd64
Changed in e2fsprogs (Ubuntu):
status: New → Triaged
importance: Undecided → Wishlist
Revision history for this message
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*"
/usr/lib/libicudata.so.40.1
j@j-lt:~$
-----

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.