From cdcbc5bb3dfd2b447df0dff843d7774a1a463a09 Mon Sep 17 00:00:00 2001 From: Peter Portante Date: Wed, 12 Dec 2012 21:01:09 -0500 Subject: object-storage: only open file when requested Only open a file when the caller of the constructor indicates that it expects to have a file pointer to access in the "fp" field. Found by Junaid during review http://review.gluster.org/4284, Patch set 6. We also bump the version number to mark a line in the set of changes we want to perform a mini release with to double check for performance regressions. Change-Id: I13cf336bb519088890192ee111f4ece85a5982c4 BUG: 886730 Signed-off-by: Peter Portante Reviewed-on: http://review.gluster.org/4303 Reviewed-by: Mohammed Junaid Tested-by: Gluster Build System --- ufo/gluster-swift-ufo.spec | 2 +- ufo/gluster/swift/common/DiskFile.py | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ufo/gluster-swift-ufo.spec b/ufo/gluster-swift-ufo.spec index 8d2c93b8..8c0167cb 100644 --- a/ufo/gluster-swift-ufo.spec +++ b/ufo/gluster-swift-ufo.spec @@ -16,7 +16,7 @@ %define _confdir %{_sysconfdir}/swift %define _ufo_version 1.1 -%define _ufo_release 3 +%define _ufo_release 4 Summary : GlusterFS Unified File and Object Storage. Name : gluster-swift-ufo diff --git a/ufo/gluster/swift/common/DiskFile.py b/ufo/gluster/swift/common/DiskFile.py index 85222954..62f98103 100644 --- a/ufo/gluster/swift/common/DiskFile.py +++ b/ufo/gluster/swift/common/DiskFile.py @@ -137,9 +137,13 @@ class Gluster_DiskFile(DiskFile): if os.path.isdir(data_file): self._is_dir = True else: - self.fp = do_open(data_file, 'rb') - if not keep_data_fp: - self.close(verify_file=False) + if keep_data_fp: + # The caller has an assumption that the "fp" field of this + # object is an file object if keep_data_fp is set. However, + # this implementation of the DiskFile object does not need to + # open the file for internal operations. So if the caller + # requests it, we'll just open the file for them. + self.fp = do_open(data_file, 'rb') def close(self, verify_file=True): """ -- cgit