DHT: Wrong error handling in gf_defrag_migrate_data

Problem:
         Because of the condition (err = op_errno), err was set to
zero always and ENOSPC error will be logged always. "dht_check_free_
space" was returning 1 and it was mapped to EPERM in "rebalance_task
_completion".

Solution: Changed the return value in dht_check_free_space to -1
as in rebalance_task_completion op_ret value -1 is mapped to ENOSPC.

And fixed the wrong error condition after syncop_setxattr in
gf_defrag_migrate_data.

Change-Id: I474ea1bef3b1e34c89814ed0091dd02bd5b63737
BUG: 1054703
Signed-off-by: Susant Palai <spalai@redhat.com>
Reviewed-on: http://review.gluster.org/6727
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>