diff options
-rw-r--r-- | xlators/debug/trace/src/trace.c | 975 |
1 files changed, 562 insertions, 413 deletions
diff --git a/xlators/debug/trace/src/trace.c b/xlators/debug/trace/src/trace.c index a562e813e92..2a0cea896c6 100644 --- a/xlators/debug/trace/src/trace.c +++ b/xlators/debug/trace/src/trace.c @@ -35,21 +35,6 @@ #include "xlator.h" #include "common-utils.h" -#define ERR_EINVAL_NORETURN(cond) \ - do \ - { \ - if ((cond)) \ - { \ - gf_log ("ERROR", GF_LOG_ERROR, \ - "%s: %s: (%s) is true", \ - __FILE__, __FUNCTION__, #cond); \ - } \ - } while (0) - - -typedef struct trace_private { - int32_t debug_flag; -} trace_private_t; struct { @@ -60,7 +45,7 @@ struct { int trace_log_level = GF_LOG_NORMAL; static char * -trace_stat_to_str (struct iatt *stbuf) +trace_stat_to_str (struct iatt *buf) { char *statstr = NULL; char atime_buf[256] = {0,}; @@ -69,33 +54,41 @@ trace_stat_to_str (struct iatt *stbuf) int asprint_ret_value = 0; uint64_t ia_time = 0; - ia_time = stbuf->ia_atime; + if (!buf) { + statstr = NULL; + goto out; + } + + ia_time = buf->ia_atime; strftime (atime_buf, 256, "[%b %d %H:%M:%S]", localtime ((time_t *)&ia_time)); - ia_time = stbuf->ia_mtime; + ia_time = buf->ia_mtime; strftime (mtime_buf, 256, "[%b %d %H:%M:%S]", localtime ((time_t *)&ia_time)); - ia_time = stbuf->ia_ctime; + ia_time = buf->ia_ctime; strftime (ctime_buf, 256, "[%b %d %H:%M:%S]", localtime ((time_t *)&ia_time)); asprint_ret_value = gf_asprintf (&statstr, - "ia_ino=%"PRIu64 - ", st_mode=%o, ia_nlink=%"GF_PRI_NLINK", " - "ia_uid=%d, ia_gid=%d, ia_size=%"PRId64", ia_blocks=%"PRId64 - ", ia_atime=%s, ia_mtime=%s, ia_ctime=%s", - stbuf->ia_ino, - st_mode_from_ia (stbuf->ia_prot, stbuf->ia_type), - stbuf->ia_nlink, stbuf->ia_uid, - stbuf->ia_gid, stbuf->ia_size, - stbuf->ia_blocks, atime_buf, - mtime_buf, ctime_buf); + "gfid=%s ino=%"PRIu64", mode=%o, " + "nlink=%"GF_PRI_NLINK", uid=%u, " + "gid=%u, size=%"PRIu64", " + "blocks=%"PRIu64", atime=%s, " + "mtime=%s, ctime=%s", + uuid_utoa (buf->ia_gfid), buf->ia_ino, + st_mode_from_ia (buf->ia_prot, + buf->ia_type), + buf->ia_nlink, buf->ia_uid, + buf->ia_gid, buf->ia_size, + buf->ia_blocks, atime_buf, + mtime_buf, ctime_buf); if (asprint_ret_value < 0) statstr = NULL; +out: return statstr; } @@ -117,10 +110,10 @@ trace_create_cbk (call_frame_t *frame, void *cookie, xlator_t *this, postparentstr = trace_stat_to_str (postparent); gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, fd=%p, ino=%"PRIu64" " + "%"PRId64": gfid=%s (op_ret=%d, fd=%p" "*stbuf {%s}, *preparent {%s}, *postparent = " - "{%s})", - frame->root->unique, op_ret, fd, inode->ino, + "{%s})", frame->root->unique, + uuid_utoa (inode->gfid), op_ret, fd, statstr, preparentstr, postparentstr); if (statstr) @@ -136,6 +129,7 @@ trace_create_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } } + frame->local = NULL; STACK_UNWIND_STRICT (create, frame, op_ret, op_errno, fd, inode, buf, preparent, postparent); return 0; @@ -149,10 +143,11 @@ trace_open_cbk (call_frame_t *frame, void *cookie, xlator_t *this, if (trace_fop_names[GF_FOP_OPEN].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d, *fd=%p)", - frame->root->unique, op_ret, op_errno, fd); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d, *fd=%p", + frame->root->unique, uuid_utoa (frame->local), op_ret, op_errno, fd); } + frame->local = NULL; STACK_UNWIND_STRICT (open, frame, op_ret, op_errno, fd); return 0; } @@ -162,43 +157,25 @@ int trace_stat_cbk (call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, int32_t op_errno, struct iatt *buf) { - uint64_t ia_time = 0; - char atime_buf[256]; - char mtime_buf[256]; - char ctime_buf[256]; - + char *statstr = NULL; if (trace_fop_names[GF_FOP_STAT].enabled) { if (op_ret >= 0) { - ia_time = buf->ia_atime; - strftime (atime_buf, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); - - ia_time = buf->ia_mtime; - strftime (mtime_buf, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); - - ia_time = buf->ia_ctime; - strftime (ctime_buf, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); - + statstr = trace_stat_to_str (buf); gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, buf {" - "ia_ino=%"PRIu64", st_mode=%o, ia_nlink=%"GF_PRI_NLINK", " - "ia_uid=%d, ia_gid=%d, ia_rdev=%"PRIu64", ia_size=%"PRId64 - ", ia_blksize=%"GF_PRI_BLKSIZE", ia_blocks=%"PRId64", " - "ia_atime=%s, ia_mtime=%s, ia_ctime=%s})", - frame->root->unique, op_ret, buf->ia_ino, - st_mode_from_ia (buf->ia_prot, buf->ia_type), - buf->ia_nlink, buf->ia_uid, buf->ia_gid, - buf->ia_rdev, buf->ia_size, buf->ia_blksize, - buf->ia_blocks, atime_buf, mtime_buf, ctime_buf); + "%"PRId64": gfid=%s op_ret=%d buf=%s", + frame->root->unique, uuid_utoa (frame->local), + op_ret, statstr); + + if (statstr) + GF_FREE (statstr); } else { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d)", + frame->root->unique, uuid_utoa (frame->local), op_ret, op_errno); } } + frame->local = NULL; STACK_UNWIND_STRICT (stat, frame, op_ret, op_errno, buf); return 0; } @@ -209,43 +186,27 @@ trace_readv_cbk (call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, int32_t op_errno, struct iovec *vector, int32_t count, struct iatt *buf, struct iobref *iobref) { - uint64_t ia_time = 0; - char atime_buf[256]; - char mtime_buf[256]; - char ctime_buf[256]; + char *statstr = NULL; if (trace_fop_names[GF_FOP_READ].enabled) { if (op_ret >= 0) { - ia_time = buf->ia_atime; - strftime (atime_buf, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); - - ia_time = buf->ia_mtime; - strftime (mtime_buf, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); - - ia_time = buf->ia_ctime; - strftime (ctime_buf, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); - + statstr = trace_stat_to_str (buf); gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d, *buf {" - "ia_ino=%"PRIu64", st_mode=%o, ia_nlink=%"GF_PRI_NLINK", " - "ia_uid=%d, ia_gid=%d, ia_rdev=%"PRIu64", " - "ia_size=%"PRId64", ia_blksize=%"GF_PRI_BLKSIZE", " - "ia_blocks=%"PRId64", ia_atime=%s, ia_mtime=%s, ia_ctime=%s})", - frame->root->unique, op_ret, op_errno, buf->ia_ino, - st_mode_from_ia (buf->ia_prot, buf->ia_type), - buf->ia_nlink, buf->ia_uid, buf->ia_gid, - buf->ia_rdev, buf->ia_size, buf->ia_blksize, buf->ia_blocks, - atime_buf, mtime_buf, ctime_buf); + "%"PRId64": gfid=%s op_ret=%d buf=%s", + frame->root->unique, uuid_utoa (frame->local), + op_ret, statstr); + + if (statstr) + GF_FREE (statstr); } else { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d)", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); } } + frame->local = NULL; STACK_UNWIND_STRICT (readv, frame, op_ret, op_errno, vector, count, buf, iobref); return 0; @@ -266,9 +227,9 @@ trace_writev_cbk (call_frame_t *frame, void *cookie, xlator_t *this, postopstr = trace_stat_to_str (postbuf); gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, ino = %"PRIu64 - ", *prebuf = {%s}, *postbuf = {%s})", - frame->root->unique, op_ret, postbuf->ia_ino, + "%"PRId64": (op_ret=%d, *prebuf = {%s}, " + "*postbuf = {%s})", + frame->root->unique, op_ret, preopstr, postopstr); if (preopstr) @@ -278,11 +239,13 @@ trace_writev_cbk (call_frame_t *frame, void *cookie, xlator_t *this, GF_FREE (postopstr); } else { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); } } + frame->local = NULL; STACK_UNWIND_STRICT (writev, frame, op_ret, op_errno, prebuf, postbuf); return 0; } @@ -295,10 +258,11 @@ trace_readdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this, { if (trace_fop_names[GF_FOP_READDIR].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64" :(op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64" : gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), op_ret, op_errno); } + frame->local = NULL; STACK_UNWIND_STRICT (readdir, frame, op_ret, op_errno, buf); return 0; @@ -311,10 +275,11 @@ trace_readdirp_cbk (call_frame_t *frame, void *cookie, xlator_t *this, { if (trace_fop_names[GF_FOP_READDIRP].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64" :(op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64" : gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), op_ret, op_errno); } + frame->local = NULL; STACK_UNWIND_STRICT (readdirp, frame, op_ret, op_errno, buf); return 0; @@ -335,9 +300,9 @@ trace_fsync_cbk (call_frame_t *frame, void *cookie, xlator_t *this, postopstr = trace_stat_to_str (postbuf); gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, ino = %"PRIu64 - ", *prebuf = {%s}, *postbuf = {%s}", - frame->root->unique, op_ret, postbuf->ia_ino, + "%"PRId64": (op_ret=%d, *prebuf = {%s}, " + "*postbuf = {%s}", + frame->root->unique, op_ret, preopstr, postopstr); if (preopstr) @@ -347,11 +312,13 @@ trace_fsync_cbk (call_frame_t *frame, void *cookie, xlator_t *this, GF_FREE (postopstr); } else { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); } } + frame->local = NULL; STACK_UNWIND_STRICT (fsync, frame, op_ret, op_errno, prebuf, postbuf); return 0; @@ -363,62 +330,33 @@ trace_setattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, int32_t op_errno, struct iatt *statpre, struct iatt *statpost) { - uint64_t ia_time = 0; - char atime_pre[256] = {0,}; - char mtime_pre[256] = {0,}; - char ctime_pre[256] = {0,}; - char atime_post[256] = {0,}; - char mtime_post[256] = {0,}; - char ctime_post[256] = {0,}; + char *preopstr = NULL; + char *postopstr = NULL; if (trace_fop_names[GF_FOP_SETATTR].enabled) { if (op_ret >= 0) { - ia_time = statpre->ia_atime; - strftime (atime_pre, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); - - ia_time = statpre->ia_mtime; - strftime (mtime_pre, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); - - ia_time = statpre->ia_ctime; - strftime (ctime_pre, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); - - ia_time = statpost->ia_atime; - strftime (atime_post, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); + preopstr = trace_stat_to_str (statpre); + postopstr = trace_stat_to_str (statpost); - ia_time = statpost->ia_mtime; - strftime (mtime_post, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); + gf_log (this->name, GF_LOG_NORMAL, + "%"PRId64": (op_ret=%d, *prebuf = {%s}, " + "*postbuf = {%s})", + frame->root->unique, op_ret, + preopstr, postopstr); - ia_time = statpost->ia_ctime; - strftime (ctime_post, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); + if (preopstr) + GF_FREE (preopstr); - gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, *statpre " - "{ia_ino=%"PRIu64", st_mode=%o, ia_uid=%d, " - "ia_gid=%d, ia_atime=%s, ia_mtime=%s, " - "ia_ctime=%s}, *statpost {ia_ino=%"PRIu64", " - "st_mode=%o, ia_uid=%d, ia_gid=%d, ia_atime=%s," - " ia_mtime=%s, ia_ctime=%s})", - frame->root->unique, op_ret, statpre->ia_ino, - st_mode_from_ia (statpre->ia_prot, statpre->ia_type), - statpre->ia_uid, - statpre->ia_gid, atime_pre, mtime_pre, - ctime_pre, statpost->ia_ino, - st_mode_from_ia (statpost->ia_prot, statpost->ia_type), - statpost->ia_uid, statpost->ia_gid, atime_post, - mtime_post, ctime_post); + if (postopstr) + GF_FREE (postopstr); } else { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d)", + frame->root->unique, uuid_utoa (frame->local), op_ret, op_errno); } } + frame->local = NULL; STACK_UNWIND_STRICT (setattr, frame, op_ret, op_errno, statpre, statpost); return 0; } @@ -429,62 +367,33 @@ trace_fsetattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, int32_t op_errno, struct iatt *statpre, struct iatt *statpost) { - uint64_t ia_time = 0; - char atime_pre[256] = {0,}; - char mtime_pre[256] = {0,}; - char ctime_pre[256] = {0,}; - char atime_post[256] = {0,}; - char mtime_post[256] = {0,}; - char ctime_post[256] = {0,}; + char *preopstr = NULL; + char *postopstr = NULL; if (trace_fop_names[GF_FOP_FSETATTR].enabled) { if (op_ret >= 0) { - ia_time = statpre->ia_atime; - strftime (atime_pre, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); - - ia_time = statpre->ia_mtime; - strftime (mtime_pre, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); - - ia_time = statpre->ia_ctime; - strftime (ctime_pre, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); - - ia_time = statpost->ia_atime; - strftime (atime_post, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); + preopstr = trace_stat_to_str (statpre); + postopstr = trace_stat_to_str (statpost); - ia_time = statpost->ia_mtime; - strftime (mtime_post, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); + gf_log (this->name, GF_LOG_NORMAL, + "%"PRId64": (op_ret=%d, *prebuf = {%s}, " + "*postbuf = {%s})", + frame->root->unique, op_ret, + preopstr, postopstr); - ia_time = statpost->ia_ctime; - strftime (ctime_post, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); + if (preopstr) + GF_FREE (preopstr); - gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, *statpre " - "{ia_ino=%"PRIu64", st_mode=%o, ia_uid=%d, " - "ia_gid=%d, ia_atime=%s, ia_mtime=%s, " - "ia_ctime=%s}, *statpost {ia_ino=%"PRIu64", " - "st_mode=%o, ia_uid=%d, ia_gid=%d, ia_atime=%s," - " ia_mtime=%s, ia_ctime=%s})", - frame->root->unique, op_ret, statpre->ia_ino, - st_mode_from_ia (statpre->ia_prot, statpre->ia_type), - statpre->ia_uid, - statpre->ia_gid, atime_pre, mtime_pre, - ctime_pre, statpost->ia_ino, - st_mode_from_ia (statpost->ia_prot, statpost->ia_type), - statpost->ia_uid, statpost->ia_gid, atime_post, - mtime_post, ctime_post); + if (postopstr) + GF_FREE (postopstr); } else { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d)", + frame->root->unique, uuid_utoa (frame->local), op_ret, op_errno); } } + frame->local = NULL; STACK_UNWIND_STRICT (fsetattr, frame, op_ret, op_errno, statpre, statpost); return 0; @@ -505,9 +414,9 @@ trace_unlink_cbk (call_frame_t *frame, void *cookie, xlator_t *this, postparentstr = trace_stat_to_str (postparent); gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, *preparent = {%s}, " + "%"PRId64": gfid=%s op_ret=%d, *preparent = {%s}, " "*postparent = {%s})", - frame->root->unique, op_ret, preparentstr, + frame->root->unique, uuid_utoa (frame->local), op_ret, preparentstr, postparentstr); if (preparentstr) @@ -517,11 +426,12 @@ trace_unlink_cbk (call_frame_t *frame, void *cookie, xlator_t *this, GF_FREE (postparentstr); } else { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d)", + frame->root->unique, uuid_utoa (frame->local), op_ret, op_errno); } } + frame->local = NULL; STACK_UNWIND_STRICT (unlink, frame, op_ret, op_errno, preparent, postparent); return 0; @@ -570,15 +480,13 @@ trace_rename_cbk (call_frame_t *frame, void *cookie, xlator_t *this, GF_FREE (postnewparentstr); } else { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); } - gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d, buf {ia_ino=%"PRIu64"})", - frame->root->unique, op_ret, op_errno, - (buf? buf->ia_ino : 0)); } + frame->local = NULL; STACK_UNWIND_STRICT (rename, frame, op_ret, op_errno, buf, preoldparent, postoldparent, prenewparent, postnewparent); @@ -604,13 +512,15 @@ trace_readlink_cbk (call_frame_t *frame, void *cookie, xlator_t *this, statstr); } else gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); if (statstr) GF_FREE (statstr); } + frame->local = NULL; STACK_UNWIND_STRICT (readlink, frame, op_ret, op_errno, buf, stbuf); return 0; } @@ -631,10 +541,10 @@ trace_lookup_cbk (call_frame_t *frame, void *cookie, xlator_t *this, postparentstr = trace_stat_to_str (postparent); gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, ino=%"PRIu64", " + "%"PRId64": gfid=%s (op_ret=%d " "*buf {%s}, *postparent {%s}", - frame->root->unique, op_ret, inode->ino, - statstr, postparentstr); + frame->root->unique, uuid_utoa (inode->gfid), + op_ret, statstr, postparentstr); if (statstr) GF_FREE (statstr); @@ -642,11 +552,13 @@ trace_lookup_cbk (call_frame_t *frame, void *cookie, xlator_t *this, GF_FREE (postparentstr); } else { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d)", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); } } + frame->local = NULL; STACK_UNWIND_STRICT (lookup, frame, op_ret, op_errno, inode, buf, xattr, postparent); return 0; @@ -670,11 +582,11 @@ trace_symlink_cbk (call_frame_t *frame, void *cookie, xlator_t *this, postparentstr = trace_stat_to_str (postparent); gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, ino=%"PRIu64", " + "%"PRId64": gfid=%s (op_ret=%d " "*stbuf = {%s}, *preparent = {%s}, " "*postparent = {%s})", - frame->root->unique, op_ret, inode->ino, - statstr, preparentstr, postparentstr); + frame->root->unique, uuid_utoa (inode->gfid), + op_ret, statstr, preparentstr, postparentstr); if (statstr) GF_FREE (statstr); @@ -687,11 +599,12 @@ trace_symlink_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } else { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", + "%"PRId64": op_ret=%d, op_errno=%d", frame->root->unique, op_ret, op_errno); } } + frame->local = NULL; STACK_UNWIND_STRICT (symlink, frame, op_ret, op_errno, inode, buf, preparent, postparent); return 0; @@ -715,11 +628,11 @@ trace_mknod_cbk (call_frame_t *frame, void *cookie, xlator_t *this, postparentstr = trace_stat_to_str (postparent); gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, ino=%"PRIu64", " + "%"PRId64": gfid=%s (op_ret=%d " "*stbuf = {%s}, *preparent = {%s}, " "*postparent = {%s})", - frame->root->unique, op_ret, inode->ino, - statstr, preparentstr, postparentstr); + frame->root->unique, uuid_utoa (inode->gfid), + op_ret, statstr, preparentstr, postparentstr); if (statstr) GF_FREE (statstr); @@ -736,6 +649,7 @@ trace_mknod_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } } + frame->local = NULL; STACK_UNWIND_STRICT (mknod, frame, op_ret, op_errno, inode, buf, preparent, postparent); return 0; @@ -759,11 +673,11 @@ trace_mkdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this, postparentstr = trace_stat_to_str (postparent); gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, ino = %"PRIu64 + "%"PRId64": gfid=%s (op_ret=%d " ", *stbuf = {%s}, *prebuf = {%s}, " "*postbuf = {%s} )", - frame->root->unique, op_ret, buf->ia_ino, - statstr, preparentstr, postparentstr); + frame->root->unique, uuid_utoa (inode->gfid), + op_ret, statstr, preparentstr, postparentstr); if (statstr) GF_FREE (statstr); @@ -780,6 +694,7 @@ trace_mkdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } } + frame->local = NULL; STACK_UNWIND_STRICT (mkdir, frame, op_ret, op_errno, inode, buf, preparent, postparent); return 0; @@ -803,10 +718,9 @@ trace_link_cbk (call_frame_t *frame, void *cookie, xlator_t *this, postparentstr = trace_stat_to_str (postparent); gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, ino = %"PRIu64 - ", *stbuf = {%s}, *prebuf = {%s}, " - "*postbuf = {%s})", - frame->root->unique, op_ret, buf->ia_ino, + "%"PRId64": (op_ret=%d, *stbuf = {%s}, " + " *prebuf = {%s}, *postbuf = {%s})", + frame->root->unique, op_ret, statstr, preparentstr, postparentstr); if (statstr) @@ -819,11 +733,13 @@ trace_link_cbk (call_frame_t *frame, void *cookie, xlator_t *this, GF_FREE (postparentstr); } else { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); } } + frame->local = NULL; STACK_UNWIND_STRICT (link, frame, op_ret, op_errno, inode, buf, preparent, postparent); return 0; @@ -836,10 +752,12 @@ trace_flush_cbk (call_frame_t *frame, void *cookie, xlator_t *this, { if (trace_fop_names[GF_FOP_FLUSH].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); } + frame->local = NULL; STACK_UNWIND_STRICT (flush, frame, op_ret, op_errno); return 0; } @@ -851,10 +769,12 @@ trace_opendir_cbk (call_frame_t *frame, void *cookie, xlator_t *this, { if (trace_fop_names[GF_FOP_OPENDIR].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d, fd=%p)", - frame->root->unique, op_ret, op_errno, fd); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d, fd=%p", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno, fd); } + frame->local = NULL; STACK_UNWIND_STRICT (opendir, frame, op_ret, op_errno, fd); return 0; } @@ -874,10 +794,10 @@ trace_rmdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this, postparentstr = trace_stat_to_str (postparent); gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, *prebuf = {%s}, " + "%"PRId64": gfid=%s op_ret=%d, *prebuf = {%s}, " "*postbuf = {%s}", - frame->root->unique, op_ret, preparentstr, - postparentstr); + frame->root->unique, uuid_utoa (frame->local), + op_ret, preparentstr, postparentstr); if (preparentstr) GF_FREE (preparentstr); @@ -886,11 +806,13 @@ trace_rmdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this, GF_FREE (postparentstr); } else { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); } } + frame->local = NULL; STACK_UNWIND_STRICT (rmdir, frame, op_ret, op_errno, preparent, postparent); return 0; @@ -923,11 +845,13 @@ trace_truncate_cbk (call_frame_t *frame, void *cookie, xlator_t *this, GF_FREE (postopstr); } else { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); } } + frame->local = NULL; STACK_UNWIND_STRICT (truncate, frame, op_ret, op_errno, prebuf, postbuf); return 0; } @@ -954,6 +878,7 @@ trace_statfs_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } } + frame->local = NULL; STACK_UNWIND_STRICT (statfs, frame, op_ret, op_errno, buf); return 0; } @@ -965,10 +890,12 @@ trace_setxattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, { if (trace_fop_names[GF_FOP_SETXATTR].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); } + frame->local = NULL; STACK_UNWIND_STRICT (setxattr, frame, op_ret, op_errno); return 0; } @@ -980,15 +907,50 @@ trace_getxattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, { if (trace_fop_names[GF_FOP_GETXATTR].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d, dict=%p)", - frame->root->unique, op_ret, op_errno, dict); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d, dict=%p", + frame->root->unique, uuid_utoa (frame->local), op_ret, + op_errno, dict); } + frame->local = NULL; STACK_UNWIND_STRICT (getxattr, frame, op_ret, op_errno, dict); return 0; } +int +trace_fsetxattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, + int32_t op_ret, int32_t op_errno) +{ + if (trace_fop_names[GF_FOP_FSETXATTR].enabled) { + gf_log (this->name, GF_LOG_NORMAL, + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), op_ret, + op_errno); + } + + frame->local = NULL; + STACK_UNWIND_STRICT (fsetxattr, frame, op_ret, op_errno); + return 0; +} + + +int +trace_fgetxattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, + int32_t op_ret, int32_t op_errno, dict_t *dict) +{ + if (trace_fop_names[GF_FOP_FGETXATTR].enabled) { + gf_log (this->name, GF_LOG_NORMAL, + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d, dict=%p", + frame->root->unique, uuid_utoa (frame->local), op_ret, + op_errno, dict); + } + + frame->local = NULL; + STACK_UNWIND_STRICT (fgetxattr, frame, op_ret, op_errno, dict); + + return 0; +} int trace_removexattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, @@ -996,10 +958,12 @@ trace_removexattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, { if (trace_fop_names[GF_FOP_REMOVEXATTR].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); } + frame->local = NULL; STACK_UNWIND_STRICT (removexattr, frame, op_ret, op_errno); return 0; @@ -1012,10 +976,12 @@ trace_fsyncdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this, { if (trace_fop_names[GF_FOP_FSYNCDIR].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); } + frame->local = NULL; STACK_UNWIND_STRICT (fsyncdir, frame, op_ret, op_errno); return 0; } @@ -1027,10 +993,12 @@ trace_access_cbk (call_frame_t *frame, void *cookie, xlator_t *this, { if (trace_fop_names[GF_FOP_ACCESS].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d)", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); } + frame->local = NULL; STACK_UNWIND_STRICT (access, frame, op_ret, op_errno); return 0; } @@ -1050,7 +1018,7 @@ trace_ftruncate_cbk (call_frame_t *frame, void *cookie, xlator_t *this, postbufstr = trace_stat_to_str (postbuf); gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, *prebuf = {%s}, " + "%"PRId64": op_ret=%d, *prebuf = {%s}, " "*postbuf = {%s} )", frame->root->unique, op_ret, prebufstr, postbufstr); @@ -1063,11 +1031,13 @@ trace_ftruncate_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } else { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); } } + frame->local = NULL; STACK_UNWIND_STRICT (ftruncate, frame, op_ret, op_errno, prebuf, postbuf); return 0; } @@ -1077,43 +1047,27 @@ int trace_fstat_cbk (call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, int32_t op_errno, struct iatt *buf) { - uint64_t ia_time = 0; - char atime_buf[256] = {0, }; - char mtime_buf[256] = {0, }; - char ctime_buf[256] = {0, }; + char *statstr = NULL; if (trace_fop_names[GF_FOP_FSTAT].enabled) { if (op_ret >= 0) { - ia_time = buf->ia_atime; - strftime (atime_buf, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); - - ia_time = buf->ia_mtime; - strftime (mtime_buf, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); - - ia_time = buf->ia_ctime; - strftime (ctime_buf, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); - + statstr = trace_stat_to_str (buf); gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, *buf {" - "ia_ino=%"PRIu64", st_mode=%o, ia_nlink=%"GF_PRI_NLINK", " - "ia_uid=%d, ia_gid=%d, ia_rdev=%"PRIu64", ia_size=%"PRId64", " - "ia_blksize=%"GF_PRI_BLKSIZE", ia_blocks=%"PRId64", ia_atime=%s, " - "ia_mtime=%s, ia_ctime=%s})", - frame->root->unique, op_ret, buf->ia_ino, - st_mode_from_ia (buf->ia_prot, buf->ia_type), - buf->ia_nlink, buf->ia_uid, buf->ia_gid, - buf->ia_rdev, buf->ia_size, buf->ia_blksize, - buf->ia_blocks, atime_buf, mtime_buf, ctime_buf); + "%"PRId64": gfid=%s op_ret=%d buf=%s", + frame->root->unique, uuid_utoa (frame->local), + op_ret, statstr); + + if (statstr) + GF_FREE (statstr); } else { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); } } + frame->local = NULL; STACK_UNWIND_STRICT (fstat, frame, op_ret, op_errno, buf); return 0; } @@ -1126,17 +1080,20 @@ trace_lk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, if (trace_fop_names[GF_FOP_LK].enabled) { if (op_ret >= 0) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, {l_type=%d, l_whence=%d, " + "%"PRId64": gfid=%s op_ret=%d, {l_type=%d, l_whence=%d, " "l_start=%"PRId64", l_len=%"PRId64", l_pid=%u})", - frame->root->unique, op_ret, lock->l_type, lock->l_whence, + frame->root->unique, uuid_utoa (frame->local), + op_ret, lock->l_type, lock->l_whence, lock->l_start, lock->l_len, lock->l_pid); } else { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d)", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); } } + frame->local = NULL; STACK_UNWIND_STRICT (lk, frame, op_ret, op_errno, lock); return 0; } @@ -1149,14 +1106,32 @@ trace_entrylk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, { if (trace_fop_names[GF_FOP_ENTRYLK].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": op_ret=%d, op_errno=%d", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); } + frame->local = NULL; STACK_UNWIND_STRICT (entrylk, frame, op_ret, op_errno); return 0; } +int +trace_fentrylk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, + int32_t op_ret, int32_t op_errno) +{ + if (trace_fop_names[GF_FOP_FENTRYLK].enabled) { + gf_log (this->name, GF_LOG_NORMAL, + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); + } + + frame->local = NULL; + STACK_UNWIND_STRICT (fentrylk, frame, op_ret, op_errno); + return 0; +} + int trace_xattrop_cbk (call_frame_t *frame, void *cookie, xlator_t *this, @@ -1164,10 +1139,12 @@ trace_xattrop_cbk (call_frame_t *frame, void *cookie, xlator_t *this, { if (trace_fop_names[GF_FOP_XATTROP].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); } + frame->local = NULL; STACK_UNWIND_STRICT (xattrop, frame, op_ret, op_errno, dict); return 0; } @@ -1179,10 +1156,12 @@ trace_fxattrop_cbk (call_frame_t *frame, void *cookie, xlator_t *this, { if (trace_fop_names[GF_FOP_FXATTROP].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (op_ret=%d, op_errno=%d)", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); } + frame->local = NULL; STACK_UNWIND_STRICT (fxattrop, frame, op_ret, op_errno, dict); return 0; } @@ -1194,14 +1173,51 @@ trace_inodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, { if (trace_fop_names[GF_FOP_INODELK].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": op_ret=%d, op_errno=%d", - frame->root->unique, op_ret, op_errno); + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), + op_ret, op_errno); } + frame->local = NULL; STACK_UNWIND_STRICT (inodelk, frame, op_ret, op_errno); return 0; } +int +trace_finodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, + int32_t op_ret, int32_t op_errno) +{ + if (trace_fop_names[GF_FOP_FINODELK].enabled) { + gf_log (this->name, GF_LOG_NORMAL, + "%"PRId64": gfid=%s op_ret=%d, op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), op_ret, op_errno); + } + + frame->local = NULL; + STACK_UNWIND_STRICT (finodelk, frame, op_ret, op_errno); + return 0; +} + + +int +trace_rchecksum_cbk (call_frame_t *frame, void *cookie, xlator_t *this, + int32_t op_ret, int32_t op_errno, + uint32_t weak_checksum, uint8_t *strong_checksum) +{ + if (trace_fop_names[GF_FOP_RCHECKSUM].enabled) { + gf_log (this->name, GF_LOG_NORMAL, + "%"PRId64": gfid=%s op_ret=%d op_errno=%d", + frame->root->unique, uuid_utoa (frame->local), op_ret, op_errno); + } + + frame->local = NULL; + STACK_UNWIND_STRICT (rchecksum, frame, op_ret, op_errno, weak_checksum, + strong_checksum); + + return 0; +} + +/* *_cbk section over <----------> fop section start */ int trace_entrylk (call_frame_t *frame, xlator_t *this, @@ -1210,10 +1226,13 @@ trace_entrylk (call_frame_t *frame, xlator_t *this, { if (trace_fop_names[GF_FOP_ENTRYLK].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": volume=%s, (loc= {path=%s, ino=%"PRIu64"} basename=%s, cmd=%s, type=%s)", - frame->root->unique, volume, loc->path, loc->inode->ino, basename, + "%"PRId64": gfid=%s volume=%s, (path=%s basename=%s, " + "cmd=%s, type=%s)", + frame->root->unique, uuid_utoa (loc->inode->gfid), + volume, loc->path, basename, ((cmd == ENTRYLK_LOCK) ? "ENTRYLK_LOCK" : "ENTRYLK_UNLOCK"), ((type == ENTRYLK_RDLCK) ? "ENTRYLK_RDLCK" : "ENTRYLK_WRLCK")); + frame->local = loc->inode->gfid; } STACK_WIND (frame, trace_entrylk_cbk, @@ -1275,12 +1294,14 @@ trace_inodelk (call_frame_t *frame, xlator_t *this, const char *volume, } gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": volume=%s, (loc {path=%s, ino=%"PRIu64"}, " + "%"PRId64": gfid=%s volume=%s, (path=%s " "cmd=%s, type=%s, start=%llu, len=%llu, pid=%llu)", - frame->root->unique, volume, loc->path, loc->inode->ino, + frame->root->unique, uuid_utoa (loc->inode->gfid), + volume, loc->path, cmd_str, type_str, (unsigned long long) flock->l_start, (unsigned long long) flock->l_len, (unsigned long long) flock->l_pid); + frame->local = loc->inode->gfid; } STACK_WIND (frame, trace_inodelk_cbk, @@ -1292,21 +1313,6 @@ trace_inodelk (call_frame_t *frame, xlator_t *this, const char *volume, int -trace_finodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno) -{ - if (trace_fop_names[GF_FOP_FINODELK].enabled) { - gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": op_ret=%d, op_errno=%d", - frame->root->unique, op_ret, op_errno); - } - - STACK_UNWIND_STRICT (finodelk, frame, op_ret, op_errno); - return 0; -} - - -int trace_finodelk (call_frame_t *frame, xlator_t *this, const char *volume, fd_t *fd, int32_t cmd, struct gf_flock *flock) { @@ -1356,12 +1362,13 @@ trace_finodelk (call_frame_t *frame, xlator_t *this, const char *volume, } gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": volume=%s, (fd =%p, ino=%"PRIu64"}, " + "%"PRId64": gfid=%s volume=%s, (fd =%p " "cmd=%s, type=%s, start=%llu, len=%llu, pid=%llu)", - frame->root->unique, volume, fd, fd->inode->ino, + frame->root->unique, uuid_utoa (fd->inode->gfid), volume, fd, cmd_str, type_str, (unsigned long long) flock->l_start, (unsigned long long) flock->l_len, (unsigned long long) flock->l_pid); + frame->local = fd->inode->gfid; } STACK_WIND (frame, trace_finodelk_cbk, @@ -1378,9 +1385,10 @@ trace_xattrop (call_frame_t *frame, xlator_t *this, loc_t *loc, { if (trace_fop_names[GF_FOP_XATTROP].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (path=%s, ino=%"PRIu64" flags=%d)", - frame->root->unique, loc->path, loc->inode->ino, flags); - + "%"PRId64": gfid=%s (path=%s flags=%d)", + frame->root->unique, uuid_utoa (loc->inode->gfid), + loc->path, flags); + frame->local = loc->inode->gfid; } STACK_WIND (frame, trace_xattrop_cbk, @@ -1398,9 +1406,10 @@ trace_fxattrop (call_frame_t *frame, xlator_t *this, fd_t *fd, { if (trace_fop_names[GF_FOP_FXATTROP].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (fd=%p, flags=%d)", - frame->root->unique, fd, flags); - + "%"PRId64": gfid=%s fd=%p, flags=%d", + frame->root->unique, uuid_utoa (fd->inode->gfid), + fd, flags); + frame->local = fd->inode->gfid; } STACK_WIND (frame, trace_fxattrop_cbk, @@ -1419,9 +1428,10 @@ trace_lookup (call_frame_t *frame, xlator_t *this, if (trace_fop_names[GF_FOP_LOOKUP].enabled) { /* TODO: print all the keys mentioned in xattr_req */ gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (loc {path=%s, ino=%"PRIu64"})", - frame->root->unique, loc->path, - loc->inode->ino); + "%"PRId64": gfid=%s path=%s", + frame->root->unique, uuid_utoa (loc->inode->gfid), + loc->path); + frame->local = loc->inode->gfid; } STACK_WIND (frame, trace_lookup_cbk, @@ -1438,8 +1448,10 @@ trace_stat (call_frame_t *frame, xlator_t *this, loc_t *loc) { if (trace_fop_names[GF_FOP_STAT].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (loc {path=%s, ino=%"PRIu64"})", - frame->root->unique, loc->path, loc->inode->ino); + "%"PRId64": gfid=%s path=%s", + frame->root->unique, uuid_utoa (loc->inode->gfid), + loc->path); + frame->local = loc->inode->gfid; } STACK_WIND (frame, trace_stat_cbk, @@ -1456,8 +1468,10 @@ trace_readlink (call_frame_t *frame, xlator_t *this, loc_t *loc, size_t size) { if (trace_fop_names[GF_FOP_READLINK].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (loc {path=%s, ino=%"PRIu64"}, size=%"GF_PRI_SIZET")", - frame->root->unique, loc->path, loc->inode->ino, size); + "%"PRId64": gfid=%s path=%s, size=%"GF_PRI_SIZET")", + frame->root->unique, uuid_utoa (loc->inode->gfid), + loc->path, size); + frame->local = loc->inode->gfid; } STACK_WIND (frame, trace_readlink_cbk, @@ -1475,8 +1489,9 @@ trace_mknod (call_frame_t *frame, xlator_t *this, loc_t *loc, { if (trace_fop_names[GF_FOP_MKNOD].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (loc {path=%s, ino=%"PRIu64"}, mode=%d, dev=%"GF_PRI_DEV")", - frame->root->unique, loc->path, loc->inode->ino, mode, dev); + "%"PRId64": gfid=%s path=%s mode=%d dev=%"GF_PRI_DEV")", + frame->root->unique, uuid_utoa (loc->inode->gfid), + loc->path, mode, dev); } STACK_WIND (frame, trace_mknod_cbk, @@ -1494,9 +1509,9 @@ trace_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode, { if (trace_fop_names[GF_FOP_MKDIR].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (path=%s, ino=%"PRIu64", mode=%d)", - frame->root->unique, loc->path, - ((loc->inode)? loc->inode->ino : 0), mode); + "%"PRId64": gfid=%s path=%s mode=%d", + frame->root->unique, uuid_utoa (loc->inode->gfid), + loc->path, mode); } STACK_WIND (frame, trace_mkdir_cbk, @@ -1512,8 +1527,10 @@ trace_unlink (call_frame_t *frame, xlator_t *this, loc_t *loc) { if (trace_fop_names[GF_FOP_UNLINK].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (loc {path=%s, ino=%"PRIu64"})", - frame->root->unique, loc->path, loc->inode->ino); + "%"PRId64": gfid=%s path=%s", + frame->root->unique, uuid_utoa (loc->inode->gfid), + loc->path); + frame->local = loc->inode->gfid; } STACK_WIND (frame, trace_unlink_cbk, @@ -1529,8 +1546,10 @@ trace_rmdir (call_frame_t *frame, xlator_t *this, loc_t *loc, int flags) { if (trace_fop_names[GF_FOP_RMDIR].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (loc {path=%s, ino=%"PRIu64"}, flags=%d)", - frame->root->unique, loc->path, loc->inode->ino, flags); + "%"PRId64": gfid=%s path=%s flags=%d", + frame->root->unique, uuid_utoa (loc->inode->gfid), + loc->path, flags); + frame->local = loc->inode->gfid; } STACK_WIND (frame, trace_rmdir_cbk, @@ -1548,9 +1567,9 @@ trace_symlink (call_frame_t *frame, xlator_t *this, const char *linkpath, { if (trace_fop_names[GF_FOP_SYMLINK].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (linkpath=%s, loc {path=%s, ino=%"PRIu64"})", - frame->root->unique, linkpath, loc->path, - ((loc->inode)? loc->inode->ino : 0)); + "%"PRId64": gfid=%s linkpath=%s, path=%s", + frame->root->unique, uuid_utoa (loc->inode->gfid), + linkpath, loc->path); } STACK_WIND (frame, trace_symlink_cbk, @@ -1565,12 +1584,22 @@ trace_symlink (call_frame_t *frame, xlator_t *this, const char *linkpath, int trace_rename (call_frame_t *frame, xlator_t *this, loc_t *oldloc, loc_t *newloc) { + char oldgfid[50] = {0,}; + char newgfid[50] = {0,}; + if (trace_fop_names[GF_FOP_RENAME].enabled) { + if (newloc->inode) + uuid_utoa_r (newloc->inode->gfid, newgfid); + else + strcpy (newgfid, "0"); + + uuid_utoa_r (oldloc->inode->gfid, oldgfid); + gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (oldloc {path=%s, ino=%"PRIu64"}, " - "newloc{path=%s, ino=%"PRIu64"})", - frame->root->unique, oldloc->path, oldloc->ino, - newloc->path, newloc->ino); + "%"PRId64": oldgfid=%s oldpath=%s --> newgfid=%s newpath=%s", + frame->root->unique, oldgfid, oldloc->path, newgfid, newloc->path); + + frame->local = oldloc->inode->gfid; } STACK_WIND (frame, trace_rename_cbk, @@ -1585,12 +1614,22 @@ trace_rename (call_frame_t *frame, xlator_t *this, loc_t *oldloc, loc_t *newloc) int trace_link (call_frame_t *frame, xlator_t *this, loc_t *oldloc, loc_t *newloc) { + char oldgfid[50] = {0,}; + char newgfid[50] = {0,}; + if (trace_fop_names[GF_FOP_LINK].enabled) { + if (newloc->inode) + uuid_utoa_r (newloc->inode->gfid, newgfid); + else + strcpy (newgfid, "0"); + + uuid_utoa_r (oldloc->inode->gfid, oldgfid); + gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (oldloc {path=%s, ino=%"PRIu64"}, " - "newloc {path=%s, ino=%"PRIu64"})", - frame->root->unique, oldloc->path, oldloc->inode->ino, - newloc->path, newloc->inode->ino); + "%"PRId64": oldgfid=%s oldpath=%s --> newgfid=%s newpath=%s", + frame->root->unique, oldgfid, oldloc->path, + newgfid, newloc->path); + frame->local = oldloc->inode->gfid; } STACK_WIND (frame, trace_link_cbk, @@ -1612,18 +1651,16 @@ trace_setattr (call_frame_t *frame, xlator_t *this, loc_t *loc, if (trace_fop_names[GF_FOP_SETATTR].enabled) { if (valid & GF_SET_ATTR_MODE) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (loc {path=%s, ino=%"PRIu64"}," - " mode=%o)", frame->root->unique, loc->path, - loc->inode->ino, - st_mode_from_ia (stbuf->ia_prot, stbuf->ia_type)); + "%"PRId64": gfid=%s path=%s mode=%o)", + frame->root->unique, uuid_utoa (loc->inode->gfid), + loc->path, st_mode_from_ia (stbuf->ia_prot, stbuf->ia_type)); } if (valid & (GF_SET_ATTR_UID | GF_SET_ATTR_GID)) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (loc {path=%s, ino=%"PRIu64"}," - " uid=%o, gid=%o)", - frame->root->unique, loc->path, loc->inode->ino, - stbuf->ia_uid, stbuf->ia_gid); + "%"PRId64": gfid=%s path=%s uid=%o, gid=%o", + frame->root->unique, uuid_utoa (loc->inode->gfid), + loc->path, stbuf->ia_uid, stbuf->ia_gid); } if (valid & (GF_SET_ATTR_ATIME | GF_SET_ATTR_MTIME)) { @@ -1636,11 +1673,11 @@ trace_setattr (call_frame_t *frame, xlator_t *this, loc_t *loc, localtime ((time_t *)&ia_time)); gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (loc {path=%s, ino=%"PRIu64"}, " - "*stbuf=%p {ia_atime=%s, ia_mtime=%s})", - frame->root->unique, loc->path, loc->inode->ino, - stbuf, actime_str, modtime_str); + "%"PRId64": gfid=%s path=%s ia_atime=%s, ia_mtime=%s", + frame->root->unique, uuid_utoa (loc->inode->gfid), + loc->path, actime_str, modtime_str); } + frame->local = loc->inode->gfid; } STACK_WIND (frame, trace_setattr_cbk, @@ -1663,16 +1700,16 @@ trace_fsetattr (call_frame_t *frame, xlator_t *this, fd_t *fd, if (trace_fop_names[GF_FOP_FSETATTR].enabled) { if (valid & GF_SET_ATTR_MODE) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (*fd=%p, mode=%o)", - frame->root->unique, fd, + "%"PRId64": gfid=%s fd=%p, mode=%o", + frame->root->unique, uuid_utoa (fd->inode->gfid), fd, st_mode_from_ia (stbuf->ia_prot, stbuf->ia_type)); } if (valid & (GF_SET_ATTR_UID | GF_SET_ATTR_GID)) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (*fd=%p, uid=%o, gid=%o)", - frame->root->unique, fd, - stbuf->ia_uid, stbuf->ia_gid); + "%"PRId64": gfid=%s fd=%p, uid=%o, gid=%o", + frame->root->unique, uuid_utoa (fd->inode->gfid), + fd, stbuf->ia_uid, stbuf->ia_gid); } if (valid & (GF_SET_ATTR_ATIME | GF_SET_ATTR_MTIME)) { @@ -1685,11 +1722,11 @@ trace_fsetattr (call_frame_t *frame, xlator_t *this, fd_t *fd, localtime ((time_t *)&ia_time)); gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (*fd=%p" - "*stbuf=%p {ia_atime=%s, ia_mtime=%s})", - frame->root->unique, fd, stbuf, actime_str, - modtime_str); + "%"PRId64": gfid=%s fd=%p ia_atime=%s, ia_mtime=%s", + frame->root->unique, uuid_utoa (fd->inode->gfid), + fd, actime_str, modtime_str); } + frame->local = fd->inode->gfid; } STACK_WIND (frame, trace_fsetattr_cbk, @@ -1707,8 +1744,10 @@ trace_truncate (call_frame_t *frame, xlator_t *this, loc_t *loc, { if (trace_fop_names[GF_FOP_TRUNCATE].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (loc {path=%s, ino=%"PRIu64"}, offset=%"PRId64")", - frame->root->unique, loc->path, loc->inode->ino, offset); + "%"PRId64": gfid=%s path=%s, offset=%"PRId64"", + frame->root->unique, uuid_utoa (loc->inode->gfid), + loc->path, offset); + frame->local = loc->inode->gfid; } STACK_WIND (frame, trace_truncate_cbk, @@ -1726,10 +1765,10 @@ trace_open (call_frame_t *frame, xlator_t *this, loc_t *loc, { if (trace_fop_names[GF_FOP_OPEN].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (loc {path=%s, ino=%"PRIu64"}, flags=%d, " - "fd=%p, wbflags=%d)", - frame->root->unique, loc->path, loc->inode->ino, flags, - fd, wbflags); + "%"PRId64": gfid=%s path=%s flags=%d fd=%p wbflags=%d", + frame->root->unique, uuid_utoa (loc->inode->gfid), + loc->path, flags, fd, wbflags); + frame->local = loc->inode->gfid; } STACK_WIND (frame, trace_open_cbk, @@ -1746,8 +1785,9 @@ trace_create (call_frame_t *frame, xlator_t *this, loc_t *loc, { if (trace_fop_names[GF_FOP_CREATE].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (loc {path=%s, ino=%"PRIu64"}, flags=0%o mode=0%o)", - frame->root->unique, loc->path, loc->inode->ino, flags, mode); + "%"PRId64": gfid=%s path=%s, fd=%p, flags=0%o mode=0%o", + frame->root->unique, uuid_utoa (loc->inode->gfid), + loc->path, fd, flags, mode); } STACK_WIND (frame, trace_create_cbk, @@ -1764,8 +1804,9 @@ trace_readv (call_frame_t *frame, xlator_t *this, fd_t *fd, { if (trace_fop_names[GF_FOP_READ].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (*fd=%p, size=%"GF_PRI_SIZET", offset=%"PRId64")", - frame->root->unique, fd, size, offset); + "%"PRId64": gfid=%s fd=%p, size=%"GF_PRI_SIZET", offset=%"PRId64")", + frame->root->unique, uuid_utoa (fd->inode->gfid), fd, size, offset); + frame->local = fd->inode->gfid; } STACK_WIND (frame, trace_readv_cbk, @@ -1783,8 +1824,10 @@ trace_writev (call_frame_t *frame, xlator_t *this, fd_t *fd, { if (trace_fop_names[GF_FOP_WRITE].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (*fd=%p, *vector=%p, count=%d, offset=%"PRId64")", - frame->root->unique, fd, vector, count, offset); + "%"PRId64": gfid=%s fd=%p, count=%d, offset=%"PRId64")", + frame->root->unique, uuid_utoa (fd->inode->gfid), + fd, count, offset); + frame->local = fd->inode->gfid; } STACK_WIND (frame, trace_writev_cbk, @@ -1800,9 +1843,9 @@ trace_statfs (call_frame_t *frame, xlator_t *this, loc_t *loc) { if (trace_fop_names[GF_FOP_STATFS].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (loc {path=%s, ino=%"PRIu64"})", - frame->root->unique, loc->path, - ((loc->inode)? loc->inode->ino : 0)); + "%"PRId64": gfid=%s path=%s", + frame->root->unique, uuid_utoa (loc->inode->gfid), + loc->path); } STACK_WIND (frame, trace_statfs_cbk, @@ -1818,8 +1861,9 @@ trace_flush (call_frame_t *frame, xlator_t *this, fd_t *fd) { if (trace_fop_names[GF_FOP_FLUSH].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (*fd=%p)", - frame->root->unique, fd); + "%"PRId64": gfid=%s fd=%p", + frame->root->unique, uuid_utoa (fd->inode->gfid), fd); + frame->local = fd->inode->gfid; } STACK_WIND (frame, trace_flush_cbk, @@ -1835,8 +1879,9 @@ trace_fsync (call_frame_t *frame, xlator_t *this, fd_t *fd, int32_t flags) { if (trace_fop_names[GF_FOP_FSYNC].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (flags=%d, *fd=%p)", - frame->root->unique, flags, fd); + "%"PRId64": gfid=%s flags=%d fd=%p", + frame->root->unique, uuid_utoa (fd->inode->gfid), flags, fd); + frame->local = fd->inode->gfid; } STACK_WIND (frame, trace_fsync_cbk, @@ -1853,9 +1898,10 @@ trace_setxattr (call_frame_t *frame, xlator_t *this, { if (trace_fop_names[GF_FOP_SETXATTR].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (loc {path=%s, ino=%"PRIu64"}, dict=%p, flags=%d)", - frame->root->unique, loc->path, - ((loc->inode)? loc->inode->ino : 0), dict, flags); + "%"PRId64": gfid=%s path=%s flags=%d", + frame->root->unique, uuid_utoa (loc->inode->gfid), + loc->path, flags); + frame->local = loc->inode->gfid; } STACK_WIND (frame, trace_setxattr_cbk, @@ -1872,9 +1918,10 @@ trace_getxattr (call_frame_t *frame, xlator_t *this, { if (trace_fop_names[GF_FOP_GETXATTR].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (loc {path=%s, ino=%"PRIu64"}), name=%s", - frame->root->unique, loc->path, - ((loc->inode)? loc->inode->ino : 0), name); + "%"PRId64": gfid=%s path=%s name=%s", + frame->root->unique, uuid_utoa (loc->inode->gfid), + loc->path, name); + frame->local = loc->inode->gfid; } STACK_WIND (frame, trace_getxattr_cbk, @@ -1891,9 +1938,10 @@ trace_removexattr (call_frame_t *frame, xlator_t *this, { if (trace_fop_names[GF_FOP_REMOVEXATTR].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (loc {path=%s, ino=%"PRIu64"}, name=%s)", - frame->root->unique, loc->path, - ((loc->inode)? loc->inode->ino : 0), name); + "%"PRId64": gfid=%s path=%s name=%s", + frame->root->unique, uuid_utoa (loc->inode->gfid), + loc->path, name); + frame->local = loc->inode->gfid; } STACK_WIND (frame, trace_removexattr_cbk, @@ -1910,8 +1958,10 @@ trace_opendir (call_frame_t *frame, xlator_t *this, loc_t *loc, fd_t *fd) { if (trace_fop_names[GF_FOP_OPENDIR].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64":( loc {path=%s, ino=%"PRIu64"}, fd=%p)", - frame->root->unique, loc->path, loc->inode->ino, fd); + "%"PRId64": gfid=%s path=%s fd=%p", + frame->root->unique, uuid_utoa (loc->inode->gfid), + loc->path, fd); + frame->local = loc->inode->gfid; } STACK_WIND (frame, trace_opendir_cbk, @@ -1927,8 +1977,10 @@ trace_readdirp (call_frame_t *frame, xlator_t *this, fd_t *fd, size_t size, { if (trace_fop_names[GF_FOP_READDIRP].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (fd=%p, size=%"GF_PRI_SIZET", offset=%"PRId64")", - frame->root->unique, fd, size, offset); + "%"PRId64": gfid=%s fd=%p, size=%"GF_PRI_SIZET", offset=%"PRId64, + frame->root->unique, uuid_utoa (fd->inode->gfid), + fd, size, offset); + frame->local = fd->inode->gfid; } STACK_WIND (frame, trace_readdirp_cbk, @@ -1946,8 +1998,10 @@ trace_readdir (call_frame_t *frame, xlator_t *this, fd_t *fd, { if (trace_fop_names[GF_FOP_READDIR].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (fd=%p, size=%"GF_PRI_SIZET", offset=%"PRId64")", - frame->root->unique, fd, size, offset); + "%"PRId64": gfid=%s fd=%p, size=%"GF_PRI_SIZET", offset=%"PRId64, + frame->root->unique, uuid_utoa (fd->inode->gfid), + fd, size, offset); + frame->local = fd->inode->gfid; } STACK_WIND (frame, trace_readdir_cbk, @@ -1965,8 +2019,10 @@ trace_fsyncdir (call_frame_t *frame, xlator_t *this, { if (trace_fop_names[GF_FOP_FSYNCDIR].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (datasync=%d, *fd=%p)", - frame->root->unique, datasync, fd); + "%"PRId64": gfid=%s datasync=%d fd=%p", + frame->root->unique, uuid_utoa (fd->inode->gfid), + datasync, fd); + frame->local = fd->inode->gfid; } STACK_WIND (frame, trace_fsyncdir_cbk, @@ -1982,9 +2038,10 @@ trace_access (call_frame_t *frame, xlator_t *this, loc_t *loc, int32_t mask) { if (trace_fop_names[GF_FOP_ACCESS].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (*loc {path=%s, ino=%"PRIu64"}, mask=0%o)", - frame->root->unique, loc->path, - ((loc->inode)? loc->inode->ino : 0), mask); + "%"PRId64": gfid=%s path=%s mask=0%o", + frame->root->unique, uuid_utoa (loc->inode->gfid), + loc->path, mask); + frame->local = loc->inode->gfid; } STACK_WIND (frame, trace_access_cbk, @@ -1995,14 +2052,99 @@ trace_access (call_frame_t *frame, xlator_t *this, loc_t *loc, int32_t mask) } +int32_t +trace_rchecksum (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset, + int32_t len) +{ + if (trace_fop_names[GF_FOP_RCHECKSUM].enabled) { + gf_log (this->name, GF_LOG_NORMAL, + "%"PRId64": gfid=%s offset=%"PRId64" len=%u fd=%p", + frame->root->unique, uuid_utoa (fd->inode->gfid), + offset, len, fd); + frame->local = fd->inode->gfid; + } + + STACK_WIND (frame, trace_rchecksum_cbk, + FIRST_CHILD(this), + FIRST_CHILD(this)->fops->rchecksum, + fd, offset, len); + + return 0; + +} + +int32_t +trace_fentrylk (call_frame_t *frame, xlator_t *this, const char *volume, + fd_t *fd, const char *basename, entrylk_cmd cmd, + entrylk_type type) +{ + if (trace_fop_names[GF_FOP_FENTRYLK].enabled) { + gf_log (this->name, GF_LOG_NORMAL, + "%"PRId64": gfid=%s volume=%s, (fd=%p basename=%s, " + "cmd=%s, type=%s)", + frame->root->unique, uuid_utoa (fd->inode->gfid), + volume, fd, basename, + ((cmd == ENTRYLK_LOCK) ? "ENTRYLK_LOCK" : "ENTRYLK_UNLOCK"), + ((type == ENTRYLK_RDLCK) ? "ENTRYLK_RDLCK" : "ENTRYLK_WRLCK")); + frame->local = fd->inode->gfid; + } + + STACK_WIND (frame, trace_fentrylk_cbk, + FIRST_CHILD (this), + FIRST_CHILD (this)->fops->fentrylk, + volume, fd, basename, cmd, type); + return 0; + +} + +int32_t +trace_fgetxattr (call_frame_t *frame, xlator_t *this, fd_t *fd, + const char *name) +{ + if (trace_fop_names[GF_FOP_FGETXATTR].enabled) { + gf_log (this->name, GF_LOG_NORMAL, + "%"PRId64": gfid=%s fd=%p name=%s", + frame->root->unique, uuid_utoa (fd->inode->gfid), + fd, name); + frame->local = fd->inode->gfid; + } + + STACK_WIND (frame, trace_fgetxattr_cbk, + FIRST_CHILD(this), + FIRST_CHILD(this)->fops->fgetxattr, + fd, name); + return 0; +} + +int32_t +trace_fsetxattr (call_frame_t *frame, xlator_t *this, fd_t *fd, + dict_t *dict, int32_t flags) +{ + if (trace_fop_names[GF_FOP_FSETXATTR].enabled) { + gf_log (this->name, GF_LOG_NORMAL, + "%"PRId64": gfid=%s fd=%p flags=%d", + frame->root->unique, uuid_utoa (fd->inode->gfid), + fd, flags); + frame->local = fd->inode->gfid; + } + + STACK_WIND (frame, trace_fsetxattr_cbk, + FIRST_CHILD(this), + FIRST_CHILD(this)->fops->fsetxattr, + fd, dict, flags); + return 0; +} + int trace_ftruncate (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset) { if (trace_fop_names[GF_FOP_FTRUNCATE].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (offset=%"PRId64", *fd=%p)", - frame->root->unique, offset, fd); + "%"PRId64": gfid=%s offset=%"PRId64" fd=%p", + frame->root->unique, uuid_utoa (fd->inode->gfid), + offset, fd); + frame->local = fd->inode->gfid; } STACK_WIND (frame, trace_ftruncate_cbk, @@ -2019,8 +2161,9 @@ trace_fstat (call_frame_t *frame, xlator_t *this, fd_t *fd) { if (trace_fop_names[GF_FOP_FSTAT].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (*fd=%p)", - frame->root->unique, fd); + "%"PRId64": gfid=%s fd=%p", + frame->root->unique, uuid_utoa (fd->inode->gfid), fd); + frame->local = fd->inode->gfid; } STACK_WIND (frame, trace_fstat_cbk, @@ -2037,10 +2180,12 @@ trace_lk (call_frame_t *frame, xlator_t *this, fd_t *fd, { if (trace_fop_names[GF_FOP_LK].enabled) { gf_log (this->name, GF_LOG_NORMAL, - "%"PRId64": (*fd=%p, cmd=%d, lock {l_type=%d, l_whence=%d, " + "%"PRId64": gfid=%s fd=%p, cmd=%d, lock {l_type=%d, l_whence=%d, " "l_start=%"PRId64", l_len=%"PRId64", l_pid=%u})", - frame->root->unique, fd, cmd, lock->l_type, lock->l_whence, + frame->root->unique, uuid_utoa (fd->inode->gfid), fd, + cmd, lock->l_type, lock->l_whence, lock->l_start, lock->l_len, lock->l_pid); + frame->local = fd->inode->gfid; } STACK_WIND (frame, trace_lk_cbk, @@ -2137,7 +2282,7 @@ init (xlator_t *this) if (dict_get (options, "force-log-level")) { forced_loglevel = data_to_str (dict_get (options, - "force-log-level")); + "force-log-level")); if (!forced_loglevel) goto setloglevel; @@ -2193,6 +2338,8 @@ struct xlator_fops fops = { .fsync = trace_fsync, .setxattr = trace_setxattr, .getxattr = trace_getxattr, + .fsetxattr = trace_fsetxattr, + .fgetxattr = trace_fgetxattr, .removexattr = trace_removexattr, .opendir = trace_opendir, .readdir = trace_readdir, @@ -2206,7 +2353,9 @@ struct xlator_fops fops = { .inodelk = trace_inodelk, .finodelk = trace_finodelk, .entrylk = trace_entrylk, + .fentrylk = trace_fentrylk, .lookup = trace_lookup, + .rchecksum = trace_rchecksum, .xattrop = trace_xattrop, .fxattrop = trace_fxattrop, .setattr = trace_setattr, |