On Fri, 21 Aug 2009 17:06:55 -0500
Corey Wright <undefined@pobox.com> wrote:
> On Fri, 21 Aug 2009 20:41:53 +0200
> Herbert Poetzl <herbert@13thfloor.at> wrote:
>
> > On Fri, Aug 21, 2009 at 08:48:46AM -0400, Mark Little wrote:
> > > On Fri, 21 Aug 2009 10:03:07 +0200, Herbert Poetzl
> > > <herbert@13thfloor.at> wrote:
> > > > On Fri, Aug 21, 2009 at 12:07:39AM -0500, Corey Wright wrote:
> > > >> how about exec'ing chattr instead of eval'ing it (as chattr is too
> > > >> buggy to test with) and instead test the xattrs (using showattr &
> > > >> lsattr as done elsewhere in the code) after the attempted chattr to
> > > >> insure it didn't change them?
> > > >
> > > > close, but not perfect, we should at least (explicitly or
> > > > implicitly) ensure that chattr _exists_ and was executed,
> > > > because otherwise checking for changes doesn't make much
> > > > sense (i.e. will give a false positive)
> > > >
> > > > if that is done somehow, we can forget about the chattr
> > > > return code completely ...
> > >
> > > Could you first do a test of creating something in /tmp (on the host,
> > > not in a guest context) and then chattr and verify that the changes
> > > DID happen.. If so we assume chattr is working fine and then can trust
> > > the results of it within the contexts?
> >
> > well, the problem is not that chattr doesn't work, the
> > problem is that some versions report success, even when
> > they could not possibly have succeeded (e.g. no file
> > was found or similar)
> >
> > but yes, we might do a chattr test where it is supposed
> > to work (i.e. change something) first and check that
> > and if it fails, further tests utilizing chattr can be
> > considered invalid
>
> and that's what this patch does (plus a little extra):
> 1. test initial state of directory
> 2. use chattr on the directory
> 3. verify chattr actions on the directory
> 3. repeat chattr test after setting directory as barrier
>
> overview within patch and modified lines commented in-line (though feel to
> remove all comments, as the original code had no comments, or only remove
> obvious comments).
forgot one detail: i added a local variable to recognized the lsattr output
for a non-barrier directory with immutability (for testing the normative
use of chattr). i didn't know how legacy (ie "version 24") handles
immutability differently, so i didn't define the variable for that
situtaion (though it'll probably need to be).
hopefully accommodating legacy won't invalidate the whole patch.
corey
-- undefined@pobox.comReceived on Sat Aug 22 02:04:42 2009