Index: src/apps/fuse/pvfs2fuse.c =================================================================== --- src/apps/fuse/pvfs2fuse.c (revision 9211) +++ src/apps/fuse/pvfs2fuse.c (revision 9212) @@ -507,8 +507,10 @@ ret = lookup( path, &pfh, PVFS2_LOOKUP_LINK_FOLLOW ); if ( ret < 0 ) return PVFS_ERROR_TO_ERRNO_N( ret ); - - new_attr.perms = mode; + /* FUSE passes in 5 octets in 'mode'. However, the the first + * octet is not related to permissions, hence checking only + * the lower 4 octets */ + new_attr.perms = mode & 07777; new_attr.mask = PVFS_ATTR_SYS_PERM; ret = PVFS_sys_setattr(pfh.ref,new_attr,&pfh.creds);