summaryrefslogtreecommitdiffstats
path: root/swift/1.4.8/swift.diff
diff options
context:
space:
mode:
authorMohammed Junaid <junaid@redhat.com>2012-05-29 16:33:52 +0530
committerVijay Bellur <vijay@gluster.com>2012-05-29 04:38:46 -0700
commitbf7634c7ae83b0b94f392c2b8e77ed75baaa78ff (patch)
treefb35986f1c434ce43065eab1f5d318c9dd05ca6e /swift/1.4.8/swift.diff
parent02a25d55acfbc5d38e2426438c5055cac6ac569b (diff)
swift: Fix for multiple mounts on the same mount point.
When swift server receives multiple requests on a volume and if the volume is not mounted before hand, for each request swift tries to mount the GlusterFS volume on the mount point. This process is racy and may mount multiple times on the same mount point. Also added a new option object_only in fs.conf which should be enabled only if the user requires ReST interface and will have better performance. By default it is set "off". Change-Id: Ie1718554c5aaf577e823bbd84da8e78d803e954d BUG: 821310 Signed-off-by: Mohammed Junaid <junaid@redhat.com> Reviewed-on: http://review.gluster.com/3477 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'swift/1.4.8/swift.diff')
-rw-r--r--swift/1.4.8/swift.diff13
1 files changed, 6 insertions, 7 deletions
diff --git a/swift/1.4.8/swift.diff b/swift/1.4.8/swift.diff
index ef7f06fc250..8ed5070e11a 100644
--- a/swift/1.4.8/swift.diff
+++ b/swift/1.4.8/swift.diff
@@ -18,7 +18,7 @@ index d195d34..b5b5ca2 100644
},
)
diff --git a/swift/account/server.py b/swift/account/server.py
-index 800b3c0..99f5de3 100644
+index 800b3c0..cb17970 100644
--- a/swift/account/server.py
+++ b/swift/account/server.py
@@ -1,4 +1,5 @@
@@ -81,7 +81,7 @@ index 800b3c0..99f5de3 100644
broker.stale_reads_ok = True
if broker.is_deleted():
return HTTPNotFound(request=req)
-+ if self.fs_object:
++ if self.fs_object and not self.fs_object.object_only:
+ broker.list_containers_iter(None, None,None,
+ None, None)
info = broker.get_info()
@@ -229,7 +229,7 @@ index 0000000..341285d
+ return Gluster_plugin(app, conf)
+ return gluster_filter
diff --git a/swift/common/utils.py b/swift/common/utils.py
-index 47edce8..afc356c 100644
+index 47edce8..03701ce 100644
--- a/swift/common/utils.py
+++ b/swift/common/utils.py
@@ -1,4 +1,5 @@
@@ -238,7 +238,7 @@ index 47edce8..afc356c 100644
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
-@@ -1138,3 +1139,12 @@ def streq_const_time(s1, s2):
+@@ -1138,3 +1139,11 @@ def streq_const_time(s1, s2):
for (a, b) in zip(s1, s2):
result |= ord(a) ^ ord(b)
return result == 0
@@ -250,9 +250,8 @@ index 47edce8..afc356c 100644
+ return swift_conf.get('DEFAULT', 'Enable_plugin', 'no') in TRUE_VALUES
+ except NoOptionError, NoSectionError:
+ return False
-+
diff --git a/swift/container/server.py b/swift/container/server.py
-index 8a18cfd..356150f 100644
+index 8a18cfd..93943a3 100644
--- a/swift/container/server.py
+++ b/swift/container/server.py
@@ -1,4 +1,5 @@
@@ -337,7 +336,7 @@ index 8a18cfd..356150f 100644
if broker.is_deleted():
return HTTPNotFound(request=req)
+
-+ if self.fs_object:
++ if self.fs_object and not self.fs_object.object_only:
+ broker.list_objects_iter(None, None, None, None,
+ None, None)
+