Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LU-3435 util: Improvement to error logging for l_getidentity
[fs/lustre-release.git]
/
lustre
/
utils
/
l_getidentity.c
diff --git
a/lustre/utils/l_getidentity.c
b/lustre/utils/l_getidentity.c
index
ff240eb
..
3729f3f
100644
(file)
--- a/
lustre/utils/l_getidentity.c
+++ b/
lustre/utils/l_getidentity.c
@@
-137,7
+137,8
@@
int get_groups_local(struct identity_downcall_data *data,
groups_tmp = malloc(maxgroups * sizeof(gid_t));
if (groups_tmp == NULL) {
free(pw_name);
groups_tmp = malloc(maxgroups * sizeof(gid_t));
if (groups_tmp == NULL) {
free(pw_name);
- errlog("malloc error\n");
+ data->idd_err = errno ? errno : ENOMEM;
+ errlog("malloc error=%u\n",data->idd_err);
return -1;
}
return -1;
}
@@
-146,7
+147,9
@@
int get_groups_local(struct identity_downcall_data *data,
0) {
free(pw_name);
free(groups_tmp);
0) {
free(pw_name);
free(groups_tmp);
- errlog("getgrouplist() error\n");
+ data->idd_err = errno ? errno : EIDRM;
+ errlog("getgrouplist() error for uid %u: error=%u\n",
+ data->idd_uid, data->idd_err);
return -1;
}
return -1;
}
@@
-428,6
+431,10
@@
int main(int argc, char **argv)
maxgroups = sysconf(_SC_NGROUPS_MAX);
if (maxgroups > NGROUPS_MAX)
maxgroups = NGROUPS_MAX;
maxgroups = sysconf(_SC_NGROUPS_MAX);
if (maxgroups > NGROUPS_MAX)
maxgroups = NGROUPS_MAX;
+ if (maxgroups == -1) {
+ rc = -EINVAL;
+ goto out;
+ }
size = offsetof(struct identity_downcall_data, idd_groups[maxgroups]);
data = malloc(size);
size = offsetof(struct identity_downcall_data, idd_groups[maxgroups]);
data = malloc(size);