@@ -1188,7 +1188,8 @@ static struct ext3_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
/* Split the existing block in the middle, size-wise */
size = 0;
move = 0;
- for (i = count-1; i >= 0; i--) {
+ i = count;
+ while (i--) {
/* is more than half of this entry in 2nd half of the block? */
if (size + map[i].size/2 > blocksize/2)
break;
@@ -1198,7 +1198,8 @@ static struct ext4_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
/* Split the existing block in the middle, size-wise */
size = 0;
move = 0;
- for (i = count-1; i >= 0; i--) {
+ i = count;
+ while (i--) {
/* is more than half of this entry in 2nd half of the block? */
if (size + map[i].size/2 > blocksize/2)
break;