diff options
Diffstat (limited to 'xlators/cluster/nsr-recon/src')
-rw-r--r-- | xlators/cluster/nsr-recon/src/recon_xlator.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/xlators/cluster/nsr-recon/src/recon_xlator.c b/xlators/cluster/nsr-recon/src/recon_xlator.c index ffbf74296..272c35dc2 100644 --- a/xlators/cluster/nsr-recon/src/recon_xlator.c +++ b/xlators/cluster/nsr-recon/src/recon_xlator.c @@ -391,19 +391,19 @@ gf_boolean_t nsr_recon_libchangelog_get_records(xlator_t *this, char *bp, int32_ } rec->gfid[i] = '\0'; - if (opcode == GF_FOP_SYMLINK) { - // the symlink would have been removed. Hence ignore this. - // TBD - have an uniform error policy in case of such cases. - // Right now we are handling some on the source and some on the destination. - if(get_link_using_gfid(this->private, rec->gfid, rec->link_path) == _gf_false) { - rec->type = NSR_LOG_HOLE; - goto finish; - } - } - GF_ASSERT(*start == 0); start ++; + if (opcode == GF_FOP_SYMLINK) { + i = 0; + do { + if (i >= 256) { + goto finish; + } + rec->link_path[i++] = *start; + } while (*(start++) != '\0'); + } + i = 0; // If type is fop_gfid_offset+_len, get offset if ((type == fop_gfid_offset) || (type == fop_gfid_offset_len)) { |