Date: Sun, 23 May 2010 10:59:14 GMT From: Zheng Liu <lz@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 178650 for review Message-ID: <201005231059.o4NAxEPI017986@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@178650?ac=10 Change 178650 by lz@gnehzuil-freebsd on 2010/05/23 10:59:02 Clean some code. Affected files ... .. //depot/projects/soc2010/extfs/src/sys/fs/ext2fs/ext2_alloc.c#14 edit Differences ... ==== //depot/projects/soc2010/extfs/src/sys/fs/ext2fs/ext2_alloc.c#14 (text+ko) ==== @@ -293,7 +293,7 @@ ret = ext2_find_next_rsv_win(search_rsv, rp, fs, bpref, cg); if (ret < 0) { - if (rp != NULL && rp->rsv_end != EXT2_RSV_NOT_ALLOCATED) + if (rp->rsv_end != EXT2_RSV_NOT_ALLOCATED) ext2_remove_rsv_win(fs, rp); EXT2_TREE_UNLOCK(fs); @@ -331,7 +331,7 @@ if (loc == end) { EXT2_TREE_LOCK(fs); - if (rp != NULL && rp->rsv_end != EXT2_RSV_NOT_ALLOCATED) + if (rp->rsv_end != EXT2_RSV_NOT_ALLOCATED) ext2_remove_rsv_win(fs, rp); EXT2_TREE_UNLOCK(fs); @@ -379,7 +379,7 @@ ump = ip->i_ump; bbp = (char *)bp->b_data; - if (rp != NULL && rp->rsv_end != EXT2_RSV_NOT_ALLOCATED) { + if (rp->rsv_end != EXT2_RSV_NOT_ALLOCATED) { start = dtogd(fs, rp->rsv_start + rp->rsv_alloc_hit); } else goto find; @@ -390,22 +390,21 @@ start = dtogd(fs, start); if (isclr(bbp, start)) { bno = start; + rp->rsv_alloc_hit++; goto gotit; } find: EXT2_TREE_LOCK(fs); - if (rp != NULL && rp->rsv_end != EXT2_RSV_NOT_ALLOCATED); + if (rp->rsv_end != EXT2_RSV_NOT_ALLOCATED); ext2_remove_rsv_win(fs, rp); EXT2_TREE_UNLOCK(fs); bno = ext2_mapsearch(fs, bbp, bpref); if (bno < 0) return 0; - goto allocated; + gotit: - rp->rsv_alloc_hit++; -allocated: setbit(bbp, (daddr_t)bno); EXT2_LOCK(ump); fs->e2fs->e2fs_fbcount--; @@ -427,8 +426,8 @@ rp = ip->i_rsv; - if (ip->i_rsv == NULL) - return ext2_alloc_blk(fs, ip, cg, bp, bpref, rp); + /*if (ip->i_rsv == NULL)*/ + /*return ext2_alloc_blk(fs, ip, cg, bp, bpref, rp);*/ /* If window is empty or bpref is not in reservation window, * we will try to allocate a new reservation window. @@ -1411,9 +1410,11 @@ start = 0; loc = skpc(0xff, len, &bbp[start]); if (loc == 0) { - printf("start = %d, len = %d, fs = %s\n", - start, len, fs->e2fs_fsmnt); - panic("ext2fs_alloccg: map corrupted"); + /* XXX: just for reservation window */ + return -1; + /*printf("start = %d, len = %d, fs = %s\n",*/ + /*start, len, fs->e2fs_fsmnt);*/ + /*panic("ext2fs_alloccg: map corrupted");*/ /* NOTREACHED */ } }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201005231059.o4NAxEPI017986>