Bug 1299203

Summary: resolve-gids is not needed for Linux kernels v3.8 and newer
Product: [Community] GlusterFS Reporter: Niels de Vos <ndevos>
Component: fuseAssignee: Csaba Henk <csaba>
Status: CLOSED UPSTREAM QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: mainlineCC: atumball, bugs, lav, nbalacha
Target Milestone: ---Keywords: EasyFix, FutureFeature, Reopened, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-12 14:50:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Niels de Vos 2016-01-17 11:10:45 UTC
Description of problem:
Modern versions of Linux export more than 32 groups from the /proc/x/status file. Starting with version 3.8 as of commit 8d238027b87e654be552eabdf492042a34c5c300, all the supplementary groups (not just the first 32) are exported via procfs.

This patch suggests that the resolve-gids switch would only be necessary on versions of Linux exporting only a subset of groups. That is, versions prior to v3.8.

It would also be possible to #include <linux/limits.h> and use the NGROUPS_MAX defined there. However, it is currently the same as GF_MAX_AUX_GROUPS (65536)

Additional info:
Reported and patch proposed at https://github.com/gluster/glusterfs/pull/41

Comment 1 Niels de Vos 2016-01-17 11:25:45 UTC
Please see the pull request for inline comments and suggested approach. Checking the OS (should be "Linux") and the kernel version can be done with uname() (see 'man 2 uname' for details).

Comment 2 Vitaly Lipatov 2018-07-11 14:12:55 UTC
I just checked in gluster 3.12.x
frame_fill_groups()
returns no limited groups when used getgrouplist (if resolve-gids if enabled) 
and limiting groups to 32 groups (defined by FUSE_MAX_AUX_GROUPS 32) when read it from /proc/PID/status.

There are no reason in fuse code returns only 32 groups from /proc/PID/status.

Can someone send patch from the pull request to remove that restriction?

Comment 3 Worker Ant 2018-07-12 19:15:28 UTC
REVIEW: https://review.gluster.org/20500 (fuse: use GF_MAX_AUX_GROUPS instead FUSE_MAX_AUX_GROUPS in frame_fill_groups) posted (#1) for review on master by Vitaly Lipatov

Comment 4 Amar Tumballi 2019-05-11 02:03:23 UTC
Hi Vitaly Lipatov, marking it as DEFERRED, as the issue is not being looked at actively. We will revisit later.

Comment 5 Worker Ant 2020-02-11 15:47:06 UTC
REVIEW: https://review.gluster.org/24111 (rebased and fixed commit from https://review.gluster.org/20500) posted (#1) for review on master by Vitaly Lipatov

Comment 6 Worker Ant 2020-03-12 14:50:11 UTC
This bug is moved to https://github.com/gluster/glusterfs/issues/1075, and will be tracked there from now on. Visit GitHub issues URL for further details