Mercurial > illumos > illumos-gate
changeset 3128:b20f40f4804e
6479845 panic when loading kmdb during install of snv_100906
author | af |
---|---|
date | Thu, 16 Nov 2006 03:35:05 -0800 |
parents | 73afde3df4cf |
children | dcdb639d141d |
files | usr/src/common/fs/ufsops.c |
diffstat | 1 files changed, 6 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/common/fs/ufsops.c Wed Nov 15 21:19:01 2006 -0800 +++ b/usr/src/common/fs/ufsops.c Thu Nov 16 03:35:05 2006 -0800 @@ -218,14 +218,6 @@ daddr32_t *db; devid_t *devp; - /* These are the pools of buffers, etc. */ - /* Compilers like to play with alignment, so force the issue here */ - static union { - char *blk[NIADDR + 1]; - daddr32_t *dummy; - } b; - daddr32_t blknos[NIADDR + 1]; - devp = filep->fi_devp; inodep = filep->fi_inode; db = inodep->i_db; @@ -266,16 +258,12 @@ * fetch through the indirect blocks */ for (; j <= NIADDR; j++) { - if (blknos[j] != nb) { - filep->fi_blocknum = fsbtodb(&devp->un_fs.di_fs, nb); - filep->fi_count = devp->un_fs.di_fs.fs_bsize; - filep->fi_memp = 0; - if (diskread(filep) != 0) - return (0); - b.blk[j] = filep->fi_memp; - blknos[j] = nb; - } - bap = (daddr32_t *)b.blk[j]; + filep->fi_blocknum = fsbtodb(&devp->un_fs.di_fs, nb); + filep->fi_count = devp->un_fs.di_fs.fs_bsize; + filep->fi_memp = 0; + if (diskread(filep) != 0) + return (0); + bap = (daddr32_t *)filep->fi_memp; sh /= NINDIR(&devp->un_fs.di_fs); i = (bn / sh) % NINDIR(&devp->un_fs.di_fs); nb = bap[i];