Print this page
6660 ufs may read too many indirect blocks, flush a random block to disk

*** 600,610 **** blkflush(ip->i_dev, (daddr_t)fsbtodb(fs, ip->i_ib[0])); return (0); } /* Write out all the first level indirect blocks */ ! for (i = 0; i <= NIADDR; i++) { if ((blkno = ip->i_ib[i]) == 0) continue; blkflush(ip->i_dev, (daddr_t)fsbtodb(fs, blkno)); } /* Write out second level of indirect blocks */ --- 600,610 ---- blkflush(ip->i_dev, (daddr_t)fsbtodb(fs, ip->i_ib[0])); return (0); } /* Write out all the first level indirect blocks */ ! for (i = 0; i < NIADDR; i++) { if ((blkno = ip->i_ib[i]) == 0) continue; blkflush(ip->i_dev, (daddr_t)fsbtodb(fs, blkno)); } /* Write out second level of indirect blocks */