From c13823bd16b26bc471d3efb15f63b76fbfdf0309 Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Mon, 3 Sep 2012 12:49:21 +0200 Subject: mount/fuse: add mount-option "enable-ino32" for the native client By default the GlusterFS-native client uses 64-bit inodes. Some 32-bit applications can not handle these correctly. Introduce a client-side mount option "enable-ino32" which causes the FUSE-client to squash the 64-bit inodes into a 32-bit value. Change-Id: I3296d16528bfb50457b9675f6b8701234ed82ff0 BUG: 850352 Signed-off-by: Niels de Vos Reviewed-on: http://review.gluster.org/3885 Tested-by: Gluster Build System Reviewed-by: Anand Avati --- xlators/mount/fuse/src/fuse-bridge.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'xlators/mount/fuse/src/fuse-bridge.h') diff --git a/xlators/mount/fuse/src/fuse-bridge.h b/xlators/mount/fuse/src/fuse-bridge.h index 63ec5d2ef1e..3f45f064463 100644 --- a/xlators/mount/fuse/src/fuse-bridge.h +++ b/xlators/mount/fuse/src/fuse-bridge.h @@ -104,6 +104,7 @@ struct fuse_private { gf_boolean_t read_only; gf_boolean_t fopen_keep_cache; int32_t gid_cache_timeout; + gf_boolean_t enable_ino32; fdtable_t *fdtable; gid_cache_t gid_cache; @@ -413,7 +414,8 @@ fuse_loc_fill (loc_t *loc, fuse_state_t *state, ino_t ino, call_frame_t *get_call_frame_for_req (fuse_state_t *state); fuse_state_t *get_fuse_state (xlator_t *this, fuse_in_header_t *finh); void free_fuse_state (fuse_state_t *state); -void gf_fuse_stat2attr (struct iatt *st, struct fuse_attr *fa); +void gf_fuse_stat2attr (struct iatt *st, struct fuse_attr *fa, + gf_boolean_t enable_ino32); uint64_t inode_to_fuse_nodeid (inode_t *inode); xlator_t *fuse_active_subvol (xlator_t *fuse); inode_t *fuse_ino_to_inode (uint64_t ino, xlator_t *fuse); -- cgit