diff options
| author | Pranith Kumar K <pkarampu@redhat.com> | 2016-11-13 16:43:36 +0530 | 
|---|---|---|
| committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2016-11-17 01:56:14 -0800 | 
| commit | 35e8ecabd7db36431ea93f523095bc21078ecef8 (patch) | |
| tree | 9721a2ae9491e68a3d1d6346c22a05ac64dd1b60 /libglusterfs | |
| parent | 53a76d6e3bbd597a11778ce252709eaa86ac5125 (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.c | 9 | ||||
| -rw-r--r-- | libglusterfs/src/common-utils.h | 2 | ||||
| -rw-r--r-- | libglusterfs/src/glfs-message-id.h | 6 | ||||
| -rw-r--r-- | libglusterfs/src/glusterfs-acl.h | 1 | 
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;  };  | 
