Commit Graph

121 Commits

Author SHA1 Message Date
861f46b221 Refactor use of graphdriver.Differ
Some graphdrivers are Differs and type assertions are made
in various places throughout the project. Differ offers some
convenience in generating/applying diffs of filesystem layers
but for most graphdrivers another code path is taken.

This patch brings all of the logic related to filesystem
diffs in one place, and simplifies the implementation of some
common types like Image, Daemon, and Container.

Signed-off-by: Josh Hawn <josh.hawn@docker.com>
Upstream-commit: dee6b481fe0da1d845261ffff2e610fb05898d3c
Component: engine
2014-09-16 15:10:32 -07:00
8419ddae48 Include directories that contain changes inside them when calculating diff. Fixes #6722
Docker-DCO-1.1-Signed-off-by: Leszek Kowalski <github@leszekkowalski.pl> (github: ljk)
Upstream-commit: 691bbf6a2971bd6d57892cbf7efe188f431919a2
Component: engine
2014-09-08 19:11:48 +03:00
fa012b5f22 archive: use pooled bufio readers and writers
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: 84d76e556bb96fbddcac20fb5dbce82223987bf8
Component: engine
2014-09-03 11:37:03 +03:00
e9ab736d16 move some io related utils to pkg/ioutils
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: 76212635b594d4472dd8d5b2e071fac416addbe7
Component: engine
2014-09-03 11:36:21 +03:00
9df494bb71 another commit to do like @crosbymichael
Signed-off-by: Victor Vieux <vieux@docker.com>
Upstream-commit: a0392324f194f4f92e3205f0c0ed8b71dc2fc93f
Component: engine
2014-08-14 01:36:26 +00:00
4737f7cea5 Extract log utils into pkg/log
Docker-DCO-1.1-Signed-off-by: Josiah Kiehl <josiah@capoferro.net> (github: capoferro)
Upstream-commit: a02f67be5b17da63d475e6f35956c1e72c3b2e7b
Component: engine
2014-08-13 15:18:15 -07:00
d6d8f8ffe0 Use only unavailable image when load from Tarball
Docker-DCO-1.1-Signed-off-by: Satoshi Amemiya <satoshi_amemiya@voyagegroup.com> (github: rail44)
Upstream-commit: a34dd216119bd343eb4a1f68ad209816d7a3f4c9
Component: engine
2014-08-08 20:30:38 +09:00
88915cec66 Return error for utils.Matches in archive
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
Upstream-commit: 8891e912b44c4ff597f7a45658c4d3030d730c98
Component: engine
2014-07-31 15:11:15 -07:00
604012d742 Fix .dockerignore when ignoring unreadable dirs
The initial `ValidateContextDirectory` implementation fails loudly when a file
lacks read permissions in the current context. However that situation is valid
if the file is included in the `.dockerignore` patterns.

Docker-DCO-1.1-Signed-off-by: Bruno Renié <brutasse@gmail.com> (github: brutasse)
Upstream-commit: 27cca4c70cc7f0cccfda693ca7bbb2422eec3e13
Component: engine
2014-07-31 15:10:56 -07:00
4eed6ed770 Merge pull request #7097 from LK4D4/fix_eof_dockerignore_#7093
Skip whole dir dockerignoring with warning
Upstream-commit: 7978b3212789203ffe75af60792d85132fb1c519
Component: engine
2014-07-28 17:34:44 +03:00
165da04561 Merge pull request #7166 from unclejack/maintainer_archive
archive: add unclejack to MAINTAINERS
Upstream-commit: ec5b97ce9b4582745db45a9393e853df04b2ae9e
Component: engine
2014-07-25 13:44:49 -07:00
52dcbf17e9 archive: add unclejack to MAINTAINERS
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: 4fbc47e801531ae1738bb8d4cec0ee2450ccfcb9
Component: engine
2014-07-25 02:07:40 +03:00
6ae4c9014c update go import path and libcontainer
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
Upstream-commit: b3ee9ac74e171e00f14027e39278013629e681b8
Component: engine
2014-07-24 22:19:50 +00:00
597e28c8dd archive: add a benchmark for TarUntar
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: 76429cc11f6e2bd731e9ee77a2a538f15ef80eea
Component: engine
2014-07-21 23:20:32 +03:00
c36c61ebfe archive: add buffers to operations with tarballs
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: a377844998f6a866d59bf356790f76d0d25bf01f
Component: engine
2014-07-21 23:20:21 +03:00
fb5c0827a3 Skip whole dir dockerignoring with warning
Fixes #7093
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
Upstream-commit: 7d97a5f4760da388c22a5a29ed95888b89a23d57
Component: engine
2014-07-18 09:35:54 +04:00
88c1dfaedb Merge pull request #7016 from LK4D4/fix_some_cleanups_in_archive
Some resource clean ups in archive
Upstream-commit: dfbb291c4005bbf6fec8b5cd9c95ebec58cdf3b1
Component: engine
2014-07-14 13:26:47 -04:00
d90f5b872a Some resource clean ups in archive
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
Upstream-commit: 66ccd55ed4676b0b306829aa01ffdd4067c9960e
Component: engine
2014-07-14 21:11:48 +04:00
eb6f1ba58f Add Tibor Vass as maintainer
* hack/
* archive/
* integration/
* server/buildfile.go

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 1a99f36580fc814778170ae68f5ea53694aa5c12
Component: engine
2014-07-11 12:28:11 +00:00
c916fa43d0 Revert "improve untar when using files instead of directories. Specifies behavior on non-existant targets."
This reverts commit 1c8d3106df0bd2aba304c7b3863949ca11c2b133.

Conflicts:
	archive/archive_test.go

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
Upstream-commit: 4b1a464ac106b413fc773869adea9c89a08aee3a
Component: engine
2014-07-08 12:26:59 -07:00
eea97055fb Revert "allow overwrite in untar"
This reverts commit 5a3d774e5651da772a065282a1fb1a31e19e911c.

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
Upstream-commit: 10d066c9cbc074a72ef3bb4f06a39b691a155082
Component: engine
2014-07-08 12:23:08 -07:00
b4a009578f allow overwrite in untar
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
Upstream-commit: 5a3d774e5651da772a065282a1fb1a31e19e911c
Component: engine
2014-06-27 17:03:51 -04:00
bb2e21109b fix rebase
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
Upstream-commit: 8162dc031246c55e34530d2b35ff7087f143d1c2
Component: engine
2014-06-26 22:51:47 +00:00
47f54ad882 abort on error and fix debug
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
Upstream-commit: 0098360726e3df99e8f76dce9221a85dd89c2065
Component: engine
2014-06-26 22:49:08 +00:00
d4f4419563 Change misnamed TarFilter to TarWithOptions
Docker-DCO-1.1-Signed-off-by: Travis Cline <travis.cline@gmail.com> (github: tmc)
Upstream-commit: 111ab125b954c8d28503e1922e742eb271cc5d04
Component: engine
2014-06-26 22:49:08 +00:00
bb9a141a59 improve untar when using files instead of directories. Specifies behavior on non-existant targets.
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
Upstream-commit: 1c8d3106df0bd2aba304c7b3863949ca11c2b133
Component: engine
2014-06-25 09:35:26 -04:00
794a8c5ccb api/client/build: allow tar as context for docker build -
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
Upstream-commit: edcb41451aa388abe03d4f837ab5ee316a53a030
Component: engine
2014-06-23 13:34:09 -07:00
5d2f394b9a Merge pull request #6493 from vieux/fix_cp_mac_os
allow utimes on mac os, only lutimes isn't supported
Upstream-commit: abda245ddc38200b6ad24f79d194e6f4125a0100
Component: engine
2014-06-19 14:00:59 -07:00
2784f63639 discard ErrNotSupportedPlatform
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
Upstream-commit: b132e7b36d30a116fa50eb5035c85cc895cc3d5b
Component: engine
2014-06-18 23:42:22 +00:00
172faefd3c Fix go vet errors
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)

Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
Upstream-commit: f08cd445b0d2e44a4977a3bd0dca0a1cd4e76d2f
Component: engine
2014-06-18 17:39:57 +00:00
3acef7fcd0 reuse timestamp, don't call time.Now() 3 times
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: b64209f7b6818337a90d2f04627664b5964a29ce
Component: engine
2014-05-31 03:03:51 +03:00
786a16cf57 ignore lchown error on docker cp
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
Upstream-commit: 9e51b7abaea3fb30dc994a1d004cd79f2e100c1a
Component: engine
2014-05-21 00:23:17 +00:00
bc32176ca2 Add readme file for the archive directory
See issue #5873

Docker-DCO-1.1-Signed-off-by: Timothy <timothyhobbs@seznam.cz> (github: https://github.com/timthelion)
Upstream-commit: 28fc387cf0c933128d0adad6d633c8f4a719d8ee
Component: engine
2014-05-17 17:48:07 +00:00
4d36898842 Merge pull request #5851 from proppy/archive-simple-detect
archive: simplify DetectCompression
Upstream-commit: 6f651ec62bdb7b00dc286414c1807a4ae4216058
Component: engine
2014-05-16 16:32:55 -07:00
add055e2b6 Merge pull request #5822 from creack/update_vendors
Update archive/tar vendored
Upstream-commit: eb61a1f73a979cc12e5ec1e6f451ec4dc4e37817
Component: engine
2014-05-16 16:31:37 -07:00
25b0a0131e archive: add missing bytes package
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
Upstream-commit: 4a3aefbb5232433098c9d27423a10031eb17ff93
Component: engine
2014-05-16 16:26:28 -07:00
1976c1713a archive: fix panic if len(source) < len(m)
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
Upstream-commit: 67ce59a806007cd28d96fd11208c4a113d1b92e0
Component: engine
2014-05-16 16:25:56 -07:00
c1c5dca31c archive: simplify DetectCompression
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
Upstream-commit: 3118952e0a63b42b830fc846a56b891d14902976
Component: engine
2014-05-16 16:25:56 -07:00
4dfcc75b6e Merge pull request #5853 from proppy/update-tarfilter-comment
archive: update TarFilter comments
Upstream-commit: 1adc2fa533ad86be3ff3e122feaa3d798f130a2e
Component: engine
2014-05-16 13:06:12 -07:00
3f955b3cac archive: update TarFilter comments
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
Upstream-commit: 311614952ea64315075d827c880debbdfb503640
Component: engine
2014-05-16 12:44:42 -07:00
e6ed9607f5 Merge pull request #5454 from kzys/utime-omit
UTIME_OMIT is only available on Linux
Upstream-commit: 4353ee78e8614779012b2f24d79a46fa352739b8
Component: engine
2014-05-15 17:18:37 -07:00
30441260af Add test for invalid tarball read
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
Upstream-commit: aedcb76adc2b2468565b311b67f4079a128b37cd
Component: engine
2014-05-15 15:45:40 -07:00
e8ae384f46 archive: use bufio for compression detection
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
Upstream-commit: 77c2b76e44f77eee2ca89ff551ac64f8c6b8bd23
Component: engine
2014-05-15 11:41:07 -07:00
4f88a0b2f2 process directories in parallel in ChangesDirs
This commit lowers the total time spent in ChangesDirs to half during a
commit.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: 359f8aca29bf0e7fca757fa73e1d5565ed2d16f7
Component: engine
2014-05-15 00:03:33 +03:00
1f5f83d095 Change owner only on copied content
Fixes #5110
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
Upstream-commit: 91b7d8ebd31dba64b551de85e70786c568cb402a
Component: engine
2014-05-07 20:40:22 +04:00
0bb49ae030 UTIME_OMIT is only available on Linux
Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
Upstream-commit: 21b42dfcfd15ee6757bcba57acb511d5ce60a3ba
Component: engine
2014-04-29 09:08:33 +09:00
dbcd3000c9 This permission should be interpreted as octal, not decimal
Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
Upstream-commit: e1e512e2da5f642ded2eba6baa851f52bae0b05c
Component: engine
2014-04-17 00:48:27 +09:00
0834ef63f2 Merge pull request #5039 from kzys/freebsd-timestamp
Don't assume the file system has sub-second precision timestamp
Upstream-commit: 73a22fc6b31ad17ea5f1f51d54c445473e43655a
Component: engine
2014-04-07 10:28:22 -07:00
c723ea81f4 Don't assume the file system has sub-second precision timestamp
For example, FreeBSD doesn't have that
(see http://lists.freebsd.org/pipermail/freebsd-fs/2012-February/013677.html).

Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
Upstream-commit: 794b5de749fceea906222917e90bbc19e131ecc3
Component: engine
2014-04-05 10:30:37 +09:00
53fdad7724 Remove archive/stat_unsupported.go because it is not used
LUtimesNano and all other functions were implemented on pkg/system after
d6114c0da0e844199e3d23c60a04434566fb5392.

Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
Upstream-commit: da8aa712d28cb7177b0fe5b4cc9d7de33ea1da60
Component: engine
2014-04-05 10:09:04 +09:00