On Mon, Apr 22, 2019 at 09:42:01PM -0400, Theodore Ts'o wrote:
> On Mon, Apr 22, 2019 at 03:08:09PM -0700, Elliott Mitchell wrote:
> > Package: e2fsprogs
> > Version: 1.43.4-2
> > Severity: minor
> > 
> > If being run on a system which uses MMP and they weren't unmounted
> > cleanly, e2fsck will clear the MMP flags in order individually heavily
> > slowing the check process.
> > 
> > At a minimum when `e2fsck -a` is run, if it needs to clear one MMP flag
> > it should check for MMP flags on other filesystems and attempt to clear
> > them too.
> > 
> > Needing two MMP waits (one for `fsck /` and one for `fsck -a`) is
> > acceptable, 3+ is not.
> 
> What's the use case where you are using MMP on multiple file systems?
> In most of the configurations that I've seen, each server will have
> its own root file system, and the only thing which gets shared is a
> single data partition.
> 
> In a boot sequence, e2fsck gets called separate for each partition.  For 
> example:
> 
> % fsck -A -V -N
> fsck from util-linux 2.33.1
> Checking all file systems.
> [/sbin/fsck.ext4 (1) -- /] fsck.ext4 /dev/mapper/lambda-root 
> [/sbin/fsck.vfat (1) -- /boot/efi] fsck.vfat /dev/nvme0n1p1 
> [/sbin/fsck.ext4 (1) -- /boot] fsck.ext4 /dev/nvme0n1p4

Ah, perhaps I'm hearkening to an earlier era where e2fsck was taking care
of parallel-izing operations itself and that is no longer the case.

> So e2fsck has no idea whether multiple file systems are being checked,
> or only one.  E2fsck is also not parsing /etc/fstab --- that's the job
> of the fsck driver program, or if you are using systemd, the systemd
> generator.
> 
> So at the risk of sounding like Steve Jobs --- if you are trying to
> use multiple MMP file systems, you're probably holding it wrong.  :-)
> 
> What is your use case; what are you trying to achieve, and how are
> your systems setup?   How are the disks connected to multiple servers?

Could well be I'm doing a really whacky setup.

This is several VMs on a hypervisor.  Most filesystems aren't shared, I'm
mostly using MMP for protection against my doing something stupid due to
typing a command with the wrong device.  The VMs have separate /, and
/var.  Their storage isn't being presented to them as a single disk, but
instead being divided into block devices for filesystems in the
privileged area.

The privileged area understands ext4 and I'm mostly worried about
mistakenly trying to mount a filesystem in the privileged area while a VM
is active on it.  There is no fallover, mostly protection against
fumble-fingers.  %-)


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sig...@m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445

Reply via email to