summaryrefslogtreecommitdiffstats
path: root/libglusterfs
diff options
context:
space:
mode:
authorEmmanuel Dreyfus <manu@netbsd.org>2014-09-06 06:27:03 +0200
committerVijay Bellur <vbellur@redhat.com>2014-09-07 23:23:42 -0700
commite2c916078ea33fe14a208c5b4ba6fe8e52ecda1a (patch)
treeab52913999553247ee09a995b812246b8e2f6168 /libglusterfs
parentb59ec2c308b19bc1c1be825e6049a3f435039d8a (diff)
Always check for ENODATA with ENOATTR
Linux defines ENODATA and ENOATTR with the same value, which means that code can miss on on the two without breaking. FreeBSD does not have ENODATA and GlusterFS defines it as ENOATTR just like Linux does. On NetBSD, ENODATA != ENOATTR, hence we need to check for both values to get portable behavior. This is a backport of I003a3af055fdad285d235f2a0c192c9cce56fab8 BUG: 1138897 Change-Id: I272cd53e637993c7fd2ac74bd607001d3581ced7 Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org> Reviewed-on: http://review.gluster.org/8634 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'libglusterfs')
-rw-r--r--libglusterfs/src/compat-errno.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libglusterfs/src/compat-errno.c b/libglusterfs/src/compat-errno.c
index fd5cc49cefa..d8ab82a5d20 100644
--- a/libglusterfs/src/compat-errno.c
+++ b/libglusterfs/src/compat-errno.c
@@ -859,6 +859,12 @@ init_compat_errno_arrays ()
gf_error_to_errno_array[GF_ERROR_CODE_BADMSG] = EBADMSG;
gf_errno_to_error_array[EBADMSG] = GF_ERROR_CODE_BADMSG;
+#ifdef __NetBSD__
+ /* ENODATA 89 / * No message available */
+ gf_error_to_errno_array[GF_ERROR_CODE_NODATA] = ENODATA;
+ gf_errno_to_error_array[ENODATA] = GF_ERROR_CODE_NODATA;
+#endif
+
/* EMULTIHOP 90 / * Multihop attempted */
gf_error_to_errno_array[GF_ERROR_CODE_MULTIHOP] = EMULTIHOP;
gf_errno_to_error_array[EMULTIHOP] = GF_ERROR_CODE_MULTIHOP;