summaryrefslogtreecommitdiffstats
path: root/gluster/swift/container
diff options
context:
space:
mode:
Diffstat (limited to 'gluster/swift/container')
-rw-r--r--gluster/swift/container/server.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/gluster/swift/container/server.py b/gluster/swift/container/server.py
index e832248..173976a 100644
--- a/gluster/swift/container/server.py
+++ b/gluster/swift/container/server.py
@@ -21,6 +21,9 @@ import gluster.swift.common.constraints # noqa
from swift.container import server
from gluster.swift.common.DiskDir import DiskDir
+from swift.common.utils import public, timing_stats
+from swift.common.exceptions import DiskFileNoSpace
+from swift.common.swob import HTTPInsufficientStorage
class ContainerController(server.ContainerController):
@@ -63,6 +66,17 @@ class ContainerController(server.ContainerController):
"""
return None
+ @public
+ @timing_stats()
+ def PUT(self, req):
+ try:
+ return server.ContainerController.PUT(self, req)
+ except DiskFileNoSpace:
+ # As container=directory in gluster-swift, we might run out of
+ # space or exceed quota when creating containers.
+ drive = req.split_path(1, 1, True)
+ return HTTPInsufficientStorage(drive=drive, request=req)
+
def app_factory(global_conf, **local_conf):
"""paste.deploy app factory for creating WSGI container server apps."""