Loading block/blk-core.c +5 −7 Original line number Diff line number Diff line Loading @@ -695,7 +695,6 @@ static void blk_rq_timed_out_timer(unsigned long data) struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id) { struct request_queue *q; int err; q = kmem_cache_alloc_node(blk_requestq_cachep, gfp_mask | __GFP_ZERO, node_id); Loading @@ -710,17 +709,16 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id) if (!q->bio_split) goto fail_id; q->backing_dev_info = &q->_backing_dev_info; q->backing_dev_info = bdi_alloc_node(gfp_mask, node_id); if (!q->backing_dev_info) goto fail_split; q->backing_dev_info->ra_pages = (VM_MAX_READAHEAD * 1024) / PAGE_SIZE; q->backing_dev_info->capabilities = BDI_CAP_CGROUP_WRITEBACK; q->backing_dev_info->name = "block"; q->node = node_id; err = bdi_init(q->backing_dev_info); if (err) goto fail_split; setup_timer(&q->backing_dev_info->laptop_mode_wb_timer, laptop_mode_timer_fn, (unsigned long) q); setup_timer(&q->timeout, blk_rq_timed_out_timer, (unsigned long) q); Loading Loading @@ -772,7 +770,7 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id) fail_ref: percpu_ref_exit(&q->q_usage_counter); fail_bdi: bdi_destroy(q->backing_dev_info); bdi_put(q->backing_dev_info); fail_split: bioset_free(q->bio_split); fail_id: Loading block/blk-sysfs.c +1 −1 Original line number Diff line number Diff line Loading @@ -627,7 +627,7 @@ static void blk_release_queue(struct kobject *kobj) struct request_queue *q = container_of(kobj, struct request_queue, kobj); bdi_exit(q->backing_dev_info); bdi_put(q->backing_dev_info); blkcg_exit_queue(q); if (q->elevator) { Loading include/linux/backing-dev-defs.h +2 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ #include <linux/flex_proportions.h> #include <linux/timer.h> #include <linux/workqueue.h> #include <linux/kref.h> struct page; struct device; Loading Loading @@ -142,6 +143,7 @@ struct backing_dev_info { char *name; struct kref refcnt; /* Reference counter for the structure */ unsigned int min_ratio; unsigned int max_ratio, max_prop_frac; Loading include/linux/backing-dev.h +9 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,14 @@ #include <linux/slab.h> int __must_check bdi_init(struct backing_dev_info *bdi); void bdi_exit(struct backing_dev_info *bdi); static inline struct backing_dev_info *bdi_get(struct backing_dev_info *bdi) { kref_get(&bdi->refcnt); return bdi; } void bdi_put(struct backing_dev_info *bdi); __printf(3, 4) int bdi_register(struct backing_dev_info *bdi, struct device *parent, Loading @@ -29,6 +36,7 @@ void bdi_unregister(struct backing_dev_info *bdi); int __must_check bdi_setup_and_register(struct backing_dev_info *, char *); void bdi_destroy(struct backing_dev_info *bdi); struct backing_dev_info *bdi_alloc_node(gfp_t gfp_mask, int node_id); void wb_start_writeback(struct bdi_writeback *wb, long nr_pages, bool range_cyclic, enum wb_reason reason); Loading include/linux/blkdev.h +0 −1 Original line number Diff line number Diff line Loading @@ -346,7 +346,6 @@ struct request_queue { struct delayed_work delay_work; struct backing_dev_info *backing_dev_info; struct backing_dev_info _backing_dev_info; /* * The queue owner gets to use this for whatever they like. Loading Loading
block/blk-core.c +5 −7 Original line number Diff line number Diff line Loading @@ -695,7 +695,6 @@ static void blk_rq_timed_out_timer(unsigned long data) struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id) { struct request_queue *q; int err; q = kmem_cache_alloc_node(blk_requestq_cachep, gfp_mask | __GFP_ZERO, node_id); Loading @@ -710,17 +709,16 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id) if (!q->bio_split) goto fail_id; q->backing_dev_info = &q->_backing_dev_info; q->backing_dev_info = bdi_alloc_node(gfp_mask, node_id); if (!q->backing_dev_info) goto fail_split; q->backing_dev_info->ra_pages = (VM_MAX_READAHEAD * 1024) / PAGE_SIZE; q->backing_dev_info->capabilities = BDI_CAP_CGROUP_WRITEBACK; q->backing_dev_info->name = "block"; q->node = node_id; err = bdi_init(q->backing_dev_info); if (err) goto fail_split; setup_timer(&q->backing_dev_info->laptop_mode_wb_timer, laptop_mode_timer_fn, (unsigned long) q); setup_timer(&q->timeout, blk_rq_timed_out_timer, (unsigned long) q); Loading Loading @@ -772,7 +770,7 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id) fail_ref: percpu_ref_exit(&q->q_usage_counter); fail_bdi: bdi_destroy(q->backing_dev_info); bdi_put(q->backing_dev_info); fail_split: bioset_free(q->bio_split); fail_id: Loading
block/blk-sysfs.c +1 −1 Original line number Diff line number Diff line Loading @@ -627,7 +627,7 @@ static void blk_release_queue(struct kobject *kobj) struct request_queue *q = container_of(kobj, struct request_queue, kobj); bdi_exit(q->backing_dev_info); bdi_put(q->backing_dev_info); blkcg_exit_queue(q); if (q->elevator) { Loading
include/linux/backing-dev-defs.h +2 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ #include <linux/flex_proportions.h> #include <linux/timer.h> #include <linux/workqueue.h> #include <linux/kref.h> struct page; struct device; Loading Loading @@ -142,6 +143,7 @@ struct backing_dev_info { char *name; struct kref refcnt; /* Reference counter for the structure */ unsigned int min_ratio; unsigned int max_ratio, max_prop_frac; Loading
include/linux/backing-dev.h +9 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,14 @@ #include <linux/slab.h> int __must_check bdi_init(struct backing_dev_info *bdi); void bdi_exit(struct backing_dev_info *bdi); static inline struct backing_dev_info *bdi_get(struct backing_dev_info *bdi) { kref_get(&bdi->refcnt); return bdi; } void bdi_put(struct backing_dev_info *bdi); __printf(3, 4) int bdi_register(struct backing_dev_info *bdi, struct device *parent, Loading @@ -29,6 +36,7 @@ void bdi_unregister(struct backing_dev_info *bdi); int __must_check bdi_setup_and_register(struct backing_dev_info *, char *); void bdi_destroy(struct backing_dev_info *bdi); struct backing_dev_info *bdi_alloc_node(gfp_t gfp_mask, int node_id); void wb_start_writeback(struct bdi_writeback *wb, long nr_pages, bool range_cyclic, enum wb_reason reason); Loading
include/linux/blkdev.h +0 −1 Original line number Diff line number Diff line Loading @@ -346,7 +346,6 @@ struct request_queue { struct delayed_work delay_work; struct backing_dev_info *backing_dev_info; struct backing_dev_info _backing_dev_info; /* * The queue owner gets to use this for whatever they like. Loading