author | Geoffrey Gardella <geoffrey.gardella@oracle.com> |
Tue, 03 May 2016 15:56:45 -0700 | |
changeset 5910 | 93ac80235738 |
parent 5867 | 445e2cf1c845 |
permissions | -rw-r--r-- |
5867
445e2cf1c845
PSARC/2014/169 Net-snmp upgrade to version 5.7.2.1
Gowtham Thommandra <Gowtham.Thommandra@Oracle.COM>
parents:
2034
diff
changeset
|
1 |
# This fix has been submitted upstream as part of a combined patch |
445e2cf1c845
PSARC/2014/169 Net-snmp upgrade to version 5.7.2.1
Gowtham Thommandra <Gowtham.Thommandra@Oracle.COM>
parents:
2034
diff
changeset
|
2 |
# which has fixes for CR15758982(027.7118090.hr_filesys.patch) and this CR(16439911). |
445e2cf1c845
PSARC/2014/169 Net-snmp upgrade to version 5.7.2.1
Gowtham Thommandra <Gowtham.Thommandra@Oracle.COM>
parents:
2034
diff
changeset
|
3 |
# This can be found in the following location. |
445e2cf1c845
PSARC/2014/169 Net-snmp upgrade to version 5.7.2.1
Gowtham Thommandra <Gowtham.Thommandra@Oracle.COM>
parents:
2034
diff
changeset
|
4 |
# https://sourceforge.net/p/net-snmp/patches/1287/. |
445e2cf1c845
PSARC/2014/169 Net-snmp upgrade to version 5.7.2.1
Gowtham Thommandra <Gowtham.Thommandra@Oracle.COM>
parents:
2034
diff
changeset
|
5 |
# This patch has not been accepted yet. |
445e2cf1c845
PSARC/2014/169 Net-snmp upgrade to version 5.7.2.1
Gowtham Thommandra <Gowtham.Thommandra@Oracle.COM>
parents:
2034
diff
changeset
|
6 |
# |
445e2cf1c845
PSARC/2014/169 Net-snmp upgrade to version 5.7.2.1
Gowtham Thommandra <Gowtham.Thommandra@Oracle.COM>
parents:
2034
diff
changeset
|
7 |
--- a/agent/mibgroup/host/hr_filesys.c Wed Nov 26 23:42:28 2014 |
445e2cf1c845
PSARC/2014/169 Net-snmp upgrade to version 5.7.2.1
Gowtham Thommandra <Gowtham.Thommandra@Oracle.COM>
parents:
2034
diff
changeset
|
8 |
+++ b/agent/mibgroup/host/hr_filesys.c Wed Nov 26 23:43:54 2014 |
445e2cf1c845
PSARC/2014/169 Net-snmp upgrade to version 5.7.2.1
Gowtham Thommandra <Gowtham.Thommandra@Oracle.COM>
parents:
2034
diff
changeset
|
9 |
@@ -751,11 +751,11 @@ |
2034
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
10 |
static int |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
11 |
load_mnttab_cache_solaris() |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
12 |
{ |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
13 |
- char buf[512] = {NULL}; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
14 |
+ char buf[MNT_LINE_MAX] = {NULL}; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
15 |
int i = 0; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
16 |
struct stat file_stat; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
17 |
const char **cpp; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
18 |
- char *ch; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
19 |
+ char *ch, *token_ptr; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
20 |
int token_flag = 0; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
21 |
int skip_flag = 0; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
22 |
int ignore_flag = 0; |
5867
445e2cf1c845
PSARC/2014/169 Net-snmp upgrade to version 5.7.2.1
Gowtham Thommandra <Gowtham.Thommandra@Oracle.COM>
parents:
2034
diff
changeset
|
23 |
@@ -762,9 +762,14 @@ |
2034
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
24 |
int j = 0; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
25 |
int lines = 0; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
26 |
int ret = 0; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
27 |
+ int chk_mnt = -1; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
28 |
HRFS_index = 0; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
29 |
|
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
30 |
- stat(ETC_MNTTAB, &file_stat); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
31 |
+ if(stat(ETC_MNTTAB, &file_stat) != 0) |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
32 |
+ { |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
33 |
+ DEBUGMSGTL(("host/hr_filesys", "stat failed for mnttab.\n")); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
34 |
+ return -1; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
35 |
+ } |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
36 |
if (last_access == -1 || last_access != file_stat.st_mtime) { |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
37 |
fp = fopen(ETC_MNTTAB, "r"); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
38 |
if(fp == NULL) |
5867
445e2cf1c845
PSARC/2014/169 Net-snmp upgrade to version 5.7.2.1
Gowtham Thommandra <Gowtham.Thommandra@Oracle.COM>
parents:
2034
diff
changeset
|
39 |
@@ -784,7 +789,7 @@ |
2034
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
40 |
* which determines the valid entries. |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
41 |
*/ |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
42 |
|
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
43 |
- ch = strtok(buf, " \t"); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
44 |
+ ch = strtok_r(buf, " \t", &token_ptr); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
45 |
while (ch != NULL) { |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
46 |
j++; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
47 |
if(j == 3) { |
5867
445e2cf1c845
PSARC/2014/169 Net-snmp upgrade to version 5.7.2.1
Gowtham Thommandra <Gowtham.Thommandra@Oracle.COM>
parents:
2034
diff
changeset
|
48 |
@@ -798,7 +803,7 @@ |
2034
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
49 |
} |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
50 |
if(token_flag) |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
51 |
break; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
52 |
- ch = strtok(NULL, " \t"); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
53 |
+ ch = strtok_r(NULL, " \t", &token_ptr); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
54 |
} |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
55 |
if(!skip_flag) |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
56 |
lines++; |
5867
445e2cf1c845
PSARC/2014/169 Net-snmp upgrade to version 5.7.2.1
Gowtham Thommandra <Gowtham.Thommandra@Oracle.COM>
parents:
2034
diff
changeset
|
57 |
@@ -818,25 +823,43 @@ |
2034
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
58 |
free(HRFS_list); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
59 |
return -1; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
60 |
} |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
61 |
- |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
62 |
- while (i < fscount) { |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
63 |
- if (getmntent(fp, &HRFS_entry_struct) == 0) { |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
64 |
- for (cpp = HRFS_ignores; *cpp != NULL; ++cpp) { |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
65 |
- if (!strcmp(HRFS_entry_struct.HRFS_type, *cpp)) { |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
66 |
- ignore_flag = 1; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
67 |
- break; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
68 |
- } |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
69 |
+ while ((chk_mnt = getmntent(fp, &HRFS_entry_struct)) != -1) { |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
70 |
+ if(chk_mnt != 0) |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
71 |
+ continue; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
72 |
+ for (cpp = HRFS_ignores; *cpp != NULL; ++cpp) { |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
73 |
+ if (!strcmp(HRFS_entry_struct.mnt_fstype, *cpp)) { |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
74 |
+ ignore_flag = 1; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
75 |
+ break; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
76 |
} |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
77 |
- |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
78 |
- if(!ignore_flag) { |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
79 |
- HRFS_list[i].mnt_special = strdup(HRFS_entry_struct.mnt_special); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
80 |
- HRFS_list[i].mnt_mountp = strdup(HRFS_entry_struct.mnt_mountp); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
81 |
- HRFS_list[i].mnt_fstype = strdup(HRFS_entry_struct.mnt_fstype); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
82 |
- HRFS_list[i].mnt_mntopts = strdup(HRFS_entry_struct.mnt_mntopts); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
83 |
- i++; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
84 |
+ } |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
85 |
+ if(!ignore_flag) { |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
86 |
+ if(i >= fscount) |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
87 |
+ { |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
88 |
+ DEBUGMSGTL(("host/hr_filesys","increasing cachesize from %d to %d",fscount,i+1)); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
89 |
+ HRFS_list = realloc(HRFS_list, sizeof(struct mnttab) * (i+1)); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
90 |
+ fscount = i+1; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
91 |
+ if(HRFS_list == NULL) |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
92 |
+ { |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
93 |
+ DEBUGMSGTL(("host/hr_filesys","\nrealloc failed for mnttab cache.\n")); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
94 |
+ return -1; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
95 |
+ } |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
96 |
} |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
97 |
- |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
98 |
- ignore_flag = 0; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
99 |
+ HRFS_list[i].mnt_special = strdup(HRFS_entry_struct.mnt_special); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
100 |
+ HRFS_list[i].mnt_mountp = strdup(HRFS_entry_struct.mnt_mountp); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
101 |
+ HRFS_list[i].mnt_fstype = strdup(HRFS_entry_struct.mnt_fstype); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
102 |
+ HRFS_list[i].mnt_mntopts = strdup(HRFS_entry_struct.mnt_mntopts); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
103 |
+ i++; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
104 |
+ } |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
105 |
+ ignore_flag = 0; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
106 |
+ } |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
107 |
+ if(i < fscount) |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
108 |
+ { |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
109 |
+ DEBUGMSGTL(("host/hr_filesys","\ndecreasing cachesize from %d to %d\n",fscount,i)); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
110 |
+ HRFS_list = realloc(HRFS_list, sizeof(struct mnttab) * i ); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
111 |
+ if(HRFS_list == NULL) |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
112 |
+ { |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
113 |
+ DEBUGMSGTL(("host/hr_filesys","\nrealloc failed for mnttab cache.\n")); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
114 |
+ return -1; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
115 |
} |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
116 |
} |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
117 |
|
5867
445e2cf1c845
PSARC/2014/169 Net-snmp upgrade to version 5.7.2.1
Gowtham Thommandra <Gowtham.Thommandra@Oracle.COM>
parents:
2034
diff
changeset
|
118 |
@@ -982,19 +1005,19 @@ |
2034
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
119 |
HRFS_entry = NULL; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
120 |
} |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
121 |
#else |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
122 |
- int i = 0; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
123 |
if (fp != NULL) |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
124 |
fclose(fp); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
125 |
fp = NULL; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
126 |
|
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
127 |
#ifdef solaris2 |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
128 |
-while (i < fscount) { |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
129 |
- free(HRFS_list[i].mnt_special); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
130 |
- free(HRFS_list[i].mnt_mountp); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
131 |
- free(HRFS_list[i].mnt_fstype); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
132 |
- free(HRFS_list[i].mnt_mntopts); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
133 |
- i++; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
134 |
-} |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
135 |
+ int i = 0; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
136 |
+ while (i < fscount) { |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
137 |
+ free(HRFS_list[i].mnt_special); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
138 |
+ free(HRFS_list[i].mnt_mountp); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
139 |
+ free(HRFS_list[i].mnt_fstype); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
140 |
+ free(HRFS_list[i].mnt_mntopts); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
141 |
+ i++; |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
142 |
+ } |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
143 |
if (HRFS_list != NULL) |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
144 |
free(HRFS_list); |
c533107e2bd5
16439911 snmpd stuck looping on ioctl(13, MNTIOC_GETMNTENT,) wo traffic
Lijo George<lijo.x.george@oracle.com>
parents:
diff
changeset
|
145 |
last_access = -1; |