On Tue, Apr 23, 2019 at 03:49:50PM -0400, Theodore Ts'o wrote:
> 
> If this is not satisfactory for you.... then you shouldn't be using
> MMP, and need to be doing something else, like solving this problem at
> the hypervisor layer.  I'd love to be able to offer something better,
> but I'd also like to have faster of light travel and anti-gravity
> technology.  The laws of physics are very hard to work around, alas....

Paying that penalty one or twice is okay by me.  Paying that penalty 3,
4, 5 or more times on boot is unsatisfactory for me.

I've been creating VMs where all filesystems have MMP in order to be
careful.  I'm okay with paying the penalty one time when `e2fsck` is run
on the filesystem runs by an initial ramdisk.  My hope is to at worst pay
that penalty *one* more time when all the other filesystems mounted by
the VM get checked.

Simply needs a program which scans /etc/fstab and does the flag clearing
process in parallel for all non-root ext4 filesystems.


> So if these are real block devices in Domain 0 (as opposed to
> something made up by the hypervisor and presented to its guest VM's),
> then the O_EXCL/EBUSY mount protections should protect you.  I suspect
> this might mean changing the Xen hypervisor so that it is passing
> knowledge to whether some VM has a block device opened with O_EXCL is
> passed down to the Xen layer --- and the Xen layer informing the guest
> VM if some other VM has the block device opened with O_EXCL.  That's
> what I mean by making it be the hypervisor's problem.
> 
> You'll be able to solve the problem much more efficiently (with less
> overhead) and much more robustly, if you solve the problem at the
> hypervisor control plane level.

Yes, this would be superior.  I currently believe Xen's protection for
this is imperfect and thus I'm using a backup plan which *should* work,
even if imperfect.


-- 
(\___(\___(\______          --=> 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