| From ddec6d196b1911ab03d9f33e0764a247ceaefe14 Mon Sep 17 00:00:00 2001 |
| From: Christoph Hellwig <hch@lst.de> |
| Date: Mon, 4 May 2020 14:47:54 +0200 |
| Subject: [PATCH] bdi: move bdi_dev_name out of line |
| |
| commit eb7ae5e06bb6e6ac6bb86872d27c43ebab92f6b2 upstream. |
| |
| bdi_dev_name is not a fast path function, move it out of line. This |
| prepares for using it from modular callers without having to export |
| an implementation detail like bdi_unknown_name. |
| |
| Signed-off-by: Christoph Hellwig <hch@lst.de> |
| Reviewed-by: Jan Kara <jack@suse.cz> |
| Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Reviewed-by: Bart Van Assche <bvanassche@acm.org> |
| Signed-off-by: Jens Axboe <axboe@kernel.dk> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h |
| index df93411c593f..6418319f042f 100644 |
| --- a/include/linux/backing-dev.h |
| +++ b/include/linux/backing-dev.h |
| @@ -499,13 +499,6 @@ static inline int bdi_rw_congested(struct backing_dev_info *bdi) |
| (1 << WB_async_congested)); |
| } |
| |
| -extern const char *bdi_unknown_name; |
| - |
| -static inline const char *bdi_dev_name(struct backing_dev_info *bdi) |
| -{ |
| - if (!bdi || !bdi->dev) |
| - return bdi_unknown_name; |
| - return dev_name(bdi->dev); |
| -} |
| +const char *bdi_dev_name(struct backing_dev_info *bdi); |
| |
| #endif /* _LINUX_BACKING_DEV_H */ |
| diff --git a/mm/backing-dev.c b/mm/backing-dev.c |
| index 0d7d6788992f..25234dd364d7 100644 |
| --- a/mm/backing-dev.c |
| +++ b/mm/backing-dev.c |
| @@ -20,7 +20,7 @@ struct backing_dev_info noop_backing_dev_info = { |
| EXPORT_SYMBOL_GPL(noop_backing_dev_info); |
| |
| static struct class *bdi_class; |
| -const char *bdi_unknown_name = "(unknown)"; |
| +static const char *bdi_unknown_name = "(unknown)"; |
| |
| /* |
| * bdi_lock protects updates to bdi_list. bdi_list has RCU reader side |
| @@ -977,6 +977,14 @@ void bdi_put(struct backing_dev_info *bdi) |
| } |
| EXPORT_SYMBOL(bdi_put); |
| |
| +const char *bdi_dev_name(struct backing_dev_info *bdi) |
| +{ |
| + if (!bdi || !bdi->dev) |
| + return bdi_unknown_name; |
| + return dev_name(bdi->dev); |
| +} |
| +EXPORT_SYMBOL_GPL(bdi_dev_name); |
| + |
| static wait_queue_head_t congestion_wqh[2] = { |
| __WAIT_QUEUE_HEAD_INITIALIZER(congestion_wqh[0]), |
| __WAIT_QUEUE_HEAD_INITIALIZER(congestion_wqh[1]) |
| -- |
| 2.7.4 |
| |