[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="✓" /></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="✓" /><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="✓" /><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="✓" /><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="✓" /><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="✓" /><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="✓" /><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="✓" /><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="✓" /><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