[lxc-devel] [pylxd/master] Fix memory hog during image import

shurkaxaa on Github lxc-bot at linuxcontainers.org
Thu Sep 21 02:59:35 UTC 2017


A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 831 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20170921/16790718/attachment.bin>
-------------- next part --------------






<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
  <link rel="dns-prefetch" href="https://assets-cdn.github.com">
  <link rel="dns-prefetch" href="https://avatars0.githubusercontent.com">
  <link rel="dns-prefetch" href="https://avatars1.githubusercontent.com">
  <link rel="dns-prefetch" href="https://avatars2.githubusercontent.com">
  <link rel="dns-prefetch" href="https://avatars3.githubusercontent.com">
  <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
  <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">



  <link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/frameworks-bedfc518345498ab3204d330c1727cde7e733526a09cd7df6867f6a231565091.css" media="all" rel="stylesheet" />
  <link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/github-794ddde646dd1791582965df2f5d1936d07f155e9fb08f86df99a2043d48408a.css" media="all" rel="stylesheet" />
  
  
  <link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/site-877643c520258c4fa15ac8d1664d84efd0e3db56f5e544ccac58da0e50489904.css" media="all" rel="stylesheet" />
  

  <meta name="viewport" content="width=device-width">
  
  <title>Fix memory hog during image import by shurkaxaa · Pull Request #245 · lxc/pylxd · GitHub</title>
  <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
  <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
  <meta property="fb:app_id" content="1401488693436528">

    
    <meta content="https://avatars0.githubusercontent.com/u/20762983?v=4&s=400" property="og:image" /><meta content="GitHub" property="og:site_name" /><meta content="object" property="og:type" /><meta content="Fix memory hog during image import by shurkaxaa · Pull Request #245 · lxc/pylxd" property="og:title" /><meta content="https://github.com/lxc/pylxd/pull/245" property="og:url" /><meta content="Existing version load image into memory when non-unified image used
(with separate tarball with manifest).
Added ability for stream based image upload without loading them to memory.
requests-toolb..." property="og:description" />

  <link rel="assets" href="https://assets-cdn.github.com/">
  
  <meta name="pjax-timeout" content="1000">
  
  <meta name="request-id" content="8B78:2143:CDE6547:16A2D981:59C32B13" data-pjax-transient>
  

  <meta name="selected-link" value="repo_pulls" data-pjax-transient>

  <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">
<meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA">
    <meta name="google-analytics" content="UA-3769691-2">

<meta content="collector.githubapp.com" name="octolytics-host" /><meta content="github" name="octolytics-app-id" /><meta content="https://collector.githubapp.com/github-external/browser_event" name="octolytics-event-url" /><meta content="8B78:2143:CDE6547:16A2D981:59C32B13" name="octolytics-dimension-request_id" /><meta content="iad" name="octolytics-dimension-region_edge" /><meta content="iad" name="octolytics-dimension-region_render" />
<meta content="/<user-name>/<repo-name>/pull_requests/show" data-pjax-transient="true" name="analytics-location" />




  <meta class="js-ga-set" name="dimension1" content="Logged Out">


  

      <meta name="hostname" content="github.com">
  <meta name="user-login" content="">

      <meta name="expected-hostname" content="github.com">
    <meta name="js-proxy-site-detection-payload" content="YWE0MzA0ZDEzZTllMjJlYTdjODBkOTI2MWVjNzM5MWM4N2M2NjU0NWVjOGE1NjQ3YjVjNDNiYWU5MTVmMTIxM3x7InJlbW90ZV9hZGRyZXNzIjoiMTQ5LjU2LjE0OC4wIiwicmVxdWVzdF9pZCI6IjhCNzg6MjE0MzpDREU2NTQ3OjE2QTJEOTgxOjU5QzMyQjEzIiwidGltZXN0YW1wIjoxNTA1OTYyNzcxLCJob3N0IjoiZ2l0aHViLmNvbSJ9">


  <meta name="html-safe-nonce" content="54dc78fc0b757914cf7fa299326823baa1b85078">

  <meta http-equiv="x-pjax-version" content="3a8fade524c4f83157a05c394e2a0753">
  

    <style type="text/css" media="screen" id="issue-labels-style">
  span.labelstyle-fc2929, .linked-labelstyle-fc2929 {  background-color: #fc2929 !important;  color: #fff !important;}.labelstyle-fc2929.selected {  background-color: #fc2929 !important;  color: #fff !important;}.label-select-menu .labelstyle-fc2929.selected {  background:rgba(252, 41, 41, 0.12) !important;  color: #991818 !important;}

span.labelstyle-cccccc, .linked-labelstyle-cccccc {  background-color: #cccccc !important;  color: #333333 !important;}.labelstyle-cccccc.selected {  background-color: #cccccc !important;  color: #333333 !important;}.label-select-menu .labelstyle-cccccc.selected {  background:rgba(204, 204, 204, 0.12) !important;  color: #999999 !important;}

span.labelstyle-84b6eb, .linked-labelstyle-84b6eb {  background-color: #84b6eb !important;  color: #1c2733 !important;}.labelstyle-84b6eb.selected {  background-color: #84b6eb !important;  color: #1c2733 !important;}.label-select-menu .labelstyle-84b6eb.selected {  background:rgba(132, 182, 235, 0.12) !important;  color: #557699 !important;}

span.labelstyle-0052cc, .linked-labelstyle-0052cc {  background-color: #0052cc !important;  color: #fff !important;}.labelstyle-0052cc.selected {  background-color: #0052cc !important;  color: #fff !important;}.label-select-menu .labelstyle-0052cc.selected {  background:rgba(0, 82, 204, 0.12) !important;  color: #003d99 !important;}

span.labelstyle-159818, .linked-labelstyle-159818 {  background-color: #159818 !important;  color: #fff !important;}.labelstyle-159818.selected {  background-color: #159818 !important;  color: #fff !important;}.label-select-menu .labelstyle-159818.selected {  background:rgba(21, 152, 24, 0.12) !important;  color: #159918 !important;}

span.labelstyle-e6e6e6, .linked-labelstyle-e6e6e6 {  background-color: #e6e6e6 !important;  color: #333333 !important;}.labelstyle-e6e6e6.selected {  background-color: #e6e6e6 !important;  color: #333333 !important;}.label-select-menu .labelstyle-e6e6e6.selected {  background:rgba(230, 230, 230, 0.12) !important;  color: #999999 !important;}

span.labelstyle-cc317c, .linked-labelstyle-cc317c {  background-color: #cc317c !important;  color: #fff !important;}.labelstyle-cc317c.selected {  background-color: #cc317c !important;  color: #fff !important;}.label-select-menu .labelstyle-cc317c.selected {  background:rgba(204, 49, 124, 0.12) !important;  color: #99245c !important;}

span.labelstyle-ffffff, .linked-labelstyle-ffffff {  background-color: #ffffff !important;  color: #333333 !important;}.labelstyle-ffffff.selected {  background-color: #ffffff !important;  color: #333333 !important;}.label-select-menu .labelstyle-ffffff.selected {  background:rgba(255, 255, 255, 0.12) !important;  color: #999999 !important;}
</style>

  <link href="https://github.com/lxc/pylxd/commits/fix_memory_hog.atom" rel="alternate" title="Recent Commits to pylxd:fix_memory_hog" type="application/atom+xml">

  <meta name="description" content="pylxd - Python module for LXD">
  <meta name="go-import" content="github.com/lxc/pylxd git https://github.com/lxc/pylxd.git">

  <meta content="2301756" name="octolytics-dimension-user_id" /><meta content="lxc" name="octolytics-dimension-user_login" /><meta content="36316984" name="octolytics-dimension-repository_id" /><meta content="lxc/pylxd" name="octolytics-dimension-repository_nwo" /><meta content="true" name="octolytics-dimension-repository_public" /><meta content="false" name="octolytics-dimension-repository_is_fork" /><meta content="36316984" name="octolytics-dimension-repository_network_root_id" /><meta content="lxc/pylxd" name="octolytics-dimension-repository_network_root_nwo" /><meta content="false" name="octolytics-dimension-repository_explore_github_marketplace_ci_cta_shown" />




  <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">

  <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">

  <link rel="mask-icon" href="https://assets-cdn.github.com/pinned-octocat.svg" color="#000000">
  <link rel="icon" type="image/x-icon" href="https://assets-cdn.github.com/favicon.ico">

<meta name="theme-color" content="#1e2327">



  </head>

  <body class="logged-out env-production">
    

  <div class="position-relative js-header-wrapper ">
    <a href="#start-of-content" tabindex="1" class="px-2 py-4 show-on-focus js-skip-to-content">Skip to content</a>
    <div id="js-pjax-loader-bar" class="pjax-loader-bar"><div class="progress"></div></div>

    
    
    



        <header class="Header header-logged-out  position-relative f4 py-3" role="banner">
  <div class="container-lg d-flex px-3">
    <div class="d-flex flex-justify-between flex-items-center">
      <a class="header-logo-invertocat my-0" href="https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark">
        <svg aria-hidden="true" class="octicon octicon-mark-github" height="32" version="1.1" viewBox="0 0 16 16" width="32"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>
      </a>

    </div>

    <div class="HeaderMenu HeaderMenu--bright d-flex flex-justify-between flex-auto">
        <nav class="mt-0">
          <ul class="d-flex list-style-none">
              <li class="ml-2">
                <a href="/features" class="js-selected-navigation-item HeaderNavlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:features" data-selected-links="/features /features/project-management /features/code-review /features/project-management /features/integrations /features">
                  Features
</a>              </li>
              <li class="ml-4">
                <a href="/business" class="js-selected-navigation-item HeaderNavlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:business" data-selected-links="/business /business/security /business/customers /business">
                  Business
</a>              </li>

              <li class="ml-4">
                <a href="/explore" class="js-selected-navigation-item HeaderNavlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:explore" data-selected-links="/explore /trending /trending/developers /integrations /integrations/feature/code /integrations/feature/collaborate /integrations/feature/ship showcases showcases_search showcases_landing /explore">
                  Explore
</a>              </li>

              <li class="ml-4">
                    <a href="/marketplace" class="js-selected-navigation-item HeaderNavlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:marketplace" data-selected-links=" /marketplace">
                      Marketplace
</a>              </li>
              <li class="ml-4">
                <a href="/pricing" class="js-selected-navigation-item HeaderNavlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:pricing" data-selected-links="/pricing /pricing/developer /pricing/team /pricing/business-hosted /pricing/business-enterprise /pricing">
                  Pricing
</a>              </li>
          </ul>
        </nav>

      <div class="d-flex">
          <div class="d-lg-flex flex-items-center mr-3">
            <div class="header-search scoped-search site-scoped-search js-site-search" role="search">
  <!-- '"` --><!-- </textarea></xmp> --></option></form><form accept-charset="UTF-8" action="/lxc/pylxd/search" class="js-site-search-form" data-scoped-search-url="/lxc/pylxd/search" data-unscoped-search-url="/search" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /></div>
    <label class="form-control header-search-wrapper js-chromeless-input-container">
        <a href="/lxc/pylxd/pull/245" class="header-search-scope no-underline">This repository</a>
      <input type="text"
        class="form-control header-search-input js-site-search-focus js-site-search-field is-clearable"
        data-hotkey="s"
        name="q"
        value=""
        placeholder="Search"
        aria-label="Search this repository"
        data-unscoped-placeholder="Search GitHub"
        data-scoped-placeholder="Search"
        autocapitalize="off">
        <input type="hidden" class="js-site-search-type-field" name="type" >
    </label>
</form></div>

          </div>

        <span class="d-inline-block">
            <div class="HeaderNavlink px-0 py-2 m-0">
              <a class="text-bold text-white no-underline" href="/login?return_to=%2Flxc%2Fpylxd%2Fpull%2F245" data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">Sign in</a>
                <span class="text-gray">or</span>
                <a class="text-bold text-white no-underline" href="/join?source=header-repo" data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up">Sign up</a>
            </div>
        </span>
      </div>
    </div>
  </div>
</header>


  </div>

  <div id="start-of-content" class="show-on-focus"></div>

    <div id="js-flash-container">
</div>



  <div role="main">
        <div itemscope itemtype="http://schema.org/SoftwareSourceCode">
    <div id="js-repo-pjax-container" data-pjax-container>
      

<!-- base sha1: "94210ae857c9c8ea97f20699256bdb1e09517408" -->
<!-- head sha1: "765e42182a5657fa0d04c2d5fce912d4a2926828" -->



  



    <div class="pagehead repohead instapaper_ignore readability-menu experiment-repo-nav">
      <div class="container repohead-details-container">

        <ul class="pagehead-actions">
  <li>
      <a href="/login?return_to=%2Flxc%2Fpylxd"
    class="btn btn-sm btn-with-count tooltipped tooltipped-n"
    aria-label="You must be signed in to watch a repository" rel="nofollow">
    <svg aria-hidden="true" class="octicon octicon-eye" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg>
    Watch
  </a>
  <a class="social-count" href="/lxc/pylxd/watchers"
     aria-label="26 users are watching this repository">
    26
  </a>

  </li>

  <li>
      <a href="/login?return_to=%2Flxc%2Fpylxd"
    class="btn btn-sm btn-with-count tooltipped tooltipped-n"
    aria-label="You must be signed in to star a repository" rel="nofollow">
    <svg aria-hidden="true" class="octicon octicon-star" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74z"/></svg>
    Star
  </a>

    <a class="social-count js-social-count" href="/lxc/pylxd/stargazers"
      aria-label="106 users starred this repository">
      106
    </a>

  </li>

  <li>
      <a href="/login?return_to=%2Flxc%2Fpylxd"
        class="btn btn-sm btn-with-count tooltipped tooltipped-n"
        aria-label="You must be signed in to fork a repository" rel="nofollow">
        <svg aria-hidden="true" class="octicon octicon-repo-forked" height="16" version="1.1" viewBox="0 0 10 16" width="10"><path fill-rule="evenodd" d="M8 1a1.993 1.993 0 0 0-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V6.5l3 3v1.78A1.993 1.993 0 0 0 5 15a1.993 1.993 0 0 0 1-3.72V9.5l3-3V4.72A1.993 1.993 0 0 0 8 1zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg>
        Fork
      </a>

    <a href="/lxc/pylxd/network" class="social-count"
       aria-label="68 users forked this repository">
      68
    </a>
  </li>
</ul>

        <h1 class="public ">
  <svg aria-hidden="true" class="octicon octicon-repo" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg>
  <span class="author" itemprop="author"><a href="/lxc" class="url fn" rel="author">lxc</a></span><!--
--><span class="path-divider">/</span><!--
--><strong itemprop="name"><a href="/lxc/pylxd" data-pjax="#js-repo-pjax-container">pylxd</a></strong>

</h1>

      </div>
      <div class="container">
        
<nav class="reponav js-repo-nav js-sidenav-container-pjax"
     itemscope
     itemtype="http://schema.org/BreadcrumbList"
     role="navigation"
     data-pjax="#js-repo-pjax-container">

  <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
    <a href="/lxc/pylxd" class="js-selected-navigation-item reponav-item" data-hotkey="g c" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches /lxc/pylxd" itemprop="url">
      <svg aria-hidden="true" class="octicon octicon-code" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M9.5 3L8 4.5 11.5 8 8 11.5 9.5 13 14 8 9.5 3zm-5 0L0 8l4.5 5L6 11.5 2.5 8 6 4.5 4.5 3z"/></svg>
      <span itemprop="name">Code</span>
      <meta itemprop="position" content="1">
</a>  </span>

    <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
      <a href="/lxc/pylxd/issues" class="js-selected-navigation-item reponav-item" data-hotkey="g i" data-selected-links="repo_issues repo_labels repo_milestones /lxc/pylxd/issues" itemprop="url">
        <svg aria-hidden="true" class="octicon octicon-issue-opened" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"/></svg>
        <span itemprop="name">Issues</span>
        <span class="Counter">9</span>
        <meta itemprop="position" content="2">
</a>    </span>

  <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
    <a href="/lxc/pylxd/pulls" class="js-selected-navigation-item selected reponav-item" data-hotkey="g p" data-selected-links="repo_pulls /lxc/pylxd/pulls" itemprop="url">
      <svg aria-hidden="true" class="octicon octicon-git-pull-request" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg>
      <span itemprop="name">Pull requests</span>
      <span class="Counter">7</span>
      <meta itemprop="position" content="3">
</a>  </span>




    <div class="reponav-dropdown js-menu-container">
      <button type="button" class="btn-link reponav-item reponav-dropdown js-menu-target " data-no-toggle aria-expanded="false" aria-haspopup="true">
        Insights
        <svg aria-hidden="true" class="octicon octicon-triangle-down v-align-middle text-gray" height="11" version="1.1" viewBox="0 0 12 16" width="8"><path fill-rule="evenodd" d="M0 5l6 6 6-6z"/></svg>
      </button>
      <div class="dropdown-menu-content js-menu-content">
        <div class="dropdown-menu dropdown-menu-sw">
          <a class="dropdown-item" href="/lxc/pylxd/pulse" data-skip-pjax>
            <svg aria-hidden="true" class="octicon octicon-pulse" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M11.5 8L8.8 5.4 6.6 8.5 5.5 1.6 2.38 8H0v2h3.6l.9-1.8.9 5.4L9 8.5l1.6 1.5H14V8z"/></svg>
            Pulse
          </a>
          <a class="dropdown-item" href="/lxc/pylxd/graphs" data-skip-pjax>
            <svg aria-hidden="true" class="octicon octicon-graph" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M16 14v1H0V0h1v14h15zM5 13H3V8h2v5zm4 0H7V3h2v10zm4 0h-2V6h2v7z"/></svg>
            Graphs
          </a>
        </div>
      </div>
    </div>
</nav>

      </div>
    </div>

<div class="container new-discussion-timeline experiment-repo-nav">
  <div class="repository-content">

    
  <div class="issues-listing" data-pjax>
    
      <div class="signup-prompt-bg rounded-1">
      <div class="signup-prompt p-4 text-center mb-4 rounded-1">
        <div class="position-relative">
          <!-- '"` --><!-- </textarea></xmp> --></option></form><form accept-charset="UTF-8" action="/site/dismiss_signup_prompt" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="P/UTDzmIVVNeUDPmb/qNk0t/YArUY1bHQOSen4okF60WUVuEiGKa3z9EsLo2txMSOCLvc7YAsiwGqXIBNaABNA==" /></div>
            <button type="submit" class="position-absolute top-0 right-0 btn-link link-gray" data-ga-click="(Logged out) Sign up prompt, clicked Dismiss, text:dismiss">
              Dismiss
            </button>
</form>
          <h3 class="pt-2">Join GitHub today</h3>
          <p class="col-6 mx-auto">GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.</p>
          <p class="pb-2">
            <a class="btn btn-blue" href="/join?source=prompt-pr-show" data-ga-click="(Logged out) Sign up prompt, clicked Sign up, text:sign-up">Sign up</a>
          </p>
        </div>
      </div>
    </div>



  <div class="clearfix js-issues-results">
    
  <div
    id="partial-discussion-header"
    class="gh-header js-details-container Details js-socket-channel js-updatable-content pull request"
    data-channel="pull_request:142246059"
    data-url="/lxc/pylxd/pull/245/show_partial?partial=pull_requests%2Ftitle">

  <div class="gh-header-show ">
      <div class="gh-header-actions">

          <button type="button" data-facebox="#new_issue_modal" class="btn btn-sm btn-primary float-right" data-hotkey="c" aria-haspopup="true" data-ga-click="Issues, create new issue, view:issue_show location:issue_header style:button logged_in:false">New issue</button>
          <div id="new_issue_modal" class="d-none">
  <div class="mt-3 mb-2 text-center">
    <svg aria-hidden="true" class="octicon octicon-comment-discussion text-blue" height="60" version="1.1" viewBox="0 0 16 16" width="60"><path fill-rule="evenodd" d="M15 1H6c-.55 0-1 .45-1 1v2H1c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h1v3l3-3h4c.55 0 1-.45 1-1V9h1l3 3V9h1c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1zM9 11H4.5L3 12.5V11H1V5h4v3c0 .55.45 1 1 1h3v2zm6-3h-2v1.5L11.5 8H6V2h9v6z"/></svg>
  </div>

  <div class="px-4">
    <p class="text-center mb-4">
      <strong>Have a question about this project?</strong> Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
    </p>

    <!-- '"` --><!-- </textarea></xmp> --></option></form><form accept-charset="UTF-8" action="/join?return_to=%2Flxc%2Fpylxd%2Fissues%2Fnew" autocomplete="off" class="js-signup-form" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="+k/DtHw0alCrL4qa+MNGt78EpT12a7vbFOosKEZlSRlBu5d7QzlFjSKLvQOAky08u1aeFDAlXaGdUobzRIpqkw==" /></div>      <dl class="form-group"><dt class="input-label"><label autocapitalize="off" autofocus="autofocus" data-autocheck-authenticity-token="z7ADTVecPWn9g5MYSOS0CUghaIy+qycD2Rn4SHBwb//1PpWbdb+b1/hZ/9hJ7txJSGp/ro+BhGQuC/yV72/Cew==" data-autocheck-url="/signup_check/username" data-facebox-id="user-login-issues" for="user_login_issues" name="user[login]">Pick a username</label></dt><dd><input autocapitalize="off" autofocus="autofocus" class="form-control" data-autocheck-authenticity-token="z7ADTVecPWn9g5MYSOS0CUghaIy+qycD2Rn4SHBwb//1PpWbdb+b1/hZ/9hJ7txJSGp/ro+BhGQuC/yV72/Cew==" data-autocheck-url="/signup_check/username" data-facebox-id="user-login-issues" id="user_login_issues" name="user[login]" size="30" type="text" /></dd></dl>

      <dl class="form-group"><dt class="input-label"><label autocapitalize="off" data-autocheck-authenticity-token="wTdQglqkP5VaXNVD8cJpCeKXyP9WtdTnMLn6JwbUWV1S1sYkuVsP2TT4l20ndo6oW8ar/RQs/ud2rLdODEa5ZA==" data-autocheck-url="/signup_check/email" data-facebox-id="user-email-issues" for="user_email_issues" name="user[email]">Email Address</label></dt><dd><input autocapitalize="off" class="form-control" data-autocheck-authenticity-token="wTdQglqkP5VaXNVD8cJpCeKXyP9WtdTnMLn6JwbUWV1S1sYkuVsP2TT4l20ndo6oW8ar/RQs/ud2rLdODEa5ZA==" data-autocheck-url="/signup_check/email" data-facebox-id="user-email-issues" id="user_email_issues" name="user[email]" size="30" type="text" /></dd></dl>

      <dl class="form-group"><dt class="input-label"><label data-autocheck-authenticity-token="wKZRyn4th1UmEu2R25J7nt+JqSFgEEeA9M21wa+DL+JZp6Jb4ZJmEvXmpib+nEBmx++Lyz+SiJmIHjP/kQXzEw==" data-autocheck-url="/signup_check/password" data-facebox-id="user-password-issues" for="user_password_issues" name="user[password]">Password</label></dt><dd><input class="form-control" data-autocheck-authenticity-token="wKZRyn4th1UmEu2R25J7nt+JqSFgEEeA9M21wa+DL+JZp6Jb4ZJmEvXmpib+nEBmx++Lyz+SiJmIHjP/kQXzEw==" data-autocheck-url="/signup_check/password" data-facebox-id="user-password-issues" id="user_password_issues" name="user[password]" size="30" type="password" /></dd></dl>

      <input type="hidden" name="source" class="js-signup-source" value="modal-issues">
      <input class="form-control" id="required_field_5486" name="required_field_5486" style="display: none" type="text" />
<input class="form-control" name="timestamp" type="hidden" value="1505962771546" />
<input class="form-control" name="timestamp_secret" type="hidden" value="793f9a8587eddfad77e12ab60244de6cb169902e064ff17e73596344ac588265" />


      <button class="btn btn-primary mt-2 btn-block" type="submit" data-ga-click="(Logged out) New issue modal, clicked Sign up, text:sign-up">Sign up for GitHub</button>
</form>
    <p class="mt-4 text-gray text-center">Already on GitHub? <a href="/login?return_to=%2Flxc%2Fpylxd%2Fissues%2Fnew" data-ga-click="(Logged out) New issue modal, clicked Sign in, text:sign-in">Sign in</a> to your account</p>
  </div>
</div>

      </div>

    <h1 class="gh-header-title">
      <span class="js-issue-title">
        Fix memory hog during image import
      </span>
      <span class="gh-header-number">#245</span>
    </h1>
  </div>


  <div class="TableObject gh-header-meta">
    <div class="TableObject-item">
        <div class="State State--green">
          <svg aria-hidden="true" class="octicon octicon-git-pull-request" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg>
          Open
        </div>
    </div>
    <div class="TableObject-item TableObject-item--primary">
          <a href="/shurkaxaa" class="author pull-header-username css-truncate css-truncate-target expandable">
    shurkaxaa
  </a>
   wants to merge 4 commits into



  <span class="commit-ref css-truncate user-select-contain expandable base-ref" title="lxc/pylxd:master"><span class="css-truncate-target user">lxc</span>:<span class="css-truncate-target">master</span></span>

  <div class="commit-ref-dropdown">
    <div class="select-menu js-menu-container js-select-menu commitish-suggester js-load-contents" data-contents-url="/lxc/pylxd/pull/245/show_partial?partial=pull_requests%2Fdescription_branches_dropdown">
      <button class="btn btn-sm select-menu-button js-menu-target branch" type="button" aria-label="Choose a base branch" aria-haspopup="true" aria-expanded="false">
        <i>base:</i>
        <span class="js-select-button css-truncate css-truncate-target" title="base: master">master</span>
      </button>
      <div class="select-menu-modal-holder js-menu-content js-navigation-container">
        <div class="select-menu-modal">
          <div class="js-select-menu-deferred-content"></div>
          <div class="select-menu-loading-overlay anim-pulse">
            <svg aria-hidden="true" class="octicon octicon-octoface" height="32" version="1.1" viewBox="0 0 16 16" width="32"><path fill-rule="evenodd" d="M14.7 5.34c.13-.32.55-1.59-.13-3.31 0 0-1.05-.33-3.44 1.3-1-.28-2.07-.32-3.13-.32s-2.13.04-3.13.32c-2.39-1.64-3.44-1.3-3.44-1.3-.68 1.72-.26 2.99-.13 3.31C.49 6.21 0 7.33 0 8.69 0 13.84 3.33 15 7.98 15S16 13.84 16 8.69c0-1.36-.49-2.48-1.3-3.35zM8 14.02c-3.3 0-5.98-.15-5.98-3.35 0-.76.38-1.48 1.02-2.07 1.07-.98 2.9-.46 4.96-.46 2.07 0 3.88-.52 4.96.46.65.59 1.02 1.3 1.02 2.07 0 3.19-2.68 3.35-5.98 3.35zM5.49 9.01c-.66 0-1.2.8-1.2 1.78s.54 1.79 1.2 1.79c.66 0 1.2-.8 1.2-1.79s-.54-1.78-1.2-1.78zm5.02 0c-.66 0-1.2.79-1.2 1.78s.54 1.79 1.2 1.79c.66 0 1.2-.8 1.2-1.79s-.53-1.78-1.2-1.78z"/></svg>
          </div>
        </div>
      </div>
    </div>
  </div>

from

<span class="commit-ref css-truncate user-select-contain expandable head-ref" title="shurkaxaa/pylxd:fix_memory_hog"><span class="css-truncate-target user">shurkaxaa</span>:<span class="css-truncate-target">fix_memory_hog</span></span>



    </div>
  </div>
</div>


      
<div class="tabnav tabnav-pr">
    <div class="tabnav-extra float-right">
      <span class="diffstat" id="diffstat">
        <span class="text-green">
          +16
        </span>
        <span class="text-red">
          −2
        </span>
        <span class="tooltipped tooltipped-s" aria-label="18 lines changed">
          <span class="block-diff-added"></span><span class="block-diff-added"></span><span class="block-diff-added"></span><span class="block-diff-added"></span><span class="block-diff-neutral"></span>
        </span>
      </span>
    </div>

  <nav class="tabnav-tabs">
    <a href="/lxc/pylxd/pull/245" class="tabnav-tab selected js-pjax-history-navigate">
      <svg aria-hidden="true" class="octicon octicon-comment-discussion" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M15 1H6c-.55 0-1 .45-1 1v2H1c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h1v3l3-3h4c.55 0 1-.45 1-1V9h1l3 3V9h1c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1zM9 11H4.5L3 12.5V11H1V5h4v3c0 .55.45 1 1 1h3v2zm6-3h-2v1.5L11.5 8H6V2h9v6z"/></svg>
      Conversation

      <span id="conversation_tab_counter" class="Counter">
        0
      </span>
    </a>

    <a href="/lxc/pylxd/pull/245/commits" class="tabnav-tab  js-pjax-history-navigate">
      <svg aria-hidden="true" class="octicon octicon-git-commit" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
      Commits

      <span id="commits_tab_counter" class="Counter">
        4
      </span>
    </a>

      <link rel="pjax-prefetch" href="/lxc/pylxd/pull/245/files">
    <a href="/lxc/pylxd/pull/245/files" class="tabnav-tab  js-pjax-history-navigate">
      <svg aria-hidden="true" class="octicon octicon-diff" height="16" version="1.1" viewBox="0 0 13 16" width="13"><path fill-rule="evenodd" d="M6 7h2v1H6v2H5V8H3V7h2V5h1v2zm-3 6h5v-1H3v1zM7.5 2L11 5.5V15c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h6.5zM10 6L7 3H1v12h9V6zM8.5 0H3v1h5l4 4v8h1V4.5L8.5 0z"/></svg>
      Files changed

        <span id="files_tab_counter" class="Counter">
            2
        </span>
    </a>
  </nav>
</div>



    <h2 class="sr-only">Conversation</h2>
    <div id="discussion_bucket" class="clearfix pull-request-tab-content is-visible">
      <div class="discussion-sidebar">
  <div id="partial-discussion-sidebar"
  class="js-socket-channel js-updatable-content"
  data-channel="pull_request:142246059"
  data-url="/lxc/pylxd/issues/245/show_partial?partial=issues%2Fsidebar">

    <div class="discussion-sidebar-item sidebar-assignee js-discussion-sidebar-item position-relative">
  <!-- '"` --><!-- </textarea></xmp> --></option></form><form accept-charset="UTF-8" action="/lxc/pylxd/pull/245/review-requests?pr_global_id=MDExOlB1bGxSZXF1ZXN0MTQyMjQ2MDU5" class="js-issue-sidebar-form" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="2wUcYrNFkM4WCa7B4pn8owBWoFhP4IzDGEe3eq4v4JaCAIW+QK9W/Ahe7AGSV89AD3wg2KZ8uX+p3j/OE2rxJA==" /></div>
    

  <div class="discussion-sidebar-heading text-bold">
    Reviewers
  </div>

    <span class="css-truncate">
    No reviews
</span>

</form></div>

  <div class="discussion-sidebar-item sidebar-assignee js-discussion-sidebar-item">
  <!-- '"` --><!-- </textarea></xmp> --></option></form><form accept-charset="UTF-8" action="/lxc/pylxd/issues/245?partial=issues%2Fsidebar%2Fshow%2Fassignees" class="js-issue-sidebar-form" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="jq65aUPNpVDFj1/5fSRIA+8MfnrB1cU/67GhiO0+R5hx5b6MPTCTMzHZmsN3f2rmKlhpCs6hldDMVNvLn6D3uA==" /></div>
    

  <div class="discussion-sidebar-heading text-bold">
    Assignees
  </div>

    <span class="css-truncate">
    No one assigned
</span>

</form></div>

  <div class="discussion-sidebar-item sidebar-labels js-discussion-sidebar-item">
  <!-- '"` --><!-- </textarea></xmp> --></option></form><form accept-charset="UTF-8" action="/lxc/pylxd/issues/245?partial=issues%2Fsidebar%2Fshow%2Flabels" class="js-issue-sidebar-form" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="1aFNjWfcPk8UMS1RDpSYD5PK1Bu2FuIWHsG93P+lXekq6kpoGSEILOBn6GsEz7rqVp7Da7lisvk5JMefjTvtyQ==" /></div>
    <div class="js-issue-labels-container">
      

  <div class="discussion-sidebar-heading text-bold">
    Labels
  </div>


    </div>
    <div class="labels css-truncate">
    None yet
</div>

</form></div>

    <div class="discussion-sidebar-item js-discussion-sidebar-item">
  <!-- '"` --><!-- </textarea></xmp> --></option></form><form accept-charset="UTF-8" action="/lxc/pylxd/projects/issues/245" class="js-issue-sidebar-form" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="uVbcoxWAvzf6bz8lVKGZ6jYRqQzUYmcUkIFDoRuYgS3/OGkCf3zm6YFunVQ1RU4xlZ79tlw0SiNv7QMtCS9Mog==" /></div>
    

  <div class="discussion-sidebar-heading text-bold">
    Projects
  </div>

    <span class="css-truncate">
    None yet
</span>

</form></div>

  <div class="discussion-sidebar-item sidebar-milestone js-discussion-sidebar-item">
  <!-- '"` --><!-- </textarea></xmp> --></option></form><form accept-charset="UTF-8" action="/lxc/pylxd/issues/245/set_milestone?partial=issues%2Fsidebar%2Fshow%2Fmilestone" class="js-issue-sidebar-form" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="0km6AG67sCnwpX7JFHe+HCqaXt7B5+BUicEMSnUm0GvvYAOXqHU0clu/Ql9P+NLjI/E+iLePbsmOlnQJVQ8M2A==" /></div>
    

  <div class="discussion-sidebar-heading text-bold">
    Milestone
  </div>

      No milestone

</form></div>

  
  <div id="partial-users-participants" class="discussion-sidebar-item">
  <div class="participation">

    <div class="discussion-sidebar-heading text-bold">
      1 participant
    </div>
    <div class="participation-avatars">
        <a class="participant-avatar tooltipped tooltipped-n" aria-label="shurkaxaa" href="/shurkaxaa"><img alt="@shurkaxaa" class="avatar" height="26" src="https://avatars0.githubusercontent.com/u/20762983?v=4&s=52" width="26" /> </a>
    </div>
  </div>
</div>


  

</div>


</div>

<div class="discussion-timeline pull-discussion-timeline js-pull-discussion-timeline js-quote-selection-container js-review-state-classes  ">
  <div class="js-discussion js-socket-channel" data-channel="marked-as-read:pull-request:142246059">
    

  
  <div class="timeline-comment-wrapper js-comment-container">

    

<div class="avatar-parent-child timeline-comment-avatar">
    <a href="/shurkaxaa">
      <img alt="@shurkaxaa" class="avatar rounded-1" height="44" src="https://avatars3.githubusercontent.com/u/20762983?v=4&s=88" width="44" />
    </a>

</div>



      
<div id="issue-259361216"
     class="comment previewable-edit js-comment js-task-list-container timeline-comment  "
     data-body-version="8ae7c946c038b377b88104df814d24a9">

  
<div class="timeline-comment-header">
  <div class="timeline-comment-actions">




  </div>

    



  <h3 class="timeline-comment-header-text f5 text-normal">

    <strong>
      

  <a href="/shurkaxaa" class="author">shurkaxaa</a>
  

    </strong>

    commented

    <a href="#issue-259361216" class="timestamp"><relative-time datetime="2017-09-21T02:59:29Z">Sep 21, 2017</relative-time></a>



  </h3>
</div>


  <div class="edit-comment-hide">
    <table class="d-block">
      <tbody class="d-block">
        <tr class="d-block">
          <td class="d-block comment-body markdown-body  js-comment-body">
              <p>Existing version load image into memory when non-unified image used<br>
(with separate tarball with manifest).<br>
Added ability for stream based image upload without loading them to memory.<br>
requests-toolbelt external package required for streaming multipart HTTP<br>
image upload.<br>
Additional parameter added to identify if streams are/can be passed - this will allow<br>
pylxd client to identify via introspection if pylxd library supports stream based<br>
upload and fallback to old non-stream behavior if old version of pylxd is installed.</p>
          </td>
        </tr>
      </tbody>
    </table>

      

<div class="comment-reactions  js-reactions-container "

    >
</div>

  </div>

</div>

  </div>

  
  
<div class="discussion-item discussion-commits" id="commits-pushed-0e3ec06">
    <h3 class="discussion-item-header f5 text-normal">
      <span class="discussion-item-icon">
        <svg aria-hidden="true" class="octicon octicon-repo-push" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M4 3H3V2h1v1zM3 5h1V4H3v1zm4 0L4 9h2v7h2V9h2L7 5zm4-5H1C.45 0 0 .45 0 1v12c0 .55.45 1 1 1h4v-1H1v-2h4v-1H2V1h9.02L11 10H9v1h2v2H9v1h2c.55 0 1-.45 1-1V1c0-.55-.45-1-1-1z"/></svg>
      </span>
      
  <a href="/shurkaxaa" class="author">shurkaxaa</a>

      added some commits
      <a href="#commits-pushed-0e3ec06" class="timestamp">
        <relative-time datetime="2017-09-20T07:43:35Z">Sep 20, 2017</relative-time>
      </a>
    </h3>
  <div class="discussion-item-body">
    <table class="timeline-commits">
        

<tr class="commit js-details-container Details js-socket-channel js-updatable-content"
    data-channel="repo:36316984:commit:0e3ec068f05c57b4d6d37f9cda26a80b48857154"
    data-url="/_render_node/MDE3OlB1bGxSZXF1ZXN0Q29tbWl0MTQyMjQ2MDU5OjBlM2VjMDY4ZjA1YzU3YjRkNmQzN2Y5Y2RhMjZhODBiNDg4NTcxNTQ=/commit/pull_condensed">
  <td class="commit-icon">
    <svg aria-hidden="true" class="octicon octicon-git-commit" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
  </td>

  <td class="commit-gravatar no-wrap text-right">
    
  <a href="/shurkaxaa" class="d-inline-block">
    <img src="https://avatars2.githubusercontent.com/u/20762983?v=4&s=32" width="16" height="16" class="avatar avatar-small" alt="@shurkaxaa">
  </a>

  </td>

  <td class="commit-author">
    <strong>
  <a href="/shurkaxaa" class="author">shurkaxaa</a>
</strong>
  </td>

  <td class="commit-message">
    <code>
      <a href="/lxc/pylxd/pull/245/commits/0e3ec068f05c57b4d6d37f9cda26a80b48857154" class="message" data-pjax="true" title="Add ability for stream based image upload without loading them to
memory. requests-toolbetl external package required as embedded
to requests multipart 'files' based upload still load parts to
memory.">Add ability for stream based image upload without loading them to</a>
    </code>

      <span class="hidden-text-expander inline">
        <button type="button" class="ellipsis-expander js-details-target" aria-expanded="false">…</button>
      </span>
      <div class="commit-desc"><pre>memory. requests-toolbetl external package required as embedded
to requests multipart 'files' based upload still load parts to
memory.</pre></div>

  </td>

  <td class="commit-sig-status">
    

  </td>

  <td class="commit-ci-status">
  </td>

  <td class="commit-meta">
    <code>
      <a href="/lxc/pylxd/pull/245/commits/0e3ec068f05c57b4d6d37f9cda26a80b48857154" class="commit-id">0e3ec06</a>
    </code>
  </td>
</tr>


        

<tr class="commit js-details-container Details js-socket-channel js-updatable-content"
    data-channel="repo:36316984:commit:2781158cc151c489d7d11afed67aa7d6e7ecbc54"
    data-url="/_render_node/MDE3OlB1bGxSZXF1ZXN0Q29tbWl0MTQyMjQ2MDU5OjI3ODExNThjYzE1MWM0ODlkN2QxMWFmZWQ2N2FhN2Q2ZTdlY2JjNTQ=/commit/pull_condensed">
  <td class="commit-icon">
    <svg aria-hidden="true" class="octicon octicon-git-commit" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
  </td>

  <td class="commit-gravatar no-wrap text-right">
    
  <a href="/shurkaxaa" class="d-inline-block">
    <img src="https://avatars2.githubusercontent.com/u/20762983?v=4&s=32" width="16" height="16" class="avatar avatar-small" alt="@shurkaxaa">
  </a>

  </td>

  <td class="commit-author">
    <strong>
  <a href="/shurkaxaa" class="author">shurkaxaa</a>
</strong>
  </td>

  <td class="commit-message">
    <code>
      <a href="/lxc/pylxd/pull/245/commits/2781158cc151c489d7d11afed67aa7d6e7ecbc54" class="message" data-pjax="true" title="Add ability for stream based image upload without loading them to
memory. requests-toolbetl external package required as embedded
to requests multipart 'files' based upload still load parts to
memory.">Add ability for stream based image upload without loading them to</a>
    </code>

      <span class="hidden-text-expander inline">
        <button type="button" class="ellipsis-expander js-details-target" aria-expanded="false">…</button>
      </span>
      <div class="commit-desc"><pre>memory. requests-toolbetl external package required as embedded
to requests multipart 'files' based upload still load parts to
memory.</pre></div>

  </td>

  <td class="commit-sig-status">
    

  </td>

  <td class="commit-ci-status">
  </td>

  <td class="commit-meta">
    <code>
      <a href="/lxc/pylxd/pull/245/commits/2781158cc151c489d7d11afed67aa7d6e7ecbc54" class="commit-id">2781158</a>
    </code>
  </td>
</tr>


        

<tr class="commit js-details-container Details js-socket-channel js-updatable-content"
    data-channel="repo:36316984:commit:6bfbee6f62e1a0a0f11f5d796d5d00103a77f7f7"
    data-url="/_render_node/MDE3OlB1bGxSZXF1ZXN0Q29tbWl0MTQyMjQ2MDU5OjZiZmJlZTZmNjJlMWEwYTBmMTFmNWQ3OTZkNWQwMDEwM2E3N2Y3Zjc=/commit/pull_condensed">
  <td class="commit-icon">
    <svg aria-hidden="true" class="octicon octicon-git-commit" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
  </td>

  <td class="commit-gravatar no-wrap text-right">
    
  <a href="/shurkaxaa" class="d-inline-block">
    <img src="https://avatars2.githubusercontent.com/u/20762983?v=4&s=32" width="16" height="16" class="avatar avatar-small" alt="@shurkaxaa">
  </a>

  </td>

  <td class="commit-author">
    <strong>
  <a href="/shurkaxaa" class="author">shurkaxaa</a>
</strong>
  </td>

  <td class="commit-message">
    <code>
      <a href="/lxc/pylxd/pull/245/commits/6bfbee6f62e1a0a0f11f5d796d5d00103a77f7f7" class="message" data-pjax="true" title="Merge branch 'fix_memory_hog' of github.com:shurkaxaa/pylxd into fix_memory_hog">Merge branch 'fix_memory_hog' of github.com:shurkaxaa/pylxd into fix_…</a>
    </code>

      <span class="hidden-text-expander inline">
        <button type="button" class="ellipsis-expander js-details-target" aria-expanded="false">…</button>
      </span>
      <div class="commit-desc"><pre>…memory_hog</pre></div>

  </td>

  <td class="commit-sig-status">
    

  </td>

  <td class="commit-ci-status">
  </td>

  <td class="commit-meta">
    <code>
      <a href="/lxc/pylxd/pull/245/commits/6bfbee6f62e1a0a0f11f5d796d5d00103a77f7f7" class="commit-id">6bfbee6</a>
    </code>
  </td>
</tr>


        

<tr class="commit js-details-container Details js-socket-channel js-updatable-content"
    data-channel="repo:36316984:commit:765e42182a5657fa0d04c2d5fce912d4a2926828"
    data-url="/_render_node/MDE3OlB1bGxSZXF1ZXN0Q29tbWl0MTQyMjQ2MDU5Ojc2NWU0MjE4MmE1NjU3ZmEwZDA0YzJkNWZjZTkxMmQ0YTI5MjY4Mjg=/commit/pull_condensed">
  <td class="commit-icon">
    <svg aria-hidden="true" class="octicon octicon-git-commit" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
  </td>

  <td class="commit-gravatar no-wrap text-right">
    
  <a href="/shurkaxaa" class="d-inline-block">
    <img src="https://avatars2.githubusercontent.com/u/20762983?v=4&s=32" width="16" height="16" class="avatar avatar-small" alt="@shurkaxaa">
  </a>

  </td>

  <td class="commit-author">
    <strong>
  <a href="/shurkaxaa" class="author">shurkaxaa</a>
</strong>
  </td>

  <td class="commit-message">
    <code>
      <a href="/lxc/pylxd/pull/245/commits/765e42182a5657fa0d04c2d5fce912d4a2926828" class="message" data-pjax="true" title="Remove unneeded changes">Remove unneeded changes</a>
    </code>


  </td>

  <td class="commit-sig-status">
    

  </td>

  <td class="commit-ci-status">
  </td>

  <td class="commit-meta">
    <code>
      <a href="/lxc/pylxd/pull/245/commits/765e42182a5657fa0d04c2d5fce912d4a2926828" class="commit-id">765e421</a>
    </code>
  </td>
</tr>


    </table>
  </div>
</div>






<!-- Rendered timeline since 2017-09-20 19:58:00 -->
<div id="partial-timeline-marker"
      class="js-timeline-marker js-socket-channel js-updatable-content"
      data-channel="pull_request:142246059"
      data-url="/lxc/pylxd/pull/245/show_partial?partial=pull_requests%2Ftimeline_marker&since=1505962680"
      data-last-modified="Thu, 21 Sep 2017 02:58:00 GMT">

    <!-- '"` --><!-- </textarea></xmp> --></option></form><form accept-charset="UTF-8" action="/lxc/pylxd/notifications/mark?ids=259715376" class="d-none js-timeline-marker-form" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="kIVKl5Uj7TPojLLZ/fnprUdukVLdjR/PW5AQD9yjxGrusZ0rYvr/+GX7IQUrDTO+LI7eA7kg2Kt9HFb0cX/rrw==" /></div>
</form></div>


  </div>

  <div class="discussion-timeline-actions">
          <div class="flash flash-warn mt-3">
    <a href="/join?source=comment-repo" class="btn btn-primary" rel="nofollow">Sign up for free</a>
    <strong>to join this conversation on GitHub</strong>.
    Already have an account?
    <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Flxc%2Fpylxd%2Fpull%2F245" rel="nofollow">Sign in to comment</a>
</div>


  </div>
</div>

    </div>
  </div>

  </div>

  </div>
  <div class="modal-backdrop js-touch-events"></div>
</div>

    </div>
  </div>

  </div>

      
<div class="footer container-lg px-3" role="contentinfo">
  <div class="position-relative d-flex flex-justify-between py-6 mt-6 f6 text-gray border-top border-gray-light ">
    <ul class="list-style-none d-flex flex-wrap ">
      <li class="mr-3">© 2017 <span title="0.40434s from unicorn-947401866-4brz9">GitHub</span>, Inc.</li>
        <li class="mr-3"><a href="https://github.com/site/terms" data-ga-click="Footer, go to terms, text:terms">Terms</a></li>
        <li class="mr-3"><a href="https://github.com/site/privacy" data-ga-click="Footer, go to privacy, text:privacy">Privacy</a></li>
        <li class="mr-3"><a href="https://github.com/security" data-ga-click="Footer, go to security, text:security">Security</a></li>
        <li class="mr-3"><a href="https://status.github.com/" data-ga-click="Footer, go to status, text:status">Status</a></li>
        <li><a href="https://help.github.com" data-ga-click="Footer, go to help, text:help">Help</a></li>
    </ul>

    <a href="https://github.com" aria-label="Homepage" class="footer-octicon" title="GitHub">
      <svg aria-hidden="true" class="octicon octicon-mark-github" height="24" version="1.1" viewBox="0 0 16 16" width="24"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>
</a>
    <ul class="list-style-none d-flex flex-wrap ">
        <li class="mr-3"><a href="https://github.com/contact" data-ga-click="Footer, go to contact, text:contact">Contact GitHub</a></li>
      <li class="mr-3"><a href="https://developer.github.com" data-ga-click="Footer, go to api, text:api">API</a></li>
      <li class="mr-3"><a href="https://training.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li>
      <li class="mr-3"><a href="https://shop.github.com" data-ga-click="Footer, go to shop, text:shop">Shop</a></li>
        <li class="mr-3"><a href="https://github.com/blog" data-ga-click="Footer, go to blog, text:blog">Blog</a></li>
        <li><a href="https://github.com/about" data-ga-click="Footer, go to about, text:about">About</a></li>

    </ul>
  </div>
</div>



  <div id="ajax-error-message" class="ajax-error-message flash flash-error">
    <svg aria-hidden="true" class="octicon octicon-alert" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z"/></svg>
    <button type="button" class="flash-close js-flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
      <svg aria-hidden="true" class="octicon octicon-x" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z"/></svg>
    </button>
    You can't perform that action at this time.
  </div>


    <script crossorigin="anonymous" src="https://assets-cdn.github.com/assets/compat-91f98c37fc84eac24836eec2567e9912742094369a04c4eba6e3cd1fa18902d9.js"></script>
    <script crossorigin="anonymous" src="https://assets-cdn.github.com/assets/frameworks-0774b648d2fa46409c27660a35169a3f79dc46adc981c216cd16664e473791c5.js"></script>
    
    <script async="async" crossorigin="anonymous" src="https://assets-cdn.github.com/assets/github-c1fa7feb01ce9cdea2acbf01070542667e3f7c3ad793800c695e546ca6a44e3f.js"></script>
    
    
    
    
  <div class="js-stale-session-flash stale-session-flash flash flash-warn flash-banner d-none">
    <svg aria-hidden="true" class="octicon octicon-alert" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z"/></svg>
    <span class="signed-in-tab-flash">You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span>
    <span class="signed-out-tab-flash">You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span>
  </div>
  <div class="facebox" id="facebox" style="display:none;">
  <div class="facebox-popup">
    <div class="facebox-content" role="dialog" aria-labelledby="facebox-header" aria-describedby="facebox-description">
    </div>
    <button type="button" class="facebox-close js-facebox-close" aria-label="Close modal">
      <svg aria-hidden="true" class="octicon octicon-x" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z"/></svg>
    </button>
  </div>
</div>


  </body>
</html>



More information about the lxc-devel mailing list