atomic_long_t           meta_sectors_written;
        atomic_long_t           btree_sectors_written;
        atomic_long_t           sectors_written;
-
-       char                    cache_dev_name[BDEVNAME_SIZE];
 };
 
 struct gc_stat {
 
                errors >>= IO_ERROR_SHIFT;
 
                if (errors < ca->set->error_limit)
-                       pr_err("%s: IO error on %s%s\n",
-                              ca->cache_dev_name, m,
+                       pr_err("%pg: IO error on %s%s\n",
+                              ca->bdev, m,
                               is_read ? ", recovering." : ".");
                else
                        bch_cache_set_error(ca->set,
-                                           "%s: too many IO errors %s\n",
-                                           ca->cache_dev_name, m);
+                                           "%pg: too many IO errors %s\n",
+                                           ca->bdev, m);
        }
 }
 
 
 err_free:
        module_put(THIS_MODULE);
        if (err)
-               pr_notice("error %s: %s\n", ca->cache_dev_name, err);
+               pr_notice("error %pg: %s\n", ca->bdev, err);
        return ret;
 }
 
        const char *err = NULL; /* must be set for any error case */
        int ret = 0;
 
-       bdevname(bdev, ca->cache_dev_name);
        memcpy(&ca->sb, sb, sizeof(struct cache_sb));
        ca->bdev = bdev;
        ca->bdev->bd_holder = ca;
                goto out;
        }
 
-       pr_info("registered cache device %s\n", ca->cache_dev_name);
+       pr_info("registered cache device %pg\n", ca->bdev);
 
 out:
        kobject_put(&ca->kobj);
 
 err:
        if (err)
-               pr_notice("error %s: %s\n", ca->cache_dev_name, err);
+               pr_notice("error %pg: %s\n", ca->bdev, err);
 
        return ret;
 }