diff options
author | Prashanth Pai <ppai@redhat.com> | 2013-10-30 16:13:50 +0530 |
---|---|---|
committer | Luis Pabon <lpabon@redhat.com> | 2013-11-14 11:02:19 -0800 |
commit | a43de0dc5b0c6781c86a8da05d3ebe31f992510e (patch) | |
tree | 400c4cf3dc71ef14a462ba9160518405be5c3eb6 /gluster/swift/obj | |
parent | 7aa628033d3ac224876d5c0f84d8d546a0fb1507 (diff) |
Improve logging and raising DiskFileNoSpace
This commit only improves logging whenever ENOSPC (No space on disk)
or EDQUOT (Quota limit exceeded) is returned by glusterfs
Also, added methods to:
- get filename from file descriptor
- log with rate limit
Caveat: Although raising DiskFileNoSpace results in object-server
returning HTTPInsufficientStorage[507] correctly, the swift proxy-server
invokes "best_response" method that returns [503] to the user.
When write-behind translator is turned on in glusterfs, it may set
errno to EIO instead of ENOSPC/EDQUOT. This is documented in BZ 986812
BUG: 985862, 985253, 1020724
Change-Id: Ib0c5e41c11a8cdccc2077f71c31d8a23229452bb
Signed-off-by: Prashanth Pai <ppai@redhat.com>
Reviewed-on: http://review.gluster.org/6199
Reviewed-by: Luis Pabon <lpabon@redhat.com>
Tested-by: Luis Pabon <lpabon@redhat.com>
Diffstat (limited to 'gluster/swift/obj')
-rw-r--r-- | gluster/swift/obj/diskfile.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gluster/swift/obj/diskfile.py b/gluster/swift/obj/diskfile.py index 0e0abef..0a3d95e 100644 --- a/gluster/swift/obj/diskfile.py +++ b/gluster/swift/obj/diskfile.py @@ -700,8 +700,9 @@ class DiskFile(SwiftDiskFile): fd = do_open(tmppath, os.O_WRONLY | os.O_CREAT | os.O_EXCL | O_CLOEXEC) except GlusterFileSystemOSError as gerr: - if gerr.errno == errno.ENOSPC: - # Raise DiskFileNoSpace to be handled by upper layers + if gerr.errno in (errno.ENOSPC, errno.EDQUOT): + # Raise DiskFileNoSpace to be handled by upper layers when + # there is no space on disk OR when quota is exceeded raise DiskFileNoSpace() if gerr.errno not in (errno.ENOENT, errno.EEXIST, errno.EIO): # FIXME: Other cases we should handle? |