diff options
author | Chetan Risbud <crisbud@redhat.com> | 2013-08-01 19:36:31 +0530 |
---|---|---|
committer | Luis Pabon <lpabon@redhat.com> | 2013-08-28 19:28:19 -0700 |
commit | 8737f9e92a5c9dbf0d75e0702c7ab48f287f2761 (patch) | |
tree | 0df727348e52f384523a80bf8abdae03b68892a8 /gluster/swift/common/fs_utils.py | |
parent | 2542fb2398ab8079620a02dc189761d24a2e19e0 (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.py | 19 |
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: |