[Libguestfs] [PATCH] daemon: augeas: filter out AUG_NO_STDINC from aug-init (RHBZ#1144927)

Richard W.M. Jones rjones at redhat.com
Mon Sep 22 13:09:54 UTC 2014


On Mon, Sep 22, 2014 at 02:56:18PM +0200, Pino Toscano wrote:
> On Monday 22 September 2014 13:50:18 Richard W.M. Jones wrote:
> > On Mon, Sep 22, 2014 at 10:49:42AM +0200, Pino Toscano wrote:
> > > The lenses in our custom path need the system lens for base
> > > definitions. Disabling the system path was worthless anyway, since
> > > our API does not allow user-specified custom paths.
> > > 
> > > The only possible use for AUG_NO_STDINC to aug-init could have been
> > > to not load the lenses right at init time loading them later;
> > > however, this is what the AUG_NO_LOAD flag (= 32) does already.
> > > ---
> > > 
> > >  daemon/augeas.c | 5 +++++
> > >  1 file changed, 5 insertions(+)
> > > 
> > > diff --git a/daemon/augeas.c b/daemon/augeas.c
> > > index ce49726..4f1d9a8 100644
> > > --- a/daemon/augeas.c
> > > +++ b/daemon/augeas.c
> > > @@ -133,6 +133,11 @@ do_aug_init (const char *root, int flags)
> > > 
> > >      return -1;
> > >    
> > >    }
> > > 
> > > +  /* Filter out AUG_NO_STDINC, since the lenses in our custom path
> > > +   * need the lenses from the system path.
> > > +   */
> > > +  flags &= ~AUG_NO_STDINC;
> > 
> > This is wrong.  It should be possible to specify this, plus it is
> > specified in the API.
> 
> As I wrote it above, specifying that flag serves no purpose at all. I 
> don't see how describing it in API means it will actually be useful, 
> especially with the current aug_* API.

It's not really clear to me whether setting an entry under
/augeas/load could be used.  In any case ...

> > The right solution is to get all the required Augeas lenses into
> > Fedora & RHEL 7.1 (backporting the upstream patches if necessary),
> > then remove the hacks from libguestfs.
> 
> That would imply being incompatible with upstream Augeas, since at least 
> the local LVM lens has changes which are not even accepted upstream 
> (they have been sent though, nobody looked at them yet).

... the bigger problem is that Augeas lenses are fragile since they
depend on essentially internal details of the standard library.  This
isn't the first time a lens has broken.

We shouldn't be in the business of shipping lenses with libguestfs.
Augeas can ship them and deal with the problems of consistency between
lenses.  If they don't review patches fast enough we should encourage
them to review faster.

What Augeas patch(es) still need review?  I'll see if Dominic or David
can expedite the process for us.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html




More information about the Libguestfs mailing list