From 861de449e34608fa06eff417b64a035a715e3bee Mon Sep 17 00:00:00 2001 From: Peter Portante Date: Mon, 29 Oct 2012 20:43:02 -0400 Subject: 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 Reviewed-on: http://review.gluster.org/4173 Reviewed-by: Pete Zaitcev Reviewed-by: Mohammed Junaid Tested-by: Kaleb KEITHLEY --- swift/1.4.8/plugins/DiskDir.py | 9 +++++++-- 1 file 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): -- cgit