create volume
diff --git a/openstack/blockstorage/v1/volumes/requests.go b/openstack/blockstorage/v1/volumes/requests.go
new file mode 100644
index 0000000..b1f45cd
--- /dev/null
+++ b/openstack/blockstorage/v1/volumes/requests.go
@@ -0,0 +1,23 @@
+package volumes
+
+import (
+ "github.com/racker/perigee"
+ blockstorage "github.com/rackspace/gophercloud/openstack/blockstorage/v1"
+)
+
+func Create(c *blockstorage.Client, opts CreateOpts) (Volume, error) {
+ var v Volume
+ h, err := c.GetHeaders()
+ if err != nil {
+ return v, err
+ }
+ url := c.GetVolumeURL()
+ _, err = perigee.Request("POST", url, perigee.Options{
+ Results: &v,
+ ReqBody: map[string]interface{}{
+ "volume": opts,
+ },
+ MoreHeaders: h,
+ })
+ return v, err
+}