aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-bufio.c
diff options
context:
space:
mode:
authorAliaksei Karaliou <akaraliou.dev@gmail.com>2017-12-23 05:27:04 -0500
committerMike Snitzer <snitzer@redhat.com>2018-01-17 09:16:03 -0500
commit46898e9a7ac9fb2d0d108cc7b753abccbf9d9f20 (patch)
tree54b0f61af72d0ec85cd12020509eeb03f0923abb /drivers/md/dm-bufio.c
parentbde14184781bd24ee6fb0e1af8d69ca21acbd6e6 (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.c15
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
1762bad_shrinker:
1760bad_buffer: 1763bad_buffer:
1761bad_cache: 1764bad_cache:
1762 while (!list_empty(&c->reserved_buffers)) { 1765 while (!list_empty(&c->reserved_buffers)) {