Commit 98caf953 authored by Goldwyn Rodrigues's avatar Goldwyn Rodrigues Committed by David Sterba

btrfs: allocate file_ra_state on stack in readahead_cache

Instead of allocating file_ra_state using kmalloc, allocate on stack.
sizeof(struct readahead) = 32 bytes.
Reviewed-by: default avatarAnand Jain <anand.jain@oracle.com>
Signed-off-by: default avatarGoldwyn Rodrigues <rgoldwyn@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 0ff40a91
...@@ -344,19 +344,13 @@ int btrfs_truncate_free_space_cache(struct btrfs_trans_handle *trans, ...@@ -344,19 +344,13 @@ int btrfs_truncate_free_space_cache(struct btrfs_trans_handle *trans,
static void readahead_cache(struct inode *inode) static void readahead_cache(struct inode *inode)
{ {
struct file_ra_state *ra; struct file_ra_state ra;
unsigned long last_index; unsigned long last_index;
ra = kzalloc(sizeof(*ra), GFP_NOFS); file_ra_state_init(&ra, inode->i_mapping);
if (!ra)
return;
file_ra_state_init(ra, inode->i_mapping);
last_index = (i_size_read(inode) - 1) >> PAGE_SHIFT; last_index = (i_size_read(inode) - 1) >> PAGE_SHIFT;
page_cache_sync_readahead(inode->i_mapping, ra, NULL, 0, last_index); page_cache_sync_readahead(inode->i_mapping, &ra, NULL, 0, last_index);
kfree(ra);
} }
static int io_ctl_init(struct btrfs_io_ctl *io_ctl, struct inode *inode, static int io_ctl_init(struct btrfs_io_ctl *io_ctl, struct inode *inode,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment