On 5/28/19 8:42 AM, [email protected] wrote:
On Saturday, May 25, 2019 at 2:28:13 PM UTC-4, Chris Laprise wrote:
I think the only _good_ way to deal with COW metadata expansion, since
its always related to data fragmentation, is to keep expanding it and
let system performance degrade accordingly.

Yup.

One could argue that the same solution could be *actively* applied to prevent 
running out of free space. :) My recollection is that my old Drobo used to do 
this (for free space, though presumably both).


It would not be too presumptuous for Qubes to define thin lvm metadata as being in the same class as, say, filesystem metadata and let the system consume available vg space as needed. The best way to start this process is to lay down a rule saying you should only create/use one thin pool per volume group on a Qubes system. If the vg is dedicated to housing the one pool, then the gnarly questions around competing for storage space disappear.

There is already an implicit policy that the user has to keep their eye on overall used space in the pool because of over-provisioning. Just extend that policy to 'volume group' and you can keep expanding tmeta automatically.

The best possible (or at least better) implementation of this is to have a hook in lvm block layer itself that can briefly halt file operations while tmeta is expanded.

This simply makes
de-fragmentation maintenance issue (defrag to shrink metadata and get
performance back). This is what Microsoft did with NTFS and it was the
right choice; clinging to fixed metadata sizes is merely a state of
denial that leads to peoples' disks suddenly becoming unusable.

Lack of COW aside, NTFS's odd "separation plus mixing" of storage and metadata 
is fascinating. I mean, it works! And works pretty well! And is ancient!

In my view, NTFS has "COW++". Shouldn't we in Unix land change our terminology and start calling the combination of COW and snapshots.... shadow copy? :)


It *does* keep you on your toes, though, mitigating for forensics..."NTFS: oh, you 
have a small file? Well, I'll just store that over here in the metadata stream. You want 
to delete it? Sure, I'll mark it deleted. Erasing free space? go right ahead, I'll be 
over here waiting. Oh, it's still here? Well...better talk to Mr. Russinovich if you want 
to figure out how to really destroy that file..."*

-Brendan
* upon review, I read that in the Q voice, for maximum nerdiness.

--

Chris Laprise, [email protected]
https://github.com/tasket
https://twitter.com/ttaskett
PGP: BEE2 20C5 356E 764A 73EB  4AB3 1DC4 D106 F07F 1886

--
You received this message because you are subscribed to the Google Groups 
"qubes-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qubes-users/f6618f4d-e9f4-fac7-3ba6-136369e73305%40posteo.net.
For more options, visit https://groups.google.com/d/optout.

Reply via email to