提交 afa427cf 编写于 作者: C Chris Mason

Merge branch 'cleanup/misc-simplify' of...

Merge branch 'cleanup/misc-simplify' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.5
...@@ -3906,7 +3906,6 @@ void btrfs_extent_item_to_extent_map(struct inode *inode, ...@@ -3906,7 +3906,6 @@ void btrfs_extent_item_to_extent_map(struct inode *inode,
/* inode.c */ /* inode.c */
struct btrfs_delalloc_work { struct btrfs_delalloc_work {
struct inode *inode; struct inode *inode;
int wait;
int delay_iput; int delay_iput;
struct completion completion; struct completion completion;
struct list_head list; struct list_head list;
...@@ -3914,7 +3913,7 @@ struct btrfs_delalloc_work { ...@@ -3914,7 +3913,7 @@ struct btrfs_delalloc_work {
}; };
struct btrfs_delalloc_work *btrfs_alloc_delalloc_work(struct inode *inode, struct btrfs_delalloc_work *btrfs_alloc_delalloc_work(struct inode *inode,
int wait, int delay_iput); int delay_iput);
void btrfs_wait_and_free_delalloc_work(struct btrfs_delalloc_work *work); void btrfs_wait_and_free_delalloc_work(struct btrfs_delalloc_work *work);
struct extent_map *btrfs_get_extent_fiemap(struct inode *inode, struct page *page, struct extent_map *btrfs_get_extent_fiemap(struct inode *inode, struct page *page,
......
...@@ -3902,11 +3902,6 @@ int btrfs_buffer_uptodate(struct extent_buffer *buf, u64 parent_transid, ...@@ -3902,11 +3902,6 @@ int btrfs_buffer_uptodate(struct extent_buffer *buf, u64 parent_transid,
return !ret; return !ret;
} }
int btrfs_set_buffer_uptodate(struct extent_buffer *buf)
{
return set_extent_buffer_uptodate(buf);
}
void btrfs_mark_buffer_dirty(struct extent_buffer *buf) void btrfs_mark_buffer_dirty(struct extent_buffer *buf)
{ {
struct btrfs_root *root; struct btrfs_root *root;
......
...@@ -116,7 +116,6 @@ static inline void btrfs_put_fs_root(struct btrfs_root *root) ...@@ -116,7 +116,6 @@ static inline void btrfs_put_fs_root(struct btrfs_root *root)
void btrfs_mark_buffer_dirty(struct extent_buffer *buf); void btrfs_mark_buffer_dirty(struct extent_buffer *buf);
int btrfs_buffer_uptodate(struct extent_buffer *buf, u64 parent_transid, int btrfs_buffer_uptodate(struct extent_buffer *buf, u64 parent_transid,
int atomic); int atomic);
int btrfs_set_buffer_uptodate(struct extent_buffer *buf);
int btrfs_read_buffer(struct extent_buffer *buf, u64 parent_transid); int btrfs_read_buffer(struct extent_buffer *buf, u64 parent_transid);
u32 btrfs_csum_data(char *data, u32 seed, size_t len); u32 btrfs_csum_data(char *data, u32 seed, size_t len);
void btrfs_csum_final(u32 crc, char *result); void btrfs_csum_final(u32 crc, char *result);
......
...@@ -7834,7 +7834,7 @@ btrfs_init_new_buffer(struct btrfs_trans_handle *trans, struct btrfs_root *root, ...@@ -7834,7 +7834,7 @@ btrfs_init_new_buffer(struct btrfs_trans_handle *trans, struct btrfs_root *root,
clear_bit(EXTENT_BUFFER_STALE, &buf->bflags); clear_bit(EXTENT_BUFFER_STALE, &buf->bflags);
btrfs_set_lock_blocking(buf); btrfs_set_lock_blocking(buf);
btrfs_set_buffer_uptodate(buf); set_extent_buffer_uptodate(buf);
if (root->root_key.objectid == BTRFS_TREE_LOG_OBJECTID) { if (root->root_key.objectid == BTRFS_TREE_LOG_OBJECTID) {
buf->log_index = root->log_transid % 2; buf->log_index = root->log_transid % 2;
......
...@@ -1451,7 +1451,7 @@ int unlock_extent(struct extent_io_tree *tree, u64 start, u64 end) ...@@ -1451,7 +1451,7 @@ int unlock_extent(struct extent_io_tree *tree, u64 start, u64 end)
GFP_NOFS); GFP_NOFS);
} }
int extent_range_clear_dirty_for_io(struct inode *inode, u64 start, u64 end) void extent_range_clear_dirty_for_io(struct inode *inode, u64 start, u64 end)
{ {
unsigned long index = start >> PAGE_CACHE_SHIFT; unsigned long index = start >> PAGE_CACHE_SHIFT;
unsigned long end_index = end >> PAGE_CACHE_SHIFT; unsigned long end_index = end >> PAGE_CACHE_SHIFT;
...@@ -1464,10 +1464,9 @@ int extent_range_clear_dirty_for_io(struct inode *inode, u64 start, u64 end) ...@@ -1464,10 +1464,9 @@ int extent_range_clear_dirty_for_io(struct inode *inode, u64 start, u64 end)
page_cache_release(page); page_cache_release(page);
index++; index++;
} }
return 0;
} }
int extent_range_redirty_for_io(struct inode *inode, u64 start, u64 end) void extent_range_redirty_for_io(struct inode *inode, u64 start, u64 end)
{ {
unsigned long index = start >> PAGE_CACHE_SHIFT; unsigned long index = start >> PAGE_CACHE_SHIFT;
unsigned long end_index = end >> PAGE_CACHE_SHIFT; unsigned long end_index = end >> PAGE_CACHE_SHIFT;
...@@ -1481,13 +1480,12 @@ int extent_range_redirty_for_io(struct inode *inode, u64 start, u64 end) ...@@ -1481,13 +1480,12 @@ int extent_range_redirty_for_io(struct inode *inode, u64 start, u64 end)
page_cache_release(page); page_cache_release(page);
index++; index++;
} }
return 0;
} }
/* /*
* helper function to set both pages and extents in the tree writeback * helper function to set both pages and extents in the tree writeback
*/ */
static int set_range_writeback(struct extent_io_tree *tree, u64 start, u64 end) static void set_range_writeback(struct extent_io_tree *tree, u64 start, u64 end)
{ {
unsigned long index = start >> PAGE_CACHE_SHIFT; unsigned long index = start >> PAGE_CACHE_SHIFT;
unsigned long end_index = end >> PAGE_CACHE_SHIFT; unsigned long end_index = end >> PAGE_CACHE_SHIFT;
...@@ -1500,7 +1498,6 @@ static int set_range_writeback(struct extent_io_tree *tree, u64 start, u64 end) ...@@ -1500,7 +1498,6 @@ static int set_range_writeback(struct extent_io_tree *tree, u64 start, u64 end)
page_cache_release(page); page_cache_release(page);
index++; index++;
} }
return 0;
} }
/* find the first state struct with 'bits' set after 'start', and /* find the first state struct with 'bits' set after 'start', and
...@@ -1820,7 +1817,7 @@ STATIC u64 find_lock_delalloc_range(struct inode *inode, ...@@ -1820,7 +1817,7 @@ STATIC u64 find_lock_delalloc_range(struct inode *inode,
return found; return found;
} }
int extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end, void extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end,
struct page *locked_page, struct page *locked_page,
unsigned clear_bits, unsigned clear_bits,
unsigned long page_ops) unsigned long page_ops)
...@@ -1835,7 +1832,7 @@ int extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end, ...@@ -1835,7 +1832,7 @@ int extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end,
clear_extent_bit(tree, start, end, clear_bits, 1, 0, NULL, GFP_NOFS); clear_extent_bit(tree, start, end, clear_bits, 1, 0, NULL, GFP_NOFS);
if (page_ops == 0) if (page_ops == 0)
return 0; return;
if ((page_ops & PAGE_SET_ERROR) && nr_pages > 0) if ((page_ops & PAGE_SET_ERROR) && nr_pages > 0)
mapping_set_error(inode->i_mapping, -EIO); mapping_set_error(inode->i_mapping, -EIO);
...@@ -1869,7 +1866,6 @@ int extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end, ...@@ -1869,7 +1866,6 @@ int extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end,
index += ret; index += ret;
cond_resched(); cond_resched();
} }
return 0;
} }
/* /*
...@@ -2516,7 +2512,7 @@ static int bio_readpage_error(struct bio *failed_bio, u64 phy_offset, ...@@ -2516,7 +2512,7 @@ static int bio_readpage_error(struct bio *failed_bio, u64 phy_offset,
/* lots and lots of room for performance fixes in the end_bio funcs */ /* lots and lots of room for performance fixes in the end_bio funcs */
int end_extent_writepage(struct page *page, int err, u64 start, u64 end) void end_extent_writepage(struct page *page, int err, u64 start, u64 end)
{ {
int uptodate = (err == 0); int uptodate = (err == 0);
struct extent_io_tree *tree; struct extent_io_tree *tree;
...@@ -2537,7 +2533,6 @@ int end_extent_writepage(struct page *page, int err, u64 start, u64 end) ...@@ -2537,7 +2533,6 @@ int end_extent_writepage(struct page *page, int err, u64 start, u64 end)
ret = ret < 0 ? ret : -EIO; ret = ret < 0 ? ret : -EIO;
mapping_set_error(page->mapping, ret); mapping_set_error(page->mapping, ret);
} }
return 0;
} }
/* /*
...@@ -2579,9 +2574,7 @@ static void end_bio_extent_writepage(struct bio *bio) ...@@ -2579,9 +2574,7 @@ static void end_bio_extent_writepage(struct bio *bio)
start = page_offset(page); start = page_offset(page);
end = start + bvec->bv_offset + bvec->bv_len - 1; end = start + bvec->bv_offset + bvec->bv_len - 1;
if (end_extent_writepage(page, bio->bi_error, start, end)) end_extent_writepage(page, bio->bi_error, start, end);
continue;
end_page_writeback(page); end_page_writeback(page);
} }
...@@ -5227,7 +5220,7 @@ int set_extent_buffer_dirty(struct extent_buffer *eb) ...@@ -5227,7 +5220,7 @@ int set_extent_buffer_dirty(struct extent_buffer *eb)
return was_dirty; return was_dirty;
} }
int clear_extent_buffer_uptodate(struct extent_buffer *eb) void clear_extent_buffer_uptodate(struct extent_buffer *eb)
{ {
unsigned long i; unsigned long i;
struct page *page; struct page *page;
...@@ -5240,10 +5233,9 @@ int clear_extent_buffer_uptodate(struct extent_buffer *eb) ...@@ -5240,10 +5233,9 @@ int clear_extent_buffer_uptodate(struct extent_buffer *eb)
if (page) if (page)
ClearPageUptodate(page); ClearPageUptodate(page);
} }
return 0;
} }
int set_extent_buffer_uptodate(struct extent_buffer *eb) void set_extent_buffer_uptodate(struct extent_buffer *eb)
{ {
unsigned long i; unsigned long i;
struct page *page; struct page *page;
...@@ -5255,7 +5247,6 @@ int set_extent_buffer_uptodate(struct extent_buffer *eb) ...@@ -5255,7 +5247,6 @@ int set_extent_buffer_uptodate(struct extent_buffer *eb)
page = eb->pages[i]; page = eb->pages[i];
SetPageUptodate(page); SetPageUptodate(page);
} }
return 0;
} }
int extent_buffer_uptodate(struct extent_buffer *eb) int extent_buffer_uptodate(struct extent_buffer *eb)
......
...@@ -330,17 +330,17 @@ void memset_extent_buffer(struct extent_buffer *eb, char c, ...@@ -330,17 +330,17 @@ void memset_extent_buffer(struct extent_buffer *eb, char c,
unsigned long start, unsigned long len); unsigned long start, unsigned long len);
void clear_extent_buffer_dirty(struct extent_buffer *eb); void clear_extent_buffer_dirty(struct extent_buffer *eb);
int set_extent_buffer_dirty(struct extent_buffer *eb); int set_extent_buffer_dirty(struct extent_buffer *eb);
int set_extent_buffer_uptodate(struct extent_buffer *eb); void set_extent_buffer_uptodate(struct extent_buffer *eb);
int clear_extent_buffer_uptodate(struct extent_buffer *eb); void clear_extent_buffer_uptodate(struct extent_buffer *eb);
int extent_buffer_uptodate(struct extent_buffer *eb); int extent_buffer_uptodate(struct extent_buffer *eb);
int extent_buffer_under_io(struct extent_buffer *eb); int extent_buffer_under_io(struct extent_buffer *eb);
int map_private_extent_buffer(struct extent_buffer *eb, unsigned long offset, int map_private_extent_buffer(struct extent_buffer *eb, unsigned long offset,
unsigned long min_len, char **map, unsigned long min_len, char **map,
unsigned long *map_start, unsigned long *map_start,
unsigned long *map_len); unsigned long *map_len);
int extent_range_clear_dirty_for_io(struct inode *inode, u64 start, u64 end); void extent_range_clear_dirty_for_io(struct inode *inode, u64 start, u64 end);
int extent_range_redirty_for_io(struct inode *inode, u64 start, u64 end); void extent_range_redirty_for_io(struct inode *inode, u64 start, u64 end);
int extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end, void extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end,
struct page *locked_page, struct page *locked_page,
unsigned bits_to_clear, unsigned bits_to_clear,
unsigned long page_ops); unsigned long page_ops);
...@@ -357,7 +357,7 @@ int repair_io_failure(struct inode *inode, u64 start, u64 length, u64 logical, ...@@ -357,7 +357,7 @@ int repair_io_failure(struct inode *inode, u64 start, u64 length, u64 logical,
int mirror_num); int mirror_num);
int clean_io_failure(struct inode *inode, u64 start, struct page *page, int clean_io_failure(struct inode *inode, u64 start, struct page *page,
unsigned int pg_offset); unsigned int pg_offset);
int end_extent_writepage(struct page *page, int err, u64 start, u64 end); void end_extent_writepage(struct page *page, int err, u64 start, u64 end);
int repair_eb_io_failure(struct btrfs_root *root, struct extent_buffer *eb, int repair_eb_io_failure(struct btrfs_root *root, struct extent_buffer *eb,
int mirror_num); int mirror_num);
......
...@@ -9418,14 +9418,10 @@ static void btrfs_run_delalloc_work(struct btrfs_work *work) ...@@ -9418,14 +9418,10 @@ static void btrfs_run_delalloc_work(struct btrfs_work *work)
delalloc_work = container_of(work, struct btrfs_delalloc_work, delalloc_work = container_of(work, struct btrfs_delalloc_work,
work); work);
inode = delalloc_work->inode; inode = delalloc_work->inode;
if (delalloc_work->wait) { filemap_flush(inode->i_mapping);
btrfs_wait_ordered_range(inode, 0, (u64)-1); if (test_bit(BTRFS_INODE_HAS_ASYNC_EXTENT,
} else { &BTRFS_I(inode)->runtime_flags))
filemap_flush(inode->i_mapping); filemap_flush(inode->i_mapping);
if (test_bit(BTRFS_INODE_HAS_ASYNC_EXTENT,
&BTRFS_I(inode)->runtime_flags))
filemap_flush(inode->i_mapping);
}
if (delalloc_work->delay_iput) if (delalloc_work->delay_iput)
btrfs_add_delayed_iput(inode); btrfs_add_delayed_iput(inode);
...@@ -9435,7 +9431,7 @@ static void btrfs_run_delalloc_work(struct btrfs_work *work) ...@@ -9435,7 +9431,7 @@ static void btrfs_run_delalloc_work(struct btrfs_work *work)
} }
struct btrfs_delalloc_work *btrfs_alloc_delalloc_work(struct inode *inode, struct btrfs_delalloc_work *btrfs_alloc_delalloc_work(struct inode *inode,
int wait, int delay_iput) int delay_iput)
{ {
struct btrfs_delalloc_work *work; struct btrfs_delalloc_work *work;
...@@ -9446,7 +9442,6 @@ struct btrfs_delalloc_work *btrfs_alloc_delalloc_work(struct inode *inode, ...@@ -9446,7 +9442,6 @@ struct btrfs_delalloc_work *btrfs_alloc_delalloc_work(struct inode *inode,
init_completion(&work->completion); init_completion(&work->completion);
INIT_LIST_HEAD(&work->list); INIT_LIST_HEAD(&work->list);
work->inode = inode; work->inode = inode;
work->wait = wait;
work->delay_iput = delay_iput; work->delay_iput = delay_iput;
WARN_ON_ONCE(!inode); WARN_ON_ONCE(!inode);
btrfs_init_work(&work->work, btrfs_flush_delalloc_helper, btrfs_init_work(&work->work, btrfs_flush_delalloc_helper,
...@@ -9494,7 +9489,7 @@ static int __start_delalloc_inodes(struct btrfs_root *root, int delay_iput, ...@@ -9494,7 +9489,7 @@ static int __start_delalloc_inodes(struct btrfs_root *root, int delay_iput,
} }
spin_unlock(&root->delalloc_lock); spin_unlock(&root->delalloc_lock);
work = btrfs_alloc_delalloc_work(inode, 0, delay_iput); work = btrfs_alloc_delalloc_work(inode, delay_iput);
if (!work) { if (!work) {
if (delay_iput) if (delay_iput)
btrfs_add_delayed_iput(inode); btrfs_add_delayed_iput(inode);
......
...@@ -125,6 +125,7 @@ static int btrfs_relocate_sys_chunks(struct btrfs_root *root); ...@@ -125,6 +125,7 @@ static int btrfs_relocate_sys_chunks(struct btrfs_root *root);
static void __btrfs_reset_dev_stats(struct btrfs_device *dev); static void __btrfs_reset_dev_stats(struct btrfs_device *dev);
static void btrfs_dev_stat_print_on_error(struct btrfs_device *dev); static void btrfs_dev_stat_print_on_error(struct btrfs_device *dev);
static void btrfs_dev_stat_print_on_load(struct btrfs_device *device); static void btrfs_dev_stat_print_on_load(struct btrfs_device *device);
static void btrfs_close_one_device(struct btrfs_device *device);
DEFINE_MUTEX(uuid_mutex); DEFINE_MUTEX(uuid_mutex);
static LIST_HEAD(fs_uuids); static LIST_HEAD(fs_uuids);
...@@ -6465,11 +6466,11 @@ int btrfs_read_sys_array(struct btrfs_root *root) ...@@ -6465,11 +6466,11 @@ int btrfs_read_sys_array(struct btrfs_root *root)
sb = btrfs_find_create_tree_block(root, BTRFS_SUPER_INFO_OFFSET); sb = btrfs_find_create_tree_block(root, BTRFS_SUPER_INFO_OFFSET);
if (!sb) if (!sb)
return -ENOMEM; return -ENOMEM;
btrfs_set_buffer_uptodate(sb); set_extent_buffer_uptodate(sb);
btrfs_set_buffer_lockdep_class(root->root_key.objectid, sb, 0); btrfs_set_buffer_lockdep_class(root->root_key.objectid, sb, 0);
/* /*
* The sb extent buffer is artifical and just used to read the system array. * The sb extent buffer is artifical and just used to read the system array.
* btrfs_set_buffer_uptodate() call does not properly mark all it's * set_extent_buffer_uptodate() call does not properly mark all it's
* pages up-to-date when the page is larger: extent does not cover the * pages up-to-date when the page is larger: extent does not cover the
* whole page and consequently check_page_uptodate does not find all * whole page and consequently check_page_uptodate does not find all
* the page's extents up-to-date (the hole beyond sb), * the page's extents up-to-date (the hole beyond sb),
...@@ -6949,7 +6950,7 @@ void btrfs_reset_fs_info_ptr(struct btrfs_fs_info *fs_info) ...@@ -6949,7 +6950,7 @@ void btrfs_reset_fs_info_ptr(struct btrfs_fs_info *fs_info)
} }
} }
void btrfs_close_one_device(struct btrfs_device *device) static void btrfs_close_one_device(struct btrfs_device *device)
{ {
struct btrfs_fs_devices *fs_devices = device->fs_devices; struct btrfs_fs_devices *fs_devices = device->fs_devices;
struct btrfs_device *new_device; struct btrfs_device *new_device;
......
...@@ -566,6 +566,5 @@ static inline void unlock_chunks(struct btrfs_root *root) ...@@ -566,6 +566,5 @@ static inline void unlock_chunks(struct btrfs_root *root)
struct list_head *btrfs_get_fs_uuids(void); struct list_head *btrfs_get_fs_uuids(void);
void btrfs_set_fs_info_ptr(struct btrfs_fs_info *fs_info); void btrfs_set_fs_info_ptr(struct btrfs_fs_info *fs_info);
void btrfs_reset_fs_info_ptr(struct btrfs_fs_info *fs_info); void btrfs_reset_fs_info_ptr(struct btrfs_fs_info *fs_info);
void btrfs_close_one_device(struct btrfs_device *device);
#endif #endif
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册