diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-11 17:37:31 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-11 17:37:31 -0500 |
commit | e9688f6acad8cb1f2e8d7abb2de06a6a5c9cbcf2 (patch) | |
tree | 2f9b89987c57e3395e53d3ca354f9674c0bef369 /fs/ext4/page-io.c | |
parent | 40c73abbb37e399eba274fe49e520ffa3dd65bdb (diff) | |
parent | 0f0a25bf516843adae479636dc1cf75fd0bd003c (diff) |
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (44 commits)
ext4: fix trimming starting with block 0 with small blocksize
ext4: revert buggy trim overflow patch
ext4: don't pass entire map to check_eofblocks_fl
ext4: fix memory leak in ext4_free_branches
ext4: remove ext4_mb_return_to_preallocation()
ext4: flush the i_completed_io_list during ext4_truncate
ext4: add error checking to calls to ext4_handle_dirty_metadata()
ext4: fix trimming of a single group
ext4: fix uninitialized variable in ext4_register_li_request
ext4: dynamically allocate the jbd2_inode in ext4_inode_info as necessary
ext4: drop i_state_flags on architectures with 64-bit longs
ext4: reorder ext4_inode_info structure elements to remove unneeded padding
ext4: drop ec_type from the ext4_ext_cache structure
ext4: use ext4_lblk_t instead of sector_t for logical blocks
ext4: replace i_delalloc_reserved_flag with EXT4_STATE_DELALLOC_RESERVED
ext4: fix 32bit overflow in ext4_ext_find_goal()
ext4: add more error checks to ext4_mkdir()
ext4: ext4_ext_migrate should use NULL not 0
ext4: Use ext4_error_file() to print the pathname to the corrupted inode
ext4: use IS_ERR() to check for errors in ext4_error_file
...
Diffstat (limited to 'fs/ext4/page-io.c')
-rw-r--r-- | fs/ext4/page-io.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/ext4/page-io.c b/fs/ext4/page-io.c index beacce11ac50..7270dcfca92a 100644 --- a/fs/ext4/page-io.c +++ b/fs/ext4/page-io.c | |||
@@ -44,7 +44,7 @@ int __init ext4_init_pageio(void) | |||
44 | if (io_page_cachep == NULL) | 44 | if (io_page_cachep == NULL) |
45 | return -ENOMEM; | 45 | return -ENOMEM; |
46 | io_end_cachep = KMEM_CACHE(ext4_io_end, SLAB_RECLAIM_ACCOUNT); | 46 | io_end_cachep = KMEM_CACHE(ext4_io_end, SLAB_RECLAIM_ACCOUNT); |
47 | if (io_page_cachep == NULL) { | 47 | if (io_end_cachep == NULL) { |
48 | kmem_cache_destroy(io_page_cachep); | 48 | kmem_cache_destroy(io_page_cachep); |
49 | return -ENOMEM; | 49 | return -ENOMEM; |
50 | } | 50 | } |
@@ -158,11 +158,8 @@ static void ext4_end_io_work(struct work_struct *work) | |||
158 | 158 | ||
159 | ext4_io_end_t *ext4_init_io_end(struct inode *inode, gfp_t flags) | 159 | ext4_io_end_t *ext4_init_io_end(struct inode *inode, gfp_t flags) |
160 | { | 160 | { |
161 | ext4_io_end_t *io = NULL; | 161 | ext4_io_end_t *io = kmem_cache_zalloc(io_end_cachep, flags); |
162 | |||
163 | io = kmem_cache_alloc(io_end_cachep, flags); | ||
164 | if (io) { | 162 | if (io) { |
165 | memset(io, 0, sizeof(*io)); | ||
166 | atomic_inc(&EXT4_I(inode)->i_ioend_count); | 163 | atomic_inc(&EXT4_I(inode)->i_ioend_count); |
167 | io->inode = inode; | 164 | io->inode = inode; |
168 | INIT_WORK(&io->work, ext4_end_io_work); | 165 | INIT_WORK(&io->work, ext4_end_io_work); |