aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Mason <clm@fb.com>2015-12-23 16:10:26 -0500
committerChris Mason <clm@fb.com>2015-12-23 16:10:26 -0500
commitafa427cf9d6ef64e73df68882cbabde0e6a61639 (patch)
treede7f14f859f1dd6bbb7c66adfb138f8feaf87f65
parent4ef7675344d687a0ef5b0d7c0cee12da005870c0 (diff)
parent35de6db28f260e88e9acc47305f7b3f272d76cbf (diff)
Merge branch 'cleanup/misc-simplify' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.5
-rw-r--r--fs/btrfs/ctree.h3
-rw-r--r--fs/btrfs/disk-io.c5
-rw-r--r--fs/btrfs/disk-io.h1
-rw-r--r--fs/btrfs/extent-tree.c2
-rw-r--r--fs/btrfs/extent_io.c27
-rw-r--r--fs/btrfs/extent_io.h12
-rw-r--r--fs/btrfs/inode.c15
-rw-r--r--fs/btrfs/volumes.c7
-rw-r--r--fs/btrfs/volumes.h1
9 files changed, 26 insertions, 47 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 35489e7129a7..d8d3dd468d6d 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -3906,7 +3906,6 @@ void btrfs_extent_item_to_extent_map(struct inode *inode,
3906/* inode.c */ 3906/* inode.c */
3907struct btrfs_delalloc_work { 3907struct btrfs_delalloc_work {
3908 struct inode *inode; 3908 struct inode *inode;
3909 int wait;
3910 int delay_iput; 3909 int delay_iput;
3911 struct completion completion; 3910 struct completion completion;
3912 struct list_head list; 3911 struct list_head list;
@@ -3914,7 +3913,7 @@ struct btrfs_delalloc_work {
3914}; 3913};
3915 3914
3916struct btrfs_delalloc_work *btrfs_alloc_delalloc_work(struct inode *inode, 3915struct btrfs_delalloc_work *btrfs_alloc_delalloc_work(struct inode *inode,
3917 int wait, int delay_iput); 3916 int delay_iput);
3918void btrfs_wait_and_free_delalloc_work(struct btrfs_delalloc_work *work); 3917void btrfs_wait_and_free_delalloc_work(struct btrfs_delalloc_work *work);
3919 3918
3920struct extent_map *btrfs_get_extent_fiemap(struct inode *inode, struct page *page, 3919struct extent_map *btrfs_get_extent_fiemap(struct inode *inode, struct page *page,
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 974be09e7556..166ad0821ec2 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -3902,11 +3902,6 @@ int btrfs_buffer_uptodate(struct extent_buffer *buf, u64 parent_transid,
3902 return !ret; 3902 return !ret;
3903} 3903}
3904 3904
3905int btrfs_set_buffer_uptodate(struct extent_buffer *buf)
3906{
3907 return set_extent_buffer_uptodate(buf);
3908}
3909
3910void btrfs_mark_buffer_dirty(struct extent_buffer *buf) 3905void btrfs_mark_buffer_dirty(struct extent_buffer *buf)
3911{ 3906{
3912 struct btrfs_root *root; 3907 struct btrfs_root *root;
diff --git a/fs/btrfs/disk-io.h b/fs/btrfs/disk-io.h
index adeb31830b9c..7c52e29fdb0d 100644
--- a/fs/btrfs/disk-io.h
+++ b/fs/btrfs/disk-io.h
@@ -116,7 +116,6 @@ static inline void btrfs_put_fs_root(struct btrfs_root *root)
116void btrfs_mark_buffer_dirty(struct extent_buffer *buf); 116void btrfs_mark_buffer_dirty(struct extent_buffer *buf);
117int btrfs_buffer_uptodate(struct extent_buffer *buf, u64 parent_transid, 117int btrfs_buffer_uptodate(struct extent_buffer *buf, u64 parent_transid,
118 int atomic); 118 int atomic);
119int btrfs_set_buffer_uptodate(struct extent_buffer *buf);
120int btrfs_read_buffer(struct extent_buffer *buf, u64 parent_transid); 119int btrfs_read_buffer(struct extent_buffer *buf, u64 parent_transid);
121u32 btrfs_csum_data(char *data, u32 seed, size_t len); 120u32 btrfs_csum_data(char *data, u32 seed, size_t len);
122void btrfs_csum_final(u32 crc, char *result); 121void btrfs_csum_final(u32 crc, char *result);
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index c4661db2b72a..065055342881 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -7834,7 +7834,7 @@ btrfs_init_new_buffer(struct btrfs_trans_handle *trans, struct btrfs_root *root,
7834 clear_bit(EXTENT_BUFFER_STALE, &buf->bflags); 7834 clear_bit(EXTENT_BUFFER_STALE, &buf->bflags);
7835 7835
7836 btrfs_set_lock_blocking(buf); 7836 btrfs_set_lock_blocking(buf);
7837 btrfs_set_buffer_uptodate(buf); 7837 set_extent_buffer_uptodate(buf);
7838 7838
7839 if (root->root_key.objectid == BTRFS_TREE_LOG_OBJECTID) { 7839 if (root->root_key.objectid == BTRFS_TREE_LOG_OBJECTID) {
7840 buf->log_index = root->log_transid % 2; 7840 buf->log_index = root->log_transid % 2;
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index 9abe18763a7f..efe6ac627be9 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -1451,7 +1451,7 @@ int unlock_extent(struct extent_io_tree *tree, u64 start, u64 end)
1451 GFP_NOFS); 1451 GFP_NOFS);
1452} 1452}
1453 1453
1454int extent_range_clear_dirty_for_io(struct inode *inode, u64 start, u64 end) 1454void extent_range_clear_dirty_for_io(struct inode *inode, u64 start, u64 end)
1455{ 1455{
1456 unsigned long index = start >> PAGE_CACHE_SHIFT; 1456 unsigned long index = start >> PAGE_CACHE_SHIFT;
1457 unsigned long end_index = end >> PAGE_CACHE_SHIFT; 1457 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 page_cache_release(page); 1464 page_cache_release(page);
1465 index++; 1465 index++;
1466 } 1466 }
1467 return 0;
1468} 1467}
1469 1468
1470int extent_range_redirty_for_io(struct inode *inode, u64 start, u64 end) 1469void extent_range_redirty_for_io(struct inode *inode, u64 start, u64 end)
1471{ 1470{
1472 unsigned long index = start >> PAGE_CACHE_SHIFT; 1471 unsigned long index = start >> PAGE_CACHE_SHIFT;
1473 unsigned long end_index = end >> PAGE_CACHE_SHIFT; 1472 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 page_cache_release(page); 1480 page_cache_release(page);
1482 index++; 1481 index++;
1483 } 1482 }
1484 return 0;
1485} 1483}
1486 1484
1487/* 1485/*
1488 * helper function to set both pages and extents in the tree writeback 1486 * helper function to set both pages and extents in the tree writeback
1489 */ 1487 */
1490static int set_range_writeback(struct extent_io_tree *tree, u64 start, u64 end) 1488static void set_range_writeback(struct extent_io_tree *tree, u64 start, u64 end)
1491{ 1489{
1492 unsigned long index = start >> PAGE_CACHE_SHIFT; 1490 unsigned long index = start >> PAGE_CACHE_SHIFT;
1493 unsigned long end_index = end >> PAGE_CACHE_SHIFT; 1491 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 page_cache_release(page); 1498 page_cache_release(page);
1501 index++; 1499 index++;
1502 } 1500 }
1503 return 0;
1504} 1501}
1505 1502
1506/* find the first state struct with 'bits' set after 'start', and 1503/* find the first state struct with 'bits' set after 'start', and
@@ -1820,7 +1817,7 @@ out_failed:
1820 return found; 1817 return found;
1821} 1818}
1822 1819
1823int extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end, 1820void extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end,
1824 struct page *locked_page, 1821 struct page *locked_page,
1825 unsigned clear_bits, 1822 unsigned clear_bits,
1826 unsigned long page_ops) 1823 unsigned long page_ops)
@@ -1835,7 +1832,7 @@ int extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end,
1835 1832
1836 clear_extent_bit(tree, start, end, clear_bits, 1, 0, NULL, GFP_NOFS); 1833 clear_extent_bit(tree, start, end, clear_bits, 1, 0, NULL, GFP_NOFS);
1837 if (page_ops == 0) 1834 if (page_ops == 0)
1838 return 0; 1835 return;
1839 1836
1840 if ((page_ops & PAGE_SET_ERROR) && nr_pages > 0) 1837 if ((page_ops & PAGE_SET_ERROR) && nr_pages > 0)
1841 mapping_set_error(inode->i_mapping, -EIO); 1838 mapping_set_error(inode->i_mapping, -EIO);
@@ -1869,7 +1866,6 @@ int extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end,
1869 index += ret; 1866 index += ret;
1870 cond_resched(); 1867 cond_resched();
1871 } 1868 }
1872 return 0;
1873} 1869}
1874 1870
1875/* 1871/*
@@ -2516,7 +2512,7 @@ static int bio_readpage_error(struct bio *failed_bio, u64 phy_offset,
2516 2512
2517/* lots and lots of room for performance fixes in the end_bio funcs */ 2513/* lots and lots of room for performance fixes in the end_bio funcs */
2518 2514
2519int end_extent_writepage(struct page *page, int err, u64 start, u64 end) 2515void end_extent_writepage(struct page *page, int err, u64 start, u64 end)
2520{ 2516{
2521 int uptodate = (err == 0); 2517 int uptodate = (err == 0);
2522 struct extent_io_tree *tree; 2518 struct extent_io_tree *tree;
@@ -2537,7 +2533,6 @@ int end_extent_writepage(struct page *page, int err, u64 start, u64 end)
2537 ret = ret < 0 ? ret : -EIO; 2533 ret = ret < 0 ? ret : -EIO;
2538 mapping_set_error(page->mapping, ret); 2534 mapping_set_error(page->mapping, ret);
2539 } 2535 }
2540 return 0;
2541} 2536}
2542 2537
2543/* 2538/*
@@ -2579,9 +2574,7 @@ static void end_bio_extent_writepage(struct bio *bio)
2579 start = page_offset(page); 2574 start = page_offset(page);
2580 end = start + bvec->bv_offset + bvec->bv_len - 1; 2575 end = start + bvec->bv_offset + bvec->bv_len - 1;
2581 2576
2582 if (end_extent_writepage(page, bio->bi_error, start, end)) 2577 end_extent_writepage(page, bio->bi_error, start, end);
2583 continue;
2584
2585 end_page_writeback(page); 2578 end_page_writeback(page);
2586 } 2579 }
2587 2580
@@ -5227,7 +5220,7 @@ int set_extent_buffer_dirty(struct extent_buffer *eb)
5227 return was_dirty; 5220 return was_dirty;
5228} 5221}
5229 5222
5230int clear_extent_buffer_uptodate(struct extent_buffer *eb) 5223void clear_extent_buffer_uptodate(struct extent_buffer *eb)
5231{ 5224{
5232 unsigned long i; 5225 unsigned long i;
5233 struct page *page; 5226 struct page *page;
@@ -5240,10 +5233,9 @@ int clear_extent_buffer_uptodate(struct extent_buffer *eb)
5240 if (page) 5233 if (page)
5241 ClearPageUptodate(page); 5234 ClearPageUptodate(page);
5242 } 5235 }
5243 return 0;
5244} 5236}
5245 5237
5246int set_extent_buffer_uptodate(struct extent_buffer *eb) 5238void set_extent_buffer_uptodate(struct extent_buffer *eb)
5247{ 5239{
5248 unsigned long i; 5240 unsigned long i;
5249 struct page *page; 5241 struct page *page;
@@ -5255,7 +5247,6 @@ int set_extent_buffer_uptodate(struct extent_buffer *eb)
5255 page = eb->pages[i]; 5247 page = eb->pages[i];
5256 SetPageUptodate(page); 5248 SetPageUptodate(page);
5257 } 5249 }
5258 return 0;
5259} 5250}
5260 5251
5261int extent_buffer_uptodate(struct extent_buffer *eb) 5252int extent_buffer_uptodate(struct extent_buffer *eb)
diff --git a/fs/btrfs/extent_io.h b/fs/btrfs/extent_io.h
index f4c1ae11855f..fbc6448e70e4 100644
--- a/fs/btrfs/extent_io.h
+++ b/fs/btrfs/extent_io.h
@@ -330,17 +330,17 @@ void memset_extent_buffer(struct extent_buffer *eb, char c,
330 unsigned long start, unsigned long len); 330 unsigned long start, unsigned long len);
331void clear_extent_buffer_dirty(struct extent_buffer *eb); 331void clear_extent_buffer_dirty(struct extent_buffer *eb);
332int set_extent_buffer_dirty(struct extent_buffer *eb); 332int set_extent_buffer_dirty(struct extent_buffer *eb);
333int set_extent_buffer_uptodate(struct extent_buffer *eb); 333void set_extent_buffer_uptodate(struct extent_buffer *eb);
334int clear_extent_buffer_uptodate(struct extent_buffer *eb); 334void clear_extent_buffer_uptodate(struct extent_buffer *eb);
335int extent_buffer_uptodate(struct extent_buffer *eb); 335int extent_buffer_uptodate(struct extent_buffer *eb);
336int extent_buffer_under_io(struct extent_buffer *eb); 336int extent_buffer_under_io(struct extent_buffer *eb);
337int map_private_extent_buffer(struct extent_buffer *eb, unsigned long offset, 337int map_private_extent_buffer(struct extent_buffer *eb, unsigned long offset,
338 unsigned long min_len, char **map, 338 unsigned long min_len, char **map,
339 unsigned long *map_start, 339 unsigned long *map_start,
340 unsigned long *map_len); 340 unsigned long *map_len);
341int extent_range_clear_dirty_for_io(struct inode *inode, u64 start, u64 end); 341void extent_range_clear_dirty_for_io(struct inode *inode, u64 start, u64 end);
342int extent_range_redirty_for_io(struct inode *inode, u64 start, u64 end); 342void extent_range_redirty_for_io(struct inode *inode, u64 start, u64 end);
343int extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end, 343void extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end,
344 struct page *locked_page, 344 struct page *locked_page,
345 unsigned bits_to_clear, 345 unsigned bits_to_clear,
346 unsigned long page_ops); 346 unsigned long page_ops);
@@ -357,7 +357,7 @@ int repair_io_failure(struct inode *inode, u64 start, u64 length, u64 logical,
357 int mirror_num); 357 int mirror_num);
358int clean_io_failure(struct inode *inode, u64 start, struct page *page, 358int clean_io_failure(struct inode *inode, u64 start, struct page *page,
359 unsigned int pg_offset); 359 unsigned int pg_offset);
360int end_extent_writepage(struct page *page, int err, u64 start, u64 end); 360void end_extent_writepage(struct page *page, int err, u64 start, u64 end);
361int repair_eb_io_failure(struct btrfs_root *root, struct extent_buffer *eb, 361int repair_eb_io_failure(struct btrfs_root *root, struct extent_buffer *eb,
362 int mirror_num); 362 int mirror_num);
363 363
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index a70c5790f8f5..bf83d936e484 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -9418,14 +9418,10 @@ static void btrfs_run_delalloc_work(struct btrfs_work *work)
9418 delalloc_work = container_of(work, struct btrfs_delalloc_work, 9418 delalloc_work = container_of(work, struct btrfs_delalloc_work,
9419 work); 9419 work);
9420 inode = delalloc_work->inode; 9420 inode = delalloc_work->inode;
9421 if (delalloc_work->wait) { 9421 filemap_flush(inode->i_mapping);
9422 btrfs_wait_ordered_range(inode, 0, (u64)-1); 9422 if (test_bit(BTRFS_INODE_HAS_ASYNC_EXTENT,
9423 } else { 9423 &BTRFS_I(inode)->runtime_flags))
9424 filemap_flush(inode->i_mapping); 9424 filemap_flush(inode->i_mapping);
9425 if (test_bit(BTRFS_INODE_HAS_ASYNC_EXTENT,
9426 &BTRFS_I(inode)->runtime_flags))
9427 filemap_flush(inode->i_mapping);
9428 }
9429 9425
9430 if (delalloc_work->delay_iput) 9426 if (delalloc_work->delay_iput)
9431 btrfs_add_delayed_iput(inode); 9427 btrfs_add_delayed_iput(inode);
@@ -9435,7 +9431,7 @@ static void btrfs_run_delalloc_work(struct btrfs_work *work)
9435} 9431}
9436 9432
9437struct btrfs_delalloc_work *btrfs_alloc_delalloc_work(struct inode *inode, 9433struct btrfs_delalloc_work *btrfs_alloc_delalloc_work(struct inode *inode,
9438 int wait, int delay_iput) 9434 int delay_iput)
9439{ 9435{
9440 struct btrfs_delalloc_work *work; 9436 struct btrfs_delalloc_work *work;
9441 9437
@@ -9446,7 +9442,6 @@ struct btrfs_delalloc_work *btrfs_alloc_delalloc_work(struct inode *inode,
9446 init_completion(&work->completion); 9442 init_completion(&work->completion);
9447 INIT_LIST_HEAD(&work->list); 9443 INIT_LIST_HEAD(&work->list);
9448 work->inode = inode; 9444 work->inode = inode;
9449 work->wait = wait;
9450 work->delay_iput = delay_iput; 9445 work->delay_iput = delay_iput;
9451 WARN_ON_ONCE(!inode); 9446 WARN_ON_ONCE(!inode);
9452 btrfs_init_work(&work->work, btrfs_flush_delalloc_helper, 9447 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 } 9489 }
9495 spin_unlock(&root->delalloc_lock); 9490 spin_unlock(&root->delalloc_lock);
9496 9491
9497 work = btrfs_alloc_delalloc_work(inode, 0, delay_iput); 9492 work = btrfs_alloc_delalloc_work(inode, delay_iput);
9498 if (!work) { 9493 if (!work) {
9499 if (delay_iput) 9494 if (delay_iput)
9500 btrfs_add_delayed_iput(inode); 9495 btrfs_add_delayed_iput(inode);
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index a23399e8e3ab..54d2d2cc2c92 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -125,6 +125,7 @@ static int btrfs_relocate_sys_chunks(struct btrfs_root *root);
125static void __btrfs_reset_dev_stats(struct btrfs_device *dev); 125static void __btrfs_reset_dev_stats(struct btrfs_device *dev);
126static void btrfs_dev_stat_print_on_error(struct btrfs_device *dev); 126static void btrfs_dev_stat_print_on_error(struct btrfs_device *dev);
127static void btrfs_dev_stat_print_on_load(struct btrfs_device *device); 127static void btrfs_dev_stat_print_on_load(struct btrfs_device *device);
128static void btrfs_close_one_device(struct btrfs_device *device);
128 129
129DEFINE_MUTEX(uuid_mutex); 130DEFINE_MUTEX(uuid_mutex);
130static LIST_HEAD(fs_uuids); 131static LIST_HEAD(fs_uuids);
@@ -6465,11 +6466,11 @@ int btrfs_read_sys_array(struct btrfs_root *root)
6465 sb = btrfs_find_create_tree_block(root, BTRFS_SUPER_INFO_OFFSET); 6466 sb = btrfs_find_create_tree_block(root, BTRFS_SUPER_INFO_OFFSET);
6466 if (!sb) 6467 if (!sb)
6467 return -ENOMEM; 6468 return -ENOMEM;
6468 btrfs_set_buffer_uptodate(sb); 6469 set_extent_buffer_uptodate(sb);
6469 btrfs_set_buffer_lockdep_class(root->root_key.objectid, sb, 0); 6470 btrfs_set_buffer_lockdep_class(root->root_key.objectid, sb, 0);
6470 /* 6471 /*
6471 * The sb extent buffer is artifical and just used to read the system array. 6472 * The sb extent buffer is artifical and just used to read the system array.
6472 * btrfs_set_buffer_uptodate() call does not properly mark all it's 6473 * set_extent_buffer_uptodate() call does not properly mark all it's
6473 * pages up-to-date when the page is larger: extent does not cover the 6474 * pages up-to-date when the page is larger: extent does not cover the
6474 * whole page and consequently check_page_uptodate does not find all 6475 * whole page and consequently check_page_uptodate does not find all
6475 * the page's extents up-to-date (the hole beyond sb), 6476 * 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 } 6950 }
6950} 6951}
6951 6952
6952void btrfs_close_one_device(struct btrfs_device *device) 6953static void btrfs_close_one_device(struct btrfs_device *device)
6953{ 6954{
6954 struct btrfs_fs_devices *fs_devices = device->fs_devices; 6955 struct btrfs_fs_devices *fs_devices = device->fs_devices;
6955 struct btrfs_device *new_device; 6956 struct btrfs_device *new_device;
diff --git a/fs/btrfs/volumes.h b/fs/btrfs/volumes.h
index d5c84f6b1353..6a4375a7c588 100644
--- a/fs/btrfs/volumes.h
+++ b/fs/btrfs/volumes.h
@@ -566,6 +566,5 @@ static inline void unlock_chunks(struct btrfs_root *root)
566struct list_head *btrfs_get_fs_uuids(void); 566struct list_head *btrfs_get_fs_uuids(void);
567void btrfs_set_fs_info_ptr(struct btrfs_fs_info *fs_info); 567void btrfs_set_fs_info_ptr(struct btrfs_fs_info *fs_info);
568void btrfs_reset_fs_info_ptr(struct btrfs_fs_info *fs_info); 568void btrfs_reset_fs_info_ptr(struct btrfs_fs_info *fs_info);
569void btrfs_close_one_device(struct btrfs_device *device);
570 569
571#endif 570#endif