Quoting Dwight Engen (dwight.en...@oracle.com): > Commit e3642c43 added lxc_copy_file for use in 64e1ae63. The use of it > was removed in commit 1bc60a65. Removing it reduces dead code and the > footprint of liblxc. > > Signed-off-by: Dwight Engen <dwight.en...@oracle.com>
Thanks, I had noticed this while implementing my own version for the c-api version of clone, but never acted on it. (I prefer my own version for clone's use) Acked-by: Serge E. Hallyn <serge.hal...@ubuntu.com> > --- > src/lxc/utils.c | 71 > --------------------------------------------------------- > src/lxc/utils.h | 1 - > 2 files changed, 72 deletions(-) > > diff --git a/src/lxc/utils.c b/src/lxc/utils.c > index f4ba905..ecf9d2c 100644 > --- a/src/lxc/utils.c > +++ b/src/lxc/utils.c > @@ -39,77 +39,6 @@ > > lxc_log_define(lxc_utils, lxc); > > -int lxc_copy_file(const char *srcfile, const char *dstfile) > -{ > - void *srcaddr = NULL, *dstaddr; > - struct stat stat; > - int srcfd, dstfd, ret = -1; > - char c = '\0'; > - > - dstfd = open(dstfile, O_CREAT | O_EXCL | O_RDWR, 0600); > - if (dstfd < 0) { > - SYSERROR("failed to creat '%s'", dstfile); > - goto out; > - } > - > - srcfd = open(srcfile, O_RDONLY); > - if (srcfd < 0) { > - SYSERROR("failed to open '%s'", srcfile); > - goto err; > - } > - > - if (fstat(srcfd, &stat)) { > - SYSERROR("failed to stat '%s'", srcfile); > - goto err; > - } > - > - if (!stat.st_size) { > - INFO("copy '%s' which is an empty file", srcfile); > - ret = 0; > - goto out_close; > - } > - > - if (lseek(dstfd, stat.st_size - 1, SEEK_SET) < 0) { > - SYSERROR("failed to seek dest file '%s'", dstfile); > - goto err; > - } > - > - /* fixup length */ > - if (write(dstfd, &c, 1) < 0) { > - SYSERROR("failed to write to '%s'", dstfile); > - goto err; > - } > - > - srcaddr = mmap(NULL, stat.st_size, PROT_READ, MAP_SHARED, srcfd, 0L); > - if (srcaddr == MAP_FAILED) { > - SYSERROR("failed to mmap '%s'", srcfile); > - goto err; > - } > - > - dstaddr = mmap(NULL, stat.st_size, PROT_WRITE, MAP_SHARED, dstfd, 0L); > - if (dstaddr == MAP_FAILED) { > - SYSERROR("failed to mmap '%s'", dstfile); > - goto err; > - } > - > - ret = 0; > - > - memcpy(dstaddr, srcaddr, stat.st_size); > - > - munmap(dstaddr, stat.st_size); > -out_mmap: > - if (srcaddr) > - munmap(srcaddr, stat.st_size); > -out_close: > - close(dstfd); > - close(srcfd); > -out: > - return ret; > -err: > - unlink(dstfile); > - goto out_mmap; > -} > - > static int mount_fs(const char *source, const char *target, const char *type) > { > /* the umount may fail */ > diff --git a/src/lxc/utils.h b/src/lxc/utils.h > index bf5b6cd..8954503 100644 > --- a/src/lxc/utils.h > +++ b/src/lxc/utils.h > @@ -23,7 +23,6 @@ > #ifndef _utils_h > #define _utils_h > > -extern int lxc_copy_file(const char *src, const char *dst); > extern int lxc_setup_fs(void); > extern int get_u16(unsigned short *val, const char *arg, int base); > extern int mkdir_p(const char *dir, mode_t mode); > -- > 1.7.12.3 > > > ------------------------------------------------------------------------------ > Precog is a next-generation analytics platform capable of advanced > analytics on semi-structured data. The platform includes APIs for building > apps and a phenomenal toolset for data science. Developers can use > our toolset for easy data analysis & visualization. Get a free account! > http://www2.precog.com/precogplatform/slashdotnewsletter > _______________________________________________ > Lxc-devel mailing list > Lxc-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/lxc-devel ------------------------------------------------------------------------------ Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel