From: Gao feng Date: Fri, 7 Jun 2013 07:12:27 +0000 (+0800) Subject: LXC: fuse: Change files owner to the root user of container X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=5daa1b0132bdea9226bf57b8fb1cf9b68ab6f628;p=people%2Fdariof%2Flibvirt.git LXC: fuse: Change files owner to the root user of container The owner of the /proc/meminfo in container should be the root user of container. Signed-off-by: Gao feng --- diff --git a/src/lxc/lxc_fuse.c b/src/lxc/lxc_fuse.c index 32886cd25..b98a0d997 100644 --- a/src/lxc/lxc_fuse.c +++ b/src/lxc/lxc_fuse.c @@ -48,6 +48,8 @@ static int lxcProcGetattr(const char *path, struct stat *stbuf) int res; char *mempath = NULL; struct stat sb; + struct fuse_context *context = fuse_get_context(); + virDomainDefPtr def = (virDomainDefPtr)context->private_data; memset(stbuf, 0, sizeof(struct stat)); if (virAsprintf(&mempath, "/proc/%s", path) < 0) { @@ -66,6 +68,8 @@ static int lxcProcGetattr(const char *path, struct stat *stbuf) goto cleanup; } + stbuf->st_uid = def->idmap.uidmap ? def->idmap.uidmap[0].target : 0; + stbuf->st_gid = def->idmap.gidmap ? def->idmap.gidmap[0].target : 0; stbuf->st_mode = sb.st_mode; stbuf->st_nlink = 1; stbuf->st_blksize = sb.st_blksize;