Lines Matching refs:deventry

119 typedef struct deventry {
120 struct deventry *next; /* next entry with same hash */
125 struct deventry *dependent; /* 1st dependent */
126 struct deventry *next_dep; /* next dependent */
127 struct deventry *antecedent; /* antecedent */
167 static hspuser_t *add_hsp_user(char *hspname, deventry_t *deventry);
168 static hspentry_t *add_hsp(char *hspname, deventry_t *deventry);
183 static void cache_remove(cache_t *cache, deventry_t *deventry);
188 static void free_deventry(deventry_t **deventry);
191 static int add_dep(int *ndeps, char ***depsp, deventry_t *deventry);
192 static int get_dependents(deventry_t *deventry, char *** dependentsp);
209 static int check_device(deventry_t *deventry);
418 deventry_t *deventry;
436 if ((deventry = cache_lookup(svm_cache, rsrc)) == NULL) {
446 if (deventry->devtype == SVM_TRANS) {
452 if (deventry->flags&IN_HSP) {
457 hspentry = deventry->hsp_list;
474 if (deventry->flags&CONT_METADB) {
480 deventry->devname);
487 if (get_dependents(deventry, &dependents) != 0) {
496 if (check_device(deventry) == REDUNDANT) {
515 if ((deventry->devkey) && (is_open(deventry->devkey))) {
554 deventry_t *deventry;
566 deventry = cache_lookup(svm_cache, rsrc);
567 if (deventry == NULL) {
575 if (get_dependents(deventry, &dependents) != 0) {
617 deventry_t *deventry;
634 deventry = cache_lookup(svm_cache, rsrc);
635 if (deventry == NULL) {
643 if (deventry->flags&CONT_METADB) {
646 if (deventry->flags&CONT_SOFTPART) {
650 if (deventry->devtype == SVM_SOFTPART) {
653 deventry->antecedent->devname);
656 if (deventry->flags&IN_HSP) {
658 hspentry = deventry->hsp_list;
670 dependent = deventry->dependent;
695 if (deventry->flags&TRANS_LOG) {
718 if (get_dependents(deventry, &dependents) != 0) {
762 deventry_t *deventry;
777 if ((deventry = cache_lookup(svm_cache, rsrc)) == NULL) {
785 if (get_dependents(deventry, &dependents) != 0) {
828 deventry_t *deventry;
845 if ((deventry = cache_lookup(svm_cache, rsrc)) == NULL) {
854 if (get_dependents(deventry, &dependents) != 0) {
898 deventry_t *deventry;
910 if ((deventry = cache_lookup(svm_cache, rsrc)) == NULL) {
916 if (get_dependents(deventry, &dependents) != 0) {
919 deventry->flags |= REMOVED;
934 deventry->flags |= REMOVED;
978 * deventry_t *deventry specified hsp user
983 add_hsp_user(char *hspname, deventry_t *deventry)
1004 newhspusername = strdup(deventry->devname);
1012 newhspuser->hspuserkey = deventry->devkey;
1029 * Add a hot spare pool entry to the list for the slice, deventry.
1035 * deventry_t *deventry device entry for the slice
1041 add_hsp(char *hspname, deventry_t *deventry)
1071 if ((previous = deventry->hsp_list) == NULL) {
1072 deventry->hsp_list = newhspentry;
1086 * Add a dependent for a deventry to the cache and return the cache entry
1108 deventry_t *deventry = NULL;
1123 deventry = cache->hashline[hash_index];
1126 if (deventry == NULL) {
1127 deventry = create_deventry(devname, SVM_SLICE, 0, devflags);
1128 cache->hashline[hash_index] = deventry;
1132 while ((comp = strcmp(deventry->devname, devname)) < 0 &&
1133 deventry->next != NULL) {
1134 hashprev = deventry;
1135 deventry = deventry->next;
1140 deventry->flags |= devflags;
1150 newdeventry->next = deventry;
1157 newdeventry->next = deventry->next;
1158 deventry->next = newdeventry;
1160 deventry = newdeventry;
1163 /* complete deventry by linking the dependent to it */
1164 dependent->antecedent = deventry;
1165 if ((previous = deventry->dependent) != NULL) {
1169 } else deventry->dependent = dependent;
1170 return (deventry);
1195 deventry_t *deventry = NULL;
1209 deventry = cache->hashline[hash_index];
1212 if (deventry == NULL) {
1213 deventry = create_deventry(devname, devtype, devkey,
1215 cache->hashline[hash_index] = deventry;
1219 while ((comp = strcmp(deventry->devname, devname)) < 0 &&
1220 deventry->next != NULL) {
1221 previous = deventry;
1222 deventry = deventry->next;
1230 deventry->devtype = devtype;
1231 deventry->devkey = meta_cmpldev(devkey);
1232 deventry->flags |= devflags;
1241 newdeventry->next = deventry;
1248 newdeventry->next = deventry->next;
1249 deventry->next = newdeventry;
1251 deventry = newdeventry;
1254 return (deventry);
1296 deventry_t *deventry;
1301 if ((deventry = cache_device(cache, hs->hsnamep->bname,
1306 if (add_hsp(nlp->hspnamep->hspname, deventry) == NULL) {
1837 * Create a new deventry entry for device with name devname
1846 * deventry_t New deventry
1903 "SVM created deventry for %s\n", newdeventry->devname);
1906 "SVM created deventry for %s (%s)\n",
1924 * Given a cache and a deventry, the deventry is
1925 * removed from the cache's tables and memory for the deventry is
1930 * deventry_t *deventry deventry to be removed
1936 cache_remove(cache_t *cache, deventry_t *deventry)
1947 if (cache == NULL || deventry == NULL || deventry->devname == NULL)
1952 hash_index = hash(cache->size, deventry->devname);
1962 strcmp(olddeventry->devname, deventry->devname) == 0) {
2004 * Return the deventry corresponding to devname from the cache
2009 * deventry_t deventry of name, NULL if not found
2017 deventry_t *deventry;
2026 deventry = cache->hashline[hash_index];
2027 while (deventry) {
2028 comp = strcmp(deventry->devname, devname);
2030 return (deventry);
2033 deventry = deventry->next;
2088 deventry_t *deventry;
2111 deventry = cache_lookup(old_cache, devicename);
2117 if (deventry == NULL) {
2120 if (deventry->flags&REMOVED)
2122 cache_remove(old_cache, deventry);
2160 deventry = *(register_list + i);
2161 svm_register_device(hd, deventry->devname);
2282 * deventry.
2285 * deventry_t **deventry ptr to deventry
2290 free_deventry(deventry_t **deventry)
2298 if (deventry != NULL) {
2299 while (*deventry != NULL) {
2300 olddeventry = (*deventry)->next;
2301 if ((*deventry)->flags&IN_HSP) {
2307 hspentry = (*deventry)->hsp_list;
2322 if ((*deventry)->devicesname)
2323 free((*deventry)->devicesname);
2324 free((*deventry)->devname);
2325 free (*deventry);
2326 *deventry = olddeventry;
2396 * deventry_t *deventry deventry of device to be added
2405 add_dep(int *ndeps, char ***depsp, deventry_t *deventry)
2417 deps_new[(*ndeps-1)] = deventry->devname;
2431 * deventry_t *deventry device entry
2439 get_dependents(deventry_t *deventry, char *** dependentsp)
2446 dependent = deventry->dependent;
2955 check_device(deventry_t *deventry)
2965 dependent = deventry->dependent;
2968 deventry->devname);
3020 rval = check_stripe(sp, np, deventry->devname, &error);
3037 rval = check_raid5(sp, np, deventry->devname, &error);
3044 rval = check_softpart(sp, np, deventry->devname,
3066 * Unregister the device specified by the deventry