mbox series

[v6,0/4] e2scrub: online fsck for ext4

Message ID 152185661631.10434.3295057734679624788.stgit@magnolia
Headers show
Series e2scrub: online fsck for ext4 | expand

Message

Darrick Wong March 24, 2018, 1:56 a.m. UTC
Hi all,

This patch series develops the old e2croncheck contrib script into a
more robust online filesystem checker for ext4.  Since v4 I've modified
e2scrub to accept mountpoints in preparation for a fsscrub wrapper for
online metadata scrubbers, folded the e2scrub_reap script into
e2scrub_all, and modified e2scrub_all to be a little more careful about
selecting LVs to scan.

The first patch enables tune2fs to set the error state bit so that we
can force a fsck at next mount time.

Patch 2 creates an e2scrub command that, given an ext4 filesystem on a
LVM volume, creates a snapshot if there's more than 256M free in the LVM
group, runs e2fsck on the snapshot, and deletes the snapshot.  If the
fsck ran cleanly, the fs last-check timestamp is updated and fstrim is
run.  If corruption is found we mark the fs as needing a fsck and advise
a reboot.  A udev rule file is used to prevent the creation of /dev/disk
symlinks to the snapshot.

Patch 3 introduces the e2scrub_all command that finds all ext4
filesystems living in LVM volumes and iteratively calls e2scrub on each
of them.

The fourth patch creates a weekly cron job for automatic invocation as
well as systemd service files so that we can (try to) sandbox the scrub
process and run it with idle priority to reduce latency spikes in the
main filesystem.  It also contains a scrub snapshot reaping service that
will tear down old e2scrub snapshots during boot.

Questions?  Comments?  This series targets e2fsprogs 1.45.

--D

Comments

Theodore Ts'o Aug. 8, 2018, 2:56 p.m. UTC | #1
On Fri, Mar 23, 2018 at 06:56:56PM -0700, Darrick J. Wong wrote:
> Hi all,
> 
> This patch series develops the old e2croncheck contrib script into a
> more robust online filesystem checker for ext4.  Since v4 I've modified
> e2scrub to accept mountpoints in preparation for a fsscrub wrapper for
> online metadata scrubbers, folded the e2scrub_reap script into
> e2scrub_all, and modified e2scrub_all to be a little more careful about
> selecting LVs to scan.

I've applied this to the next branch of e2fsprogs, thanks!

     	     	     	      	     - Ted