Skip to content

Conversation

@jlhawn
Copy link
Contributor

@jlhawn jlhawn commented Dec 19, 2014

Even though we refer to them commonly as "storage drivers" and they are used
by more subsystems than just the daemon package - the container, image, and
volume storage library is buried under the daemon package and is called
graphdriver which is a very generic name. Also, some types it exposes like
graphdriver.Driver is a stutter and is not idiomatic Go.

This change moves the daemon/graphdriver package to the top-level of the
github.com/docker/docker package tree under the name storage. Users of this
package now deal with storage.Driver objects! And other subsystems which use
it, like the graph package (another unfortunate name), have one fewer thing
they have to reach into the daemon package for.

All references to graphdriver (with the exception of environment variables
and Go build tags) have been updated to use the new package location.

Even though we refer to them commonly as "storage drivers" and they are used
by more subsystems than just the daemon package - the container, image, and
volume storage library is buried under the daemon package and is called
`graphdriver` which is a very generic name. Also, some types it exposes like
`graphdriver.Driver` is a stutter and is not idiomatic Go.

This change moves the `daemon/graphdriver` package to the top-level of the
`github.com/docker/docker` package tree under the name `storage`. Users of this
package now deal with `storage.Driver` objects! And other subsystems which use
it, like the `graph` package (another unfortunate name), have one fewer thing
they have to reach into the `daemon` package for.

All references to `graphdriver` (with the exception of environment variables
and Go build tags) have been updated to use the new package location.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <[email protected]> (github: jlhawn)
@jlhawn
Copy link
Contributor Author

jlhawn commented Dec 19, 2014

@shykes @jfrazelle @LK4D4 @crosbymichael @erikh @vieux @icecrime @tianon @unclejack If you think this is a good idea, I would also like to propose moving a couple of other packages as well:

  • daemon/execdriver -> execution
  • daemon/networkdriver -> network
  • graph -> images (and fold in the current image package)

@LK4D4
Copy link
Contributor

LK4D4 commented Dec 20, 2014

Oh, I'm +100 for graph :)

@erikh
Copy link
Contributor

erikh commented Dec 20, 2014

@jlhawn
Copy link
Contributor Author

jlhawn commented Dec 20, 2014

oh! and @tiborvass ^

@jlhawn
Copy link
Contributor Author

jlhawn commented Dec 20, 2014

hey so I looked back in the history and it turns out that graphdriver used to be a top level package! It was then moved under the runtime package and then runtime was renamed to daemon.

96c4816

@jlhawn
Copy link
Contributor Author

jlhawn commented Dec 20, 2014

daemon/execdriver used to be top-level too! OH WOW SUCH NOSTALGIA af38515

@jlhawn
Copy link
Contributor Author

jlhawn commented Dec 20, 2014

and even before that graphdriver was called graphbackend!

@tiborvass
Copy link
Contributor

@jlhawn I agree with @erikh here, I'd rather we wait on this one until extensions are merged. Should you maybe close it for now and reopen it later?

@jlhawn
Copy link
Contributor Author

jlhawn commented Dec 23, 2014

sure 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants