ext4: Initialize writeback_index to 0 when allocating a new inode
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Wed, 20 Aug 2008 01:14:52 +0000 (21:14 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 20 Aug 2008 01:14:52 +0000 (21:14 -0400)
The write_cache_pages() function uses the mapping->writeback_index as
the starting index to write out when range_cyclic is set.  Properly
initialize writeback_index so that we start the writeout at index 0.

This was found when debugging the small file fragmentation on ext4.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/super.c

index d5d7795..566344b 100644 (file)
@@ -568,6 +568,7 @@ static struct inode *ext4_alloc_inode(struct super_block *sb)
 #endif
        ei->i_block_alloc_info = NULL;
        ei->vfs_inode.i_version = 1;
+       ei->vfs_inode.i_data.writeback_index = 0;
        memset(&ei->i_cached_extent, 0, sizeof(struct ext4_ext_cache));
        INIT_LIST_HEAD(&ei->i_prealloc_list);
        spin_lock_init(&ei->i_prealloc_lock);