summaryrefslogtreecommitdiffstats
path: root/libglusterfs
diff options
context:
space:
mode:
authorPranith Kumar K <pkarampu@redhat.com>2016-11-13 16:43:36 +0530
committerPranith Kumar Karampuri <pkarampu@redhat.com>2016-11-17 01:56:14 -0800
commit35e8ecabd7db36431ea93f523095bc21078ecef8 (patch)
tree9721a2ae9491e68a3d1d6346c22a05ac64dd1b60 /libglusterfs
parent53a76d6e3bbd597a11778ce252709eaa86ac5125 (diff)
system/posix-acl: Log reason for EACCES
It is becoming increasingly difficult to debug the reason why posix-acl decides to fail a fop with EACCES. This patch prints a big log everytime such a condition occurs giving out the details that may help in finding why the fop is errored out. Change-Id: I2505baaafb5d77ef6c187554ff027df9b20468db BUG: 1394548 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/15837 Smoke: Gluster Build System <jenkins@build.gluster.org> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Raghavendra Talur <rtalur@redhat.com>
Diffstat (limited to 'libglusterfs')
-rw-r--r--libglusterfs/src/common-utils.c9
-rw-r--r--libglusterfs/src/common-utils.h2
-rw-r--r--libglusterfs/src/glfs-message-id.h6
-rw-r--r--libglusterfs/src/glusterfs-acl.h1
4 files changed, 16 insertions, 2 deletions
diff --git a/libglusterfs/src/common-utils.c b/libglusterfs/src/common-utils.c
index 14a344958fd..18c2a39d60e 100644
--- a/libglusterfs/src/common-utils.c
+++ b/libglusterfs/src/common-utils.c
@@ -36,7 +36,6 @@
#endif
#include <libgen.h>
-#include "glusterfs-acl.h"
#include "compat-errno.h"
#include "logging.h"
#include "common-utils.h"
@@ -4588,3 +4587,11 @@ gf_bits_index (uint64_t n)
{
return ffsll(n) - 1;
}
+
+const char*
+gf_fop_string (glusterfs_fop_t fop)
+{
+ if ((fop > GF_FOP_NULL) && (fop < GF_FOP_MAXVALUE))
+ return gf_fop_list[fop];
+ return "INVALID";
+}
diff --git a/libglusterfs/src/common-utils.h b/libglusterfs/src/common-utils.h
index 082a44403dc..324555b34f5 100644
--- a/libglusterfs/src/common-utils.h
+++ b/libglusterfs/src/common-utils.h
@@ -866,4 +866,6 @@ gf_bits_count (uint64_t n);
int32_t
gf_bits_index (uint64_t n);
+const char*
+gf_fop_string (glusterfs_fop_t fop);
#endif /* _COMMON_UTILS_H */
diff --git a/libglusterfs/src/glfs-message-id.h b/libglusterfs/src/glfs-message-id.h
index 8601c5cc5ab..d77e90cbec9 100644
--- a/libglusterfs/src/glfs-message-id.h
+++ b/libglusterfs/src/glfs-message-id.h
@@ -181,7 +181,11 @@ GLFS_MSGID_COMP_SYMLINK_CACHE_END
#define GLFS_MSGID_COMP_INDEX GLFS_MSGID_COMP_LEASES_END
#define GLFS_MSGID_COMP_INDEX_END (GLFS_MSGID_COMP_INDEX +\
- GLFS_MSGID_SEGMENT)
+ GLFS_MSGID_SEGMENT)
+
+#define GLFS_MSGID_COMP_POSIX_ACL GLFS_MSGID_COMP_INDEX_END
+#define GLFS_MSGID_COMP_POSIX_ACL_END (GLFS_MSGID_COMP_POSIX_ACL +\
+ GLFS_MSGID_SEGMENT)
/* --- new segments for messages goes above this line --- */
#endif /* !_GLFS_MESSAGE_ID_H_ */
diff --git a/libglusterfs/src/glusterfs-acl.h b/libglusterfs/src/glusterfs-acl.h
index 55f94ff0509..2a1661686bc 100644
--- a/libglusterfs/src/glusterfs-acl.h
+++ b/libglusterfs/src/glusterfs-acl.h
@@ -100,6 +100,7 @@ struct posix_acl_ctx {
uid_t uid;
gid_t gid;
mode_t perm;
+ glusterfs_fop_t fop;
struct posix_acl *acl_access;
struct posix_acl *acl_default;
};