summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/nsr-recon/src/recon_xlator.c
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/cluster/nsr-recon/src/recon_xlator.c')
-rw-r--r--xlators/cluster/nsr-recon/src/recon_xlator.c20
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)) {