Quoting Dwight Engen (dwight.en...@oracle.com):
> On Tue, 20 Aug 2013 14:15:26 -0500
> Serge Hallyn <serge.hal...@ubuntu.com> wrote:
> 
> [...]
> > +static bool mod_rdep(struct lxc_container *c, bool inc)
> > +{
> > +   char path[MAXPATHLEN];
> > +   int ret, v = 0;
> > +   FILE *f;
> > +   bool bret = false;
> > +
> > +   if (container_disk_lock(c))
> > +           return false;
> > +   ret = snprintf(path, MAXPATHLEN, "%s/%s/lxc_snapshots",
> > c->config_path,
> > +                   c->name);
> > +   if (ret < 0 || ret > MAXPATHLEN)
> > +           goto out;
> > +   f = fopen(path, "r");
> > +   if (f) {
> > +           ret = fscanf(f, "%d", &v);
> > +           fclose(f);
> > +           if (ret != 1) {
> > +                   ERROR("Corrupted file %s", path);
> > +                   goto out;
> > +           }
> > +   }
> > +   v += inc ? 1 : -1;
> > +   f = fopen(path, "w");
> > +   if (!f)
> > +           goto out;
> > +   fprintf(f, "%d\n", v);
> > +   fclose(f);
> 
> Should we check the return value of fclose()? ie. it could fail ENOSPC?

I had thought about it, but note that the dependency tracking is
best-effort.  I don't want an lxc-clone to fail bc we couldn't
mark the dependency.  Maybe I'm wrong on that, and I should.
What do you think?

> [...]
> > +static bool add_rdepends(struct lxc_container *c, struct
> > lxc_container *c0) +{
> > +   int ret;
> > +   char path[MAXPATHLEN];
> > +   FILE *f;
> > +
> > +   ret = snprintf(path, MAXPATHLEN, "%s/%s/lxc_rdepends",
> > c->config_path,
> > +           c->name);
> > +   if (ret < 0 || ret >= MAXPATHLEN)
> > +           return false;
> > +   f = fopen(path, "a");
> > +   if (!f)
> > +           return false;
> > +   fprintf(f, "%s\n%s\n", c0->config_path, c0->name);
> > +   fclose(f);
> 
> and here, otherwise
> 
> Acked-by: Dwight Engen <dwight.en...@oracle.com>

------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
_______________________________________________
Lxc-devel mailing list
Lxc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-devel

Reply via email to