diff options
Diffstat (limited to 'xlators/nfs/server/src/nfs3-helpers.c')
| -rw-r--r-- | xlators/nfs/server/src/nfs3-helpers.c | 10 | 
1 files changed, 8 insertions, 2 deletions
diff --git a/xlators/nfs/server/src/nfs3-helpers.c b/xlators/nfs/server/src/nfs3-helpers.c index 2a8b1b5b114..298a5c858cf 100644 --- a/xlators/nfs/server/src/nfs3-helpers.c +++ b/xlators/nfs/server/src/nfs3-helpers.c @@ -99,11 +99,17 @@ nfs3_iatt_gfid_to_ino (struct iatt *buf)          if (!buf)                  return 0; -        if (buf->ia_ino != 1) +        if ((buf->ia_ino != 1) && (buf->ia_gfid[15] != 1)) { +                if (gf_nfs_enable_ino32()) { +                        ino = (uint32_t )nfs_hash_gfid (buf->ia_gfid); +                        goto hashout; +                } +                  memcpy (&ino, &buf->ia_gfid[8], sizeof (uint64_t)); -        else +        } else                  ino = 1; +hashout:          return ino;  }  | 
