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 <peter.portante@redhat.com>
Reviewed-on: http://review.gluster.org/4303
Reviewed-by: Mohammed Junaid <junaid@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
This commit is contained in:
Peter Portante 2012-12-12 21:01:09 -05:00 committed by Vijay Bellur
parent a1f4a41537
commit cdcbc5bb3d
2 changed files with 8 additions and 4 deletions

View File

@ -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

View File

@ -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):
"""