> static blkmap_t * > blkmap_grow( > - blkmap_t **blkmapp) > + blkmap_t *blkmap) > { > pthread_key_t key = dblkmap_key; > - blkmap_t *blkmap = *blkmapp; > + blkmap_t *new_blkmap; > + int new_naexts = blkmap->naexts + 4; > > if (pthread_getspecific(key) != blkmap) { > key = ablkmap_key; > ASSERT(pthread_getspecific(key) == blkmap); > } > > - blkmap->naexts += 4; > - blkmap = realloc(blkmap, BLKMAP_SIZE(blkmap->naexts)); > - if (blkmap == NULL) > - do_error(_("realloc failed in blkmap_grow\n")); > - *blkmapp = blkmap; > - pthread_setspecific(key, blkmap); > - return blkmap; > + new_blkmap = realloc(blkmap, BLKMAP_SIZE(new_naexts)); > + if (!new_blkmap) { > + do_error(_("realloc failed in blkmap_grow\n")); > + return NULL; > + } > + blkmap->naexts = new_naexts; Why would we modify naexts in the old blkmap? Otherwise looks fine. _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs