Skip site navigation (1)Skip section navigation (2)
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>