ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/libstatgrab/src/libstatgrab/tools.c
(Generate patch)

Comparing projects/libstatgrab/src/libstatgrab/tools.c (file contents):
Revision 1.14 by pajs, Thu Nov 13 17:02:46 2003 UTC vs.
Revision 1.16 by tdb, Thu Nov 20 12:13:12 2003 UTC

# Line 77 | Line 77 | void add_mapping(char *bsd, char *svr){
77          svr = strdup(svr);
78  
79          if (mapping == NULL){
80                printf("New malloc\n");
80                  mapping = malloc(sizeof(mapping_t));
81                  if (mapping == NULL) return;
82                  map_ptr = mapping;
# Line 85 | Line 84 | void add_mapping(char *bsd, char *svr){
84                  /* See if its already been added */
85                  for(map_ptr = mapping; map_ptr != NULL; map_ptr = map_ptr->next){
86                          if( (!strcmp(map_ptr->bsd, bsd)) || (!strcmp(map_ptr->svr, svr)) ){
88                                printf("%s matches %s\n", map_ptr->bsd, bsd);
87                                  return;
88                          }
89                          map_end_ptr = map_ptr;
# Line 95 | Line 93 | void add_mapping(char *bsd, char *svr){
93                   * new mapping_t
94                   */
95                  map_end_ptr->next = malloc(sizeof(mapping_t));
98                printf("Second malloc\n");
96                  if (map_end_ptr->next == NULL) return;
97                  map_ptr = map_end_ptr->next;
98          }
99  
103        printf("Adding %s\n", bsd);
100          map_ptr->next = NULL;
101          map_ptr->bsd = bsd;
102          map_ptr->svr = svr;
# Line 110 | Line 106 | void add_mapping(char *bsd, char *svr){
106  
107   char *read_dir(char *disk_path){
108          DIR *dirp;
109 <        struct dirent *dp;
110 <        struct stat stbuf;
109 >        struct dirent *dp;
110 >        struct stat stbuf;
111          char *svr_name;
112 <        char current_dir[MAXPATHLEN];
113 <        char file_name[MAXPATHLEN];
114 <        char temp_name[MAXPATHLEN];
115 <        char dir_dname[MAXPATHLEN];
112 >        char current_dir[MAXPATHLEN];
113 >        char file_name[MAXPATHLEN];
114 >        char temp_name[MAXPATHLEN];
115 >        char dir_dname[MAXPATHLEN];
116          char *dsk_dir;
117          int x;
118  
119          dsk_dir = "/dev/osa/dev/dsk";
120 <        strncpy(current_dir, dsk_dir, sizeof current_dir);
121 <        if ((dirp = opendir(current_dir)) == NULL){
120 >        strncpy(current_dir, dsk_dir, sizeof current_dir);
121 >        if ((dirp = opendir(current_dir)) == NULL){
122                  dsk_dir = "/dev/dsk";
123                  snprintf(current_dir, sizeof current_dir, "%s", dsk_dir);
124                  if ((dirp = opendir(current_dir)) == NULL){
# Line 130 | Line 126 | char *read_dir(char *disk_path){
126                  }
127          }
128  
129 <        while ((dp = readdir(dirp)) != NULL){
129 >        while ((dp = readdir(dirp)) != NULL){
130                  snprintf(temp_name, sizeof temp_name, "../..%s", disk_path);
131                  snprintf(dir_dname, sizeof dir_dname, "%s/%s", dsk_dir, dp->d_name);
132                  stat(dir_dname,&stbuf);
# Line 144 | Line 140 | char *read_dir(char *disk_path){
140                                  return svr_name;
141                          }
142                  }
147                closedir(dirp);
143          }
144 +        closedir(dirp);
145          return NULL;
146   }
147  
# Line 186 | Line 182 | int get_alias(char *alias){
182                  }else{
183                          node = di_drv_next_node(node);
184                  }
185 <        }                           /* End of the while loop */
185 >        }
186          di_fini(root_node);
187          return (-1);
188   }
# Line 194 | Line 190 | int get_alias(char *alias){
190   void build_mapping(){
191          char device_name[512];
192          int x;
193 <        kstat_ctl_t *kc;
194 <        kstat_t *ksp;
195 <        kstat_io_t kios;
193 >        kstat_ctl_t *kc;
194 >        kstat_t *ksp;
195 >        kstat_io_t kios;
196  
197          if ((kc = kstat_open()) == NULL) {
198 <                return NULL;
199 <        }
198 >                return;
199 >        }
200  
201 <        for (ksp = kc->kc_chain; ksp; ksp = ksp->ks_next) {
202 <                if (!strcmp(ksp->ks_class, "disk")) {
203 <
204 <                        if(ksp->ks_type != KSTAT_TYPE_IO) continue;
205 <                        /* We dont want metadevices appearins as num_diskio */
206 <                        if(strcmp(ksp->ks_module, "md")==0) continue;
211 <                        if((kstat_read(kc, ksp, &kios))==-1) continue;
201 >        for (ksp = kc->kc_chain; ksp; ksp = ksp->ks_next) {
202 >                if (!strcmp(ksp->ks_class, "disk")) {
203 >                        if(ksp->ks_type != KSTAT_TYPE_IO) continue;
204 >                        /* We dont want metadevices appearing as num_diskio */
205 >                        if(strcmp(ksp->ks_module, "md")==0) continue;
206 >                        if((kstat_read(kc, ksp, &kios))==-1) continue;
207                          strncpy(device_name, ksp->ks_name, sizeof device_name);
208                          for(x=0;x<(sizeof device_name);x++){
209                                  if( isdigit((int)device_name[x]) ) break;
# Line 216 | Line 211 | void build_mapping(){
211                          if(x == sizeof device_name) x--;
212                          device_name[x] = '\0';
213                          get_alias(device_name);
214 <                 }
214 >                }
215          }
216 <        
216 >
217          return;
218   }
219  
# Line 327 | Line 322 | int statgrab_init(){
322   #ifdef ALLBSD
323          {
324                  kvm_t *kvmd = get_kvm();
325 <                if (kvmd == NULL) return 1;
325 >                if (kvmd == NULL) return 1;
326          }
327   #endif
328   #ifdef NETBSD

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines