diff options
Diffstat (limited to 'xlators/storage/posix/src/posix.c')
| -rw-r--r-- | xlators/storage/posix/src/posix.c | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/xlators/storage/posix/src/posix.c b/xlators/storage/posix/src/posix.c index 72c65a18c5f..188b378a58b 100644 --- a/xlators/storage/posix/src/posix.c +++ b/xlators/storage/posix/src/posix.c @@ -247,7 +247,12 @@ posix_lookup (call_frame_t *frame, xlator_t *this,                  MAKE_ENTRY_HANDLE (real_path, par_path, this, loc, &buf);                  if (gf_uuid_is_null (loc->inode->gfid)) { -                        posix_gfid_heal (this, real_path, loc, xdata); +                        op_ret = posix_gfid_heal (this, real_path, loc, xdata); +                        if (op_ret < 0) { +                                op_errno = -op_ret; +                                op_ret = -1; +                                goto out; +                        }                          MAKE_ENTRY_HANDLE (real_path, par_path, this,                                             loc, &buf);                  }  | 
