summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro F. Giffuni <pfg@FreeBSD.org>2014-03-21 04:33:38 +0000
committerPedro F. Giffuni <pfg@FreeBSD.org>2014-03-21 04:33:38 +0000
commitca73017a2d2485298566de00a9cf64a84c347c86 (patch)
tree552b0cab2b8c2e74be80e8d63da603d1e0b686a1
parent4c73e705a54b5e37745278de71bb9f313eb13398 (diff)
Notes
-rw-r--r--sys/fs/ext2fs/ext2_alloc.c20
1 files changed, 2 insertions, 18 deletions
diff --git a/sys/fs/ext2fs/ext2_alloc.c b/sys/fs/ext2fs/ext2_alloc.c
index 5486c04f2821..106a124a1dd5 100644
--- a/sys/fs/ext2fs/ext2_alloc.c
+++ b/sys/fs/ext2fs/ext2_alloc.c
@@ -510,22 +510,6 @@ ext2_dirpref(struct inode *pip)
* Limit number of dirs in one cg and reserve space for
* regular files, but only if we have no deficit in
* inodes or space.
- *
- * We are trying to find a suitable cylinder group nearby
- * our preferred cylinder group to place a new directory.
- * We scan from our preferred cylinder group forward looking
- * for a cylinder group that meets our criterion. If we get
- * to the final cylinder group and do not find anything,
- * we start scanning backwards from our preferred cylinder
- * group. The ideal would be to alternate looking forward
- * and backward, but that is just too complex to code for
- * the gain it would get. The most likely place where the
- * backward scan would take effect is when we start near
- * the end of the filesystem and do not find anything from
- * where we are to the end. In that case, scanning backward
- * will likely find us a suitable cylinder group much closer
- * to our desired location than if we were to start scanning
- * forward from the beginning of the filesystem.
*/
prefcg = ino_to_cg(fs, pip->i_number);
for (cg = prefcg; cg < fs->e2fs_gcount; cg++)
@@ -535,7 +519,7 @@ ext2_dirpref(struct inode *pip)
if (fs->e2fs_contigdirs[cg] < maxcontigdirs)
return (cg);
}
- for (cg = prefcg - 1; cg >= 0; cg--)
+ for (cg = 0; cg < prefcg; cg++)
if (fs->e2fs_gd[cg].ext2bgd_ndirs < maxndir &&
fs->e2fs_gd[cg].ext2bgd_nifree >= minifree &&
fs->e2fs_gd[cg].ext2bgd_nbfree >= minbfree) {
@@ -548,7 +532,7 @@ ext2_dirpref(struct inode *pip)
for (cg = prefcg; cg < fs->e2fs_gcount; cg++)
if (fs->e2fs_gd[cg].ext2bgd_nifree >= avgifree)
return (cg);
- for (cg = prefcg - 1; cg >= 0; cg--)
+ for (cg = 0; cg < prefcg; cg++)
if (fs->e2fs_gd[cg].ext2bgd_nifree >= avgifree)
break;
return (cg);