diff options
| author | Aliaksei Karaliou <akaraliou.dev@gmail.com> | 2017-12-23 05:27:04 -0500 |
|---|---|---|
| committer | Mike Snitzer <snitzer@redhat.com> | 2018-01-17 09:16:03 -0500 |
| commit | 46898e9a7ac9fb2d0d108cc7b753abccbf9d9f20 (patch) | |
| tree | 54b0f61af72d0ec85cd12020509eeb03f0923abb /drivers/md/dm-bufio.c | |
| parent | bde14184781bd24ee6fb0e1af8d69ca21acbd6e6 (diff) | |
dm bufio: check result of register_shrinker()
dm_bufio_client_create() does not check result of register_shrinker()
which was tagged as __must_check recently, reported by sparse.
Signed-off-by: Aliaksei Karaliou <akaraliou.dev@gmail.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'drivers/md/dm-bufio.c')
| -rw-r--r-- | drivers/md/dm-bufio.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/md/dm-bufio.c b/drivers/md/dm-bufio.c index 1d130130f264..b98c72fa7322 100644 --- a/drivers/md/dm-bufio.c +++ b/drivers/md/dm-bufio.c | |||
| @@ -1743,20 +1743,23 @@ struct dm_bufio_client *dm_bufio_client_create(struct block_device *bdev, unsign | |||
| 1743 | __free_buffer_wake(b); | 1743 | __free_buffer_wake(b); |
| 1744 | } | 1744 | } |
| 1745 | 1745 | ||
| 1746 | c->shrinker.count_objects = dm_bufio_shrink_count; | ||
| 1747 | c->shrinker.scan_objects = dm_bufio_shrink_scan; | ||
| 1748 | c->shrinker.seeks = 1; | ||
| 1749 | c->shrinker.batch = 0; | ||
| 1750 | r = register_shrinker(&c->shrinker); | ||
| 1751 | if (r) | ||
| 1752 | goto bad_shrinker; | ||
| 1753 | |||
| 1746 | mutex_lock(&dm_bufio_clients_lock); | 1754 | mutex_lock(&dm_bufio_clients_lock); |
| 1747 | dm_bufio_client_count++; | 1755 | dm_bufio_client_count++; |
| 1748 | list_add(&c->client_list, &dm_bufio_all_clients); | 1756 | list_add(&c->client_list, &dm_bufio_all_clients); |
| 1749 | __cache_size_refresh(); | 1757 | __cache_size_refresh(); |
| 1750 | mutex_unlock(&dm_bufio_clients_lock); | 1758 | mutex_unlock(&dm_bufio_clients_lock); |
| 1751 | 1759 | ||
| 1752 | c->shrinker.count_objects = dm_bufio_shrink_count; | ||
| 1753 | c->shrinker.scan_objects = dm_bufio_shrink_scan; | ||
| 1754 | c->shrinker.seeks = 1; | ||
| 1755 | c->shrinker.batch = 0; | ||
| 1756 | register_shrinker(&c->shrinker); | ||
| 1757 | |||
| 1758 | return c; | 1760 | return c; |
| 1759 | 1761 | ||
| 1762 | bad_shrinker: | ||
| 1760 | bad_buffer: | 1763 | bad_buffer: |
| 1761 | bad_cache: | 1764 | bad_cache: |
| 1762 | while (!list_empty(&c->reserved_buffers)) { | 1765 | while (!list_empty(&c->reserved_buffers)) { |
