diff options
| -rw-r--r-- | xlators/nfs/server/src/nfs3-fh.c | 10 | ||||
| -rw-r--r-- | xlators/nfs/server/src/nfs3-fh.h | 8 | 
2 files changed, 15 insertions, 3 deletions
diff --git a/xlators/nfs/server/src/nfs3-fh.c b/xlators/nfs/server/src/nfs3-fh.c index eb822392476..c4f59a622c4 100644 --- a/xlators/nfs/server/src/nfs3-fh.c +++ b/xlators/nfs/server/src/nfs3-fh.c @@ -46,6 +46,12 @@ nfs3_fh_validate (struct nfs3_fh *fh)  	if (fh->ident[1] != GF_NFSFH_IDENT1)  		return 0; +       if (fh->ident[2] != GF_NFSFH_IDENT2) +               return 0; + +       if (fh->ident[3] != GF_NFSFH_IDENT3) +               return 0; +          return 1;  } @@ -58,6 +64,8 @@ nfs3_fh_init (struct nfs3_fh *fh, struct iatt *buf)          fh->ident[0] = GF_NFSFH_IDENT0;          fh->ident[1] = GF_NFSFH_IDENT1; +        fh->ident[2] = GF_NFSFH_IDENT2; +        fh->ident[3] = GF_NFSFH_IDENT3;          uuid_copy (fh->gfid, buf->ia_gfid);  } @@ -161,6 +169,8 @@ nfs3_build_fh (inode_t *inode, uuid_t exportid, struct nfs3_fh *newfh)          newfh->ident[0] = GF_NFSFH_IDENT0;          newfh->ident[1] = GF_NFSFH_IDENT1; +        newfh->ident[2] = GF_NFSFH_IDENT2; +        newfh->ident[3] = GF_NFSFH_IDENT3;          uuid_copy (newfh->gfid, inode->gfid);          uuid_copy (newfh->exportid, exportid);          return 0; diff --git a/xlators/nfs/server/src/nfs3-fh.h b/xlators/nfs/server/src/nfs3-fh.h index a9002afe724..23957d97780 100644 --- a/xlators/nfs/server/src/nfs3-fh.h +++ b/xlators/nfs/server/src/nfs3-fh.h @@ -35,7 +35,9 @@   * handles for now. This will change if and when we need v4. */  #define GF_NFSFH_IDENT0         ':'  #define GF_NFSFH_IDENT1         'O' -#define GF_NFSFH_IDENT_SIZE     (sizeof(char) * 2) +#define GF_NFSFH_IDENT2         'G' +#define GF_NFSFH_IDENT3         'L' +#define GF_NFSFH_IDENT_SIZE     (sizeof(char) * 4)  #define GF_NFSFH_STATIC_SIZE    (GF_NFSFH_IDENT_SIZE + (2*sizeof (uuid_t)))  #define nfs3_fh_exportid_to_index(exprtid)      ((uint16_t)exprtid[15]) @@ -45,9 +47,9 @@  struct nfs3_fh {          /* Used to ensure that a bunch of bytes are actually a GlusterFS NFS -         * file handle. Should contain ":O" +         * file handle. Should contain ":OGL"           */ -        char                    ident[2]; +        char                    ident[4];          /* UUID that identifies an export. The value stored in exportid           * depends on the usage of gluster nfs. If the DVM is enabled using  | 
