aboutsummaryrefslogtreecommitdiffstats
path: root/mm/backing-dev.c
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2017-04-12 06:24:48 -0400
committerJens Axboe <axboe@fb.com>2017-04-20 14:09:55 -0400
commit2e82b84c01d9438d86079980e22e036eee71e754 (patch)
tree9653b73160e4fbc3764758e9a69411031f9c4f00 /mm/backing-dev.c
parentc1844d536dafa5f2cddf4b4841a3634f80a27666 (diff)
block: Remove unused functions
Now that all backing_dev_info structure are allocated separately, we can drop some unused functions. Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'mm/backing-dev.c')
-rw-r--r--mm/backing-dev.c56
1 files changed, 6 insertions, 50 deletions
diff --git a/mm/backing-dev.c b/mm/backing-dev.c
index 3dd175986390..4dcd56947f2a 100644
--- a/mm/backing-dev.c
+++ b/mm/backing-dev.c
@@ -12,8 +12,6 @@
12#include <linux/device.h> 12#include <linux/device.h>
13#include <trace/events/writeback.h> 13#include <trace/events/writeback.h>
14 14
15static atomic_long_t bdi_seq = ATOMIC_LONG_INIT(0);
16
17struct backing_dev_info noop_backing_dev_info = { 15struct backing_dev_info noop_backing_dev_info = {
18 .name = "noop", 16 .name = "noop",
19 .capabilities = BDI_CAP_NO_ACCT_AND_WRITEBACK, 17 .capabilities = BDI_CAP_NO_ACCT_AND_WRITEBACK,
@@ -242,6 +240,8 @@ static __init int bdi_class_init(void)
242} 240}
243postcore_initcall(bdi_class_init); 241postcore_initcall(bdi_class_init);
244 242
243static int bdi_init(struct backing_dev_info *bdi);
244
245static int __init default_bdi_init(void) 245static int __init default_bdi_init(void)
246{ 246{
247 int err; 247 int err;
@@ -820,7 +820,7 @@ static void cgwb_remove_from_bdi_list(struct bdi_writeback *wb)
820 820
821#endif /* CONFIG_CGROUP_WRITEBACK */ 821#endif /* CONFIG_CGROUP_WRITEBACK */
822 822
823int bdi_init(struct backing_dev_info *bdi) 823static int bdi_init(struct backing_dev_info *bdi)
824{ 824{
825 int ret; 825 int ret;
826 826
@@ -838,7 +838,6 @@ int bdi_init(struct backing_dev_info *bdi)
838 838
839 return ret; 839 return ret;
840} 840}
841EXPORT_SYMBOL(bdi_init);
842 841
843struct backing_dev_info *bdi_alloc_node(gfp_t gfp_mask, int node_id) 842struct backing_dev_info *bdi_alloc_node(gfp_t gfp_mask, int node_id)
844{ 843{
@@ -897,12 +896,6 @@ int bdi_register(struct backing_dev_info *bdi, struct device *parent,
897} 896}
898EXPORT_SYMBOL(bdi_register); 897EXPORT_SYMBOL(bdi_register);
899 898
900int bdi_register_dev(struct backing_dev_info *bdi, dev_t dev)
901{
902 return bdi_register(bdi, NULL, "%u:%u", MAJOR(dev), MINOR(dev));
903}
904EXPORT_SYMBOL(bdi_register_dev);
905
906int bdi_register_owner(struct backing_dev_info *bdi, struct device *owner) 899int bdi_register_owner(struct backing_dev_info *bdi, struct device *owner)
907{ 900{
908 int rc; 901 int rc;
@@ -950,13 +943,6 @@ void bdi_unregister(struct backing_dev_info *bdi)
950 } 943 }
951} 944}
952 945
953static void bdi_exit(struct backing_dev_info *bdi)
954{
955 WARN_ON_ONCE(bdi->dev);
956 wb_exit(&bdi->wb);
957 cgwb_bdi_exit(bdi);
958}
959
960static void release_bdi(struct kref *ref) 946static void release_bdi(struct kref *ref)
961{ 947{
962 struct backing_dev_info *bdi = 948 struct backing_dev_info *bdi =
@@ -964,7 +950,9 @@ static void release_bdi(struct kref *ref)
964 950
965 if (test_bit(WB_registered, &bdi->wb.state)) 951 if (test_bit(WB_registered, &bdi->wb.state))
966 bdi_unregister(bdi); 952 bdi_unregister(bdi);
967 bdi_exit(bdi); 953 WARN_ON_ONCE(bdi->dev);
954 wb_exit(&bdi->wb);
955 cgwb_bdi_exit(bdi);
968 kfree(bdi); 956 kfree(bdi);
969} 957}
970 958
@@ -974,38 +962,6 @@ void bdi_put(struct backing_dev_info *bdi)
974} 962}
975EXPORT_SYMBOL(bdi_put); 963EXPORT_SYMBOL(bdi_put);
976 964
977void bdi_destroy(struct backing_dev_info *bdi)
978{
979 bdi_unregister(bdi);
980 bdi_exit(bdi);
981}
982EXPORT_SYMBOL(bdi_destroy);
983
984/*
985 * For use from filesystems to quickly init and register a bdi associated
986 * with dirty writeback
987 */
988int bdi_setup_and_register(struct backing_dev_info *bdi, char *name)
989{
990 int err;
991
992 bdi->name = name;
993 bdi->capabilities = 0;
994 err = bdi_init(bdi);
995 if (err)
996 return err;
997
998 err = bdi_register(bdi, NULL, "%.28s-%ld", name,
999 atomic_long_inc_return(&bdi_seq));
1000 if (err) {
1001 bdi_destroy(bdi);
1002 return err;
1003 }
1004
1005 return 0;
1006}
1007EXPORT_SYMBOL(bdi_setup_and_register);
1008
1009static wait_queue_head_t congestion_wqh[2] = { 965static wait_queue_head_t congestion_wqh[2] = {
1010 __WAIT_QUEUE_HEAD_INITIALIZER(congestion_wqh[0]), 966 __WAIT_QUEUE_HEAD_INITIALIZER(congestion_wqh[0]),
1011 __WAIT_QUEUE_HEAD_INITIALIZER(congestion_wqh[1]) 967 __WAIT_QUEUE_HEAD_INITIALIZER(congestion_wqh[1])