distribution/registry/storage
Tony Holdstock-Brown 33c448f147 Implement regulator in filesystem driver
This commit refactors base.regulator into the 2.4 interfaces and adds a
filesystem configuration option `maxthreads` to configure the regulator.

By default `maxthreads` is set to 100. This means the FS driver is
limited to 100 concurrent blocking file operations. Any subsequent
operations will block in Go until previous filesystem operations
complete.

This ensures that the registry can never open thousands of simultaneous
threads from os filesystem operations.

Note that `maxthreads` can never be less than 25.

Add test case covering parsable string maxthreads

Signed-off-by: Tony Holdstock-Brown <tony@docker.com>
2016-05-03 09:33:22 -07:00
..
cache Correct test digest lengths and enable all unit tests 2016-01-26 17:02:46 -08:00
driver Implement regulator in filesystem driver 2016-05-03 09:33:22 -07:00
blob_test.go Adds new storagedriver.FileWriter interface 2016-03-08 16:37:44 -08:00
blobcachemetrics.go Open cache interface 2015-05-15 17:56:28 -07:00
blobserver.go Serve blobs when a storage driver supports redirects but are disabled 2015-12-28 11:08:39 -08:00
blobstore.go Implements garbage collection subcommand 2016-02-29 14:15:21 -08:00
blobwriter.go Add blobWrtiter.Close() call into blobWriter.Commit() 2016-04-22 19:23:17 -06:00
blobwriter_nonresumable.go Remove digest package's dependency on external sha implementation 2015-05-20 23:44:08 -07:00
blobwriter_resumable.go Adds new storagedriver.FileWriter interface 2016-03-08 16:37:44 -08:00
catalog.go Implements garbage collection subcommand 2016-02-29 14:15:21 -08:00
catalog_test.go Functional options for NewRegistryWithDriver 2015-08-19 11:06:30 -07:00
doc.go Move storage package under registry package 2015-02-11 12:43:04 -08:00
filereader.go Adds new storagedriver.FileWriter interface 2016-03-08 16:37:44 -08:00
filereader_test.go Refactor Blob Service API 2015-05-15 17:05:18 -07:00
linkedblobstore.go fix manifest revision search, closes #1535 2016-03-19 19:11:25 +08:00
manifestlisthandler.go Add support for manifest list ("fat manifest") 2016-01-07 15:26:27 -08:00
manifeststore.go Fix signature handling with GC. 2016-03-30 16:10:27 -07:00
manifeststore_test.go Add option to disable signatures 2016-02-10 15:20:39 -08:00
paths.go Implements garbage collection subcommand 2016-02-29 14:15:21 -08:00
paths_test.go Implements garbage collection subcommand 2016-02-29 14:15:21 -08:00
purgeuploads.go Remove pathMapper object 2015-08-17 18:51:05 -07:00
purgeuploads_test.go Remove pathMapper object 2015-08-17 18:51:05 -07:00
registry.go Implements garbage collection subcommand 2016-02-29 14:15:21 -08:00
schema2manifesthandler.go Add support for manifest list ("fat manifest") 2016-01-07 15:26:27 -08:00
signaturestore.go Rename Name method of Repository to Named 2016-02-04 09:55:36 -08:00
signedmanifesthandler.go Add option to disable signatures 2016-02-10 15:20:39 -08:00
tagstore.go Rename Name method of Repository to Named 2016-02-04 09:55:36 -08:00
tagstore_test.go compare error output in tagstore unit test 2016-02-22 17:34:22 +08:00
util.go Refactor Blob Service API 2015-05-15 17:05:18 -07:00
vacuum.go Implements garbage collection subcommand 2016-02-29 14:15:21 -08:00
walk.go storage: enforce sorted traversal during Walk 2015-12-01 16:25:30 -08:00
walk_test.go Fix some typos in comments and strings 2016-02-23 22:33:38 +01:00