summaryrefslogtreecommitdiffstats
path: root/xlators/mount/fuse/src/fuse-bridge.h
diff options
context:
space:
mode:
authorNiels de Vos <ndevos@redhat.com>2015-05-20 22:34:44 +0200
committerNiels de Vos <ndevos@redhat.com>2015-06-03 13:23:55 -0700
commit86487dfb7f51f552bb27a16568a612f14221cd49 (patch)
tree827dbe617ca87aaa9ebeb61501b5168b9646bb4e /xlators/mount/fuse/src/fuse-bridge.h
parentbfce25666d8a0d198292df4884d7d8d56ec0dc8c (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: 1222150 Signed-off-by: Niels de Vos <ndevos@redhat.com> Tested-by: Cyril Peponnet <cyril@peponnet.fr> Reviewed-on: http://review.gluster.org/10884 Tested-by: Gluster Build System <jenkins@build.gluster.com>
Diffstat (limited to 'xlators/mount/fuse/src/fuse-bridge.h')
-rw-r--r--xlators/mount/fuse/src/fuse-bridge.h3
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 1a85cd348b8..f0ab546f662 100644
--- a/xlators/mount/fuse/src/fuse-bridge.h
+++ b/xlators/mount/fuse/src/fuse-bridge.h
@@ -143,6 +143,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; \