Subject: Re: [vserver] Hashify and exclude
From: Ed W <lists@wildgooses.com>
Date: Mon, 27 Oct 2008 12:41:33 +0000
Mon, 27 Oct 2008 12:41:33 +0000

>> What is the argument against unifying everything? 
>>     
>
> on recente kernels (i.e. in the presence of
> CoW Link Breaking), the only case where a
> unified file might not work is when some
> application checks the file properties and
> requires them to have a link count of 1
>  


Subtle extra one, but as I understand it, the COW stuff breaks ALL
hardlinks on write, so if you have a bunch of hard links within the
vserver for some internal process, then additionally hardlinking those
*across* vservers will cause all the hardlinks (even within the vserver)
to be broken if the file is ever altered.  This may or may not be a
problem in general (seems like a corner case for most people?)

Herbert - when I quickly looked at the code for the unification utility,
it *appeared* to be figuring out whether a file already is hardlinked. 
Would it be as straightforward as it might appear to add a test to avoid
hardlinking files across vservers if they are already hardlinked
*within* a vserver?

Gentoo uses hardlinks within an installation for various (good)
reasons.  Would like to preserve these where possible

Cheers

Ed W



What is the argument against unifying everything? 
    

on recente kernels (i.e. in the presence of
CoW Link Breaking), the only case where a
unified file might not work is when some
application checks the file properties and
requires them to have a link count of 1
 


Subtle extra one, but as I understand it, the COW stuff breaks ALL hardlinks on write, so if you have a bunch of hard links within the vserver for some internal process, then additionally hardlinking those *across* vservers will cause all the hardlinks (even within the vserver) to be broken if the file is ever altered.  This may or may not be a problem in general (seems like a corner case for most people?)

Herbert - when I quickly looked at the code for the unification utility, it *appeared* to be figuring out whether a file already is hardlinked.  Would it be as straightforward as it might appear to add a test to avoid hardlinking files across vservers if they are already hardlinked *within* a vserver?

Gentoo uses hardlinks within an installation for various (good) reasons.  Would like to preserve these where possible

Cheers

Ed W