diff options
author | Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> | 2008-08-20 03:14:52 +0200 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2008-08-20 03:14:52 +0200 |
commit | 91246c009094142f95ecc7573b7caed2bcef52c7 (patch) | |
tree | df84e815f9441f24558cf5d22dcc61d8b222497e /fs/ext4 | |
parent | ext4: make sure ext4_has_free_blocks returns 0 for ENOSPC (diff) | |
download | linux-91246c009094142f95ecc7573b7caed2bcef52c7.tar.xz linux-91246c009094142f95ecc7573b7caed2bcef52c7.zip |
ext4: Initialize writeback_index to 0 when allocating a new inode
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>
Diffstat (limited to 'fs/ext4')
-rw-r--r-- | fs/ext4/super.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index d5d77958b861..566344b926b7 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -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); |