On Sun, Oct 09, 2011 at 07:51:26PM -0400, Christoph Hellwig wrote: > > 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? Ooops. Will fix. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs