diff options
| author | Niels de Vos <ndevos@redhat.com> | 2015-05-21 17:47:33 +0200 |
|---|---|---|
| committer | Raghavendra Bhat <raghavendra@redhat.com> | 2015-06-03 04:47:27 -0700 |
| commit | 35ff4c8c99bb0828d3d1a017f9fae25c56bc091a (patch) | |
| tree | c81c3779226fd1498a649c1786aa044fc34707f6 /xlators/mount/fuse/src/fuse-bridge.h | |
| parent | c395ef6539f877cde96d13b66613a1746e628cf7 (diff) | |
fuse: squash 64-bit inodes in readdirp when enable-ino32 is set
The structures returned by readdirp contain the inode 2x. Only one of
them was squashed into 32-bits when enable-ino32 is enabled.
Backport of:
> Change-Id: I33a6d28fb118bb23971f918ffeb983d7f033106e
> BUG: 1223889
> Reviewed-on: http://review.gluster.org/10881
> Signed-off-by: Niels de Vos <ndevos@redhat.com>
> Tested-by: Cyril Peponnet <cyril@peponnet.fr> [on release-3.5]
Change-Id: I33a6d28fb118bb23971f918ffeb983d7f033106e
BUG: 1223891
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Reviewed-on: http://review.gluster.org/10883
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com>
Diffstat (limited to 'xlators/mount/fuse/src/fuse-bridge.h')
| -rw-r--r-- | xlators/mount/fuse/src/fuse-bridge.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/xlators/mount/fuse/src/fuse-bridge.h b/xlators/mount/fuse/src/fuse-bridge.h index d0d4120026b..bf1b77be666 100644 --- a/xlators/mount/fuse/src/fuse-bridge.h +++ b/xlators/mount/fuse/src/fuse-bridge.h @@ -149,6 +149,9 @@ typedef struct fuse_graph_switch_args fuse_graph_switch_args_t; #define FH_TO_FD(fh) ((_FH_TO_FD (fh))?(fd_ref (_FH_TO_FD (fh))):((fd_t *) 0)) +/* Use the same logic as the Linux NFS-client */ +#define GF_FUSE_SQUASH_INO(ino) (((uint32_t) ino) ^ (ino >> 32)) + #define FUSE_FOP(state, ret, op_num, fop, args ...) \ do { \ xlator_t *xl = NULL; \ |
