summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Portante <peter.portante@redhat.com>2012-10-29 20:43:02 -0400
committerPeter Portante <peter.portante@redhat.com>2013-04-29 16:35:56 -0400
commit861de449e34608fa06eff417b64a035a715e3bee (patch)
tree66ac9d4001235279857374c3f50c132bea349177
parent62373131c8766c9a56bf5ca5be434b90a3b28119 (diff)
object-storage: only update metadata that changes
See BZ 868120 (https://bugzilla.redhat.com/show_bug.cgi?id=868120) Change-Id: Ia7f5562cff32eee30c5ca18652d5d9a5a2b18bf4 BUG: 868120 Signed-off-by: Peter Portante <peter.portante@redhat.com> Reviewed-on: http://review.gluster.org/4173 Reviewed-by: Pete Zaitcev <zaitcev@redhat.com> Reviewed-by: Mohammed Junaid <junaid@redhat.com> Tested-by: Kaleb KEITHLEY <kkeithle@redhat.com>
-rw-r--r--swift/1.4.8/plugins/DiskDir.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/swift/1.4.8/plugins/DiskDir.py b/swift/1.4.8/plugins/DiskDir.py
index e0d5eb7..a9e39fd 100644
--- a/swift/1.4.8/plugins/DiskDir.py
+++ b/swift/1.4.8/plugins/DiskDir.py
@@ -411,8 +411,13 @@ class DiskDir(DiskCommon):
self.unlink()
def update_metadata(self, metadata):
- self.metadata.update(metadata)
- write_metadata(self.datadir, self.metadata)
+ assert self.metadata, "Valid container/account metadata should have been created by now"
+ if metadata:
+ new_metadata = self.metadata.copy()
+ new_metadata.update(metadata)
+ if new_metadata != self.metadata:
+ write_metadata(self.datadir, new_metadata)
+ self.metadata = new_metadata
class DiskAccount(DiskDir):