On 03/04/2013 03:43 PM, Serge Hallyn wrote: > As Kees pointed out, write() errors can be delayed and returned as > close() errors. So don't ignore error on close when writing the > userns id mapping. > > Signed-off-by: Serge Hallyn <serge.hal...@ubuntu.com>
Acked-by: Stéphane Graber <stgra...@ubuntu.com> > --- > src/lxc/conf.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/src/lxc/conf.c b/src/lxc/conf.c > index 04ab8b8..7d70c97 100644 > --- a/src/lxc/conf.c > +++ b/src/lxc/conf.c > @@ -2447,7 +2447,7 @@ int lxc_assign_network(struct lxc_list *network, pid_t > pid) > int add_id_mapping(enum idtype idtype, pid_t pid, uid_t host_start, uid_t > ns_start, int range) > { > char path[PATH_MAX]; > - int ret; > + int ret, closeret; > FILE *f; > > ret = snprintf(path, PATH_MAX, "/proc/%d/%cid_map", pid, idtype == > ID_TYPE_UID ? 'u' : 'g'); > @@ -2462,9 +2462,11 @@ int add_id_mapping(enum idtype idtype, pid_t pid, > uid_t host_start, uid_t ns_sta > } > ret = fprintf(f, "%d %d %d", ns_start, host_start, range); > if (ret < 0) > - perror("write"); > - fclose(f); > - return ret < 0 ? ret : 0; > + SYSERROR("writing id mapping"); > + closeret = fclose(f); > + if (closeret) > + SYSERROR("writing id mapping"); > + return ret < 0 ? ret : closeret; > } > > int lxc_map_ids(struct lxc_list *idmap, pid_t pid) > -- Stéphane Graber Ubuntu developer http://www.ubuntu.com
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel