diff options
| -rw-r--r-- | libglusterfs/src/common-utils.h | 4 | ||||
| -rw-r--r-- | xlators/mount/fuse/src/fuse-bridge.c | 2 | ||||
| -rw-r--r-- | xlators/protocol/client/src/client-rpc-fops.c | 3 | 
3 files changed, 7 insertions, 2 deletions
diff --git a/libglusterfs/src/common-utils.h b/libglusterfs/src/common-utils.h index 057c4aeb8dc..235db5fe34b 100644 --- a/libglusterfs/src/common-utils.h +++ b/libglusterfs/src/common-utils.h @@ -287,6 +287,10 @@ int  gf_set_log_ident (cmd_args_t *cmd_args);          if (gf_uuid_is_null (u))\                  GF_ASSERT (!"uuid null"); +#define GF_IGNORE_IF_GSYNCD_SAFE_ERROR(frame, op_errno)                 \ +        (((frame->root->pid == GF_CLIENT_PID_GSYNCD) &&                 \ +          (op_errno == EEXIST || op_errno == ENOENT))?0:1)              \ +  union gf_sock_union {          struct sockaddr_storage storage;          struct sockaddr_in6 sin6; diff --git a/xlators/mount/fuse/src/fuse-bridge.c b/xlators/mount/fuse/src/fuse-bridge.c index d8e7012bb6c..74a84902fa5 100644 --- a/xlators/mount/fuse/src/fuse-bridge.c +++ b/xlators/mount/fuse/src/fuse-bridge.c @@ -1253,7 +1253,7 @@ fuse_err_cbk (call_frame_t *frame, void *cookie, xlator_t *this,                          state->loc.path ? state->loc.path : "ERR");                  send_fuse_err (this, finh, 0); -        } else { +        } else if (GF_IGNORE_IF_GSYNCD_SAFE_ERROR(frame, op_errno)) {                  gf_log ("glusterfs-fuse", GF_LOG_WARNING,                          "%"PRIu64": %s() %s => -1 (%s)",                          frame->root->unique, diff --git a/xlators/protocol/client/src/client-rpc-fops.c b/xlators/protocol/client/src/client-rpc-fops.c index 55fd327da8e..55e8d47adc9 100644 --- a/xlators/protocol/client/src/client-rpc-fops.c +++ b/xlators/protocol/client/src/client-rpc-fops.c @@ -299,7 +299,8 @@ client3_3_mkdir_cbk (struct rpc_req *req, struct iovec *iov, int count,                                        rsp.op_errno, out);  out: -        if (rsp.op_ret == -1) { +        if (rsp.op_ret == -1 && +            GF_IGNORE_IF_GSYNCD_SAFE_ERROR(frame, rsp.op_errno)) {                  gf_log (this->name, GF_LOG_WARNING,                          "remote operation failed: %s. Path: %s",                          strerror (gf_error_to_errno (rsp.op_errno)),  | 
