distribution/storage
Stephen J Day 0270bec916 Handle empty blob files more appropriately
Several API tests were added to ensure correct acceptance of zero-size and
empty tar files. This led to several changes in the storage backend around the
guarantees of remote file reading, which backs the layer and layer upload type.

In support of these changes, zero-length and empty checks have been added to
the digest package. These provide a sanity check against upstream tarsum
changes. The fileReader has been modified to be more robust when reading and
seeking on zero-length or non-existent files. The file no longer needs to exist
for the reader to be created. Seeks can now move beyond the end of the file,
causing reads to issue an io.EOF. This eliminates errors during certain race
conditions for reading files which should be detected by stat calls. As a part
of this, a few error types were factored out and the read buffer size was
increased to something more reasonable.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-02-02 13:01:49 -08:00
..
decorator Implement registry decorator toolkit 2015-01-21 10:46:20 -08:00
blobstore.go Refactor storage API to be registry oriented 2015-01-16 18:33:21 -08:00
cloudfrontlayerhandler.go DelegateLayerHandler now uses http method in url generation 2015-01-15 18:15:26 -08:00
delegatelayerhandler.go DelegateLayerHandler now uses http method in url generation 2015-01-15 18:15:26 -08:00
doc.go Lots of various golint fixes 2014-11-17 15:46:06 -08:00
filereader.go Handle empty blob files more appropriately 2015-02-02 13:01:49 -08:00
filereader_test.go Handle empty blob files more appropriately 2015-02-02 13:01:49 -08:00
filewriter.go Handle empty blob files more appropriately 2015-02-02 13:01:49 -08:00
filewriter_test.go Implement a remote file writer for use with StorageDriver 2015-01-09 14:49:06 -08:00
layer.go Handle empty blob files more appropriately 2015-02-02 13:01:49 -08:00
layer_test.go Handle empty blob files more appropriately 2015-02-02 13:01:49 -08:00
layerhandler.go Adds support for content redirects for layer downloads 2015-01-08 17:01:28 -08:00
layerreader.go Move from docker-registry to distribution 2014-12-23 17:13:02 -08:00
layerstore.go Refactor storage API to be registry oriented 2015-01-16 18:33:21 -08:00
layerupload.go Handle empty blob files more appropriately 2015-02-02 13:01:49 -08:00
manifeststore.go Refactor storage API to be registry oriented 2015-01-16 18:33:21 -08:00
manifeststore_test.go Refactor storage API to be registry oriented 2015-01-16 18:33:21 -08:00
paths.go Refactor storage to use new backend layout 2015-01-15 10:32:18 -08:00
paths_test.go Redesign path layout for backend storage 2015-01-14 11:34:47 -08:00
registry.go Refactor storage API to be registry oriented 2015-01-16 18:33:21 -08:00
revisionstore.go Handle empty blob files more appropriately 2015-02-02 13:01:49 -08:00
services.go Refactor storage API to be registry oriented 2015-01-16 18:33:21 -08:00
tagstore.go Refactor storage API to be registry oriented 2015-01-16 18:33:21 -08:00