summaryrefslogtreecommitdiffstats
path: root/gluster/swift/common/fs_utils.py
diff options
context:
space:
mode:
authorChetan Risbud <crisbud@redhat.com>2013-08-01 19:36:31 +0530
committerLuis Pabon <lpabon@redhat.com>2013-08-28 19:28:19 -0700
commit8737f9e92a5c9dbf0d75e0702c7ab48f287f2761 (patch)
tree0df727348e52f384523a80bf8abdae03b68892a8 /gluster/swift/common/fs_utils.py
parent2542fb2398ab8079620a02dc189761d24a2e19e0 (diff)
Handle GET on zero content length failure case.
Added a fake_file class that implements minimal set of functions that are invoked by the code in GET. BUG: 987841 https://bugzilla.redhat.com/show_bug.cgi?id=987841 Change-Id: I5bdf5be1c0c4c8231f34c9be529e6edc83774f2e Signed-off-by: Chetan Risbud <crisbud@redhat.com> Reviewed-on: http://review.gluster.org/5511 Reviewed-by: Luis Pabon <lpabon@redhat.com> Tested-by: Luis Pabon <lpabon@redhat.com>
Diffstat (limited to 'gluster/swift/common/fs_utils.py')
-rw-r--r--gluster/swift/common/fs_utils.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/gluster/swift/common/fs_utils.py b/gluster/swift/common/fs_utils.py
index b2935d0..afc0cfe 100644
--- a/gluster/swift/common/fs_utils.py
+++ b/gluster/swift/common/fs_utils.py
@@ -24,6 +24,23 @@ from gluster.swift.common.exceptions import FileOrDirNotFoundError, \
NotDirectoryError, GlusterFileSystemOSError, GlusterFileSystemIOError
+class Fake_file(object):
+ def __init__(self, path):
+ self.path = path
+
+ def tell(self):
+ return 0
+
+ def read(self, count):
+ return 0
+
+ def fileno(self):
+ return -1
+
+ def close(self):
+ pass
+
+
def do_walk(*args, **kwargs):
return os.walk(*args, **kwargs)
@@ -205,7 +222,7 @@ def do_open(path, flags, **kwargs):
def do_close(fd):
- if isinstance(fd, file):
+ if isinstance(fd, file) or isinstance(fd, Fake_file):
try:
fd.close()
except IOError as err: