From 10ef8ef65a29d1ed7257c8649870b8b735fe0e10 Mon Sep 17 00:00:00 2001 From: Peter Portante Date: Wed, 12 Dec 2012 09:51:40 -0500 Subject: object-storage: do not list directory for delete Do not list the entire directory contents of the directory containing the file before deleting it. We have already verified the files existence constructing the Gluster_DiskFile object. This fixes a customer issue. See 885281 (https://bugzilla.redhat.com/show_bug.cgi?id=885281). Change-Id: I4425c42af3e03624370c779d74b7f073e6eef024 BUG: 885281 Signed-off-by: Peter Portante Reviewed-on: http://review.gluster.org/4302 Reviewed-by: Mohammed Junaid Tested-by: Gluster Build System --- ufo/gluster/swift/common/DiskFile.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'ufo') diff --git a/ufo/gluster/swift/common/DiskFile.py b/ufo/gluster/swift/common/DiskFile.py index 5698ff72a..852229548 100644 --- a/ufo/gluster/swift/common/DiskFile.py +++ b/ufo/gluster/swift/common/DiskFile.py @@ -251,16 +251,17 @@ class Gluster_DiskFile(DiskFile): if not self.metadata or self.metadata['X-Timestamp'] >= timestamp: return + assert self.data_file, \ + "Have metadata, %r, but no data_file" % self.metadata + if self._is_dir: # Marker directory object if not rmdirs(self.data_file): - logging.error('Unable to delete dir object: %s' % self.data_file) + logging.error('Unable to delete dir object: %s', self.data_file) return else: # File object - for fname in do_listdir(self.datadir): - if os.path.join(self.datadir, fname) == self.data_file: - do_unlink(self.data_file) + do_unlink(self.data_file) self.metadata = {} self.data_file = None -- cgit