Btrfs: section mismatch warnings

--Boundary-00=_CcOWHFYK4T+JwSj
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hello everybody,

compiling btrfs into the kernel results in section mismatch warnings. __exit
functions are called where they are not allowed to. The attached patch fixes
this for me. Not sure if it is correct though.

Signed-off-by: Christian Hesse <mail@earthworm.de>
--
Regards,
Chris

--Boundary-00=_CcOWHFYK4T+JwSj
Content-Type: text/x-diff; charset="iso-8859-1";
	name="btrfs-section_mismatches.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="btrfs-section_mismatches.patch"

Signed-off-by: Chris Mason <chris.mason@oracle.com>
diff --git a/fs/btrfs/extent_map.c b/fs/btrfs/extent_map.c
index 06e4377..8326a18 100644
--- a/fs/btrfs/extent_map.c
+++ b/fs/btrfs/extent_map.c
@@ -69,7 +69,7 @@
 	return -ENOMEM;
 }
 
-void __exit extent_map_exit(void)
+void extent_map_exit(void)
 {
 	struct extent_state *state;
 
diff --git a/fs/btrfs/extent_map.h b/fs/btrfs/extent_map.h
index 2ffc0c7..6e572d3 100644
--- a/fs/btrfs/extent_map.h
+++ b/fs/btrfs/extent_map.h
@@ -112,7 +112,7 @@
 int extent_read_full_page(struct extent_map_tree *tree, struct page *page,
 			  get_extent_t *get_extent);
 int __init extent_map_init(void);
-void __exit extent_map_exit(void);
+void extent_map_exit(void);
 
 u64 count_range_bits(struct extent_map_tree *tree,
 		     u64 *start, u64 max_bytes, unsigned long bits);
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index 4af1c0d..0229e69 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -666,7 +666,7 @@
 	trans_wq = create_workqueue("btrfs");
 }
 
-void __exit btrfs_exit_transaction_sys(void)
+void btrfs_exit_transaction_sys(void)
 {
 	destroy_workqueue(trans_wq);
 }