diff options
author | Michael Brown <michael@netdirect.ca> | 2013-04-30 11:34:57 -0400 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2013-05-01 03:12:06 -0700 |
commit | 39a1eaf38d64f66dfa74c6843dc9266f40dd4645 (patch) | |
tree | 649f1174f64b02074fe2f04a9031db3ab7dc6486 /xlators/nfs/server/src/nfs3-fh.h | |
parent | d57e37a5235d8ddafa67d4b4e4dca5f3c2126591 (diff) |
Expand gluster's NFS FD header to 4 bytes
* https://bugzilla.redhat.com/show_bug.cgi?id=950121
* Oracle's DNFS does not properly XDR encoding on NFS FDs that
are not congruent to 0mod4 bytes long
* This patch is a workaround to support Oracle's buggy code
Change-Id: Ic621e2cd679a86aa9a06ed9ca684925e1e0ec43f
BUG: 950121
Signed-off-by: Michael Brown <michael@netdirect.ca>
Reviewed-on: http://review.gluster.org/4918
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'xlators/nfs/server/src/nfs3-fh.h')
-rw-r--r-- | xlators/nfs/server/src/nfs3-fh.h | 8 |
1 files changed, 5 insertions, 3 deletions
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 |