]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
bcache: export backing_dev_name via sysfs
authorColy Li <colyli@suse.de>
Sat, 9 Feb 2019 04:52:55 +0000 (12:52 +0800)
committerJens Axboe <axboe@kernel.dk>
Sat, 9 Feb 2019 14:18:31 +0000 (07:18 -0700)
This patch export dc->backing_dev_name to sysfs file
/sys/block/bcache<?>/bcache/backing_dev_name, then people or user space
tools may know the backing device name of this bcache device.

Of cause it can be done by parsing sysfs links, but this method can be
much simpler to find the link between bcache device and backing device.

Signed-off-by: Coly Li <colyli@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/md/bcache/sysfs.c

index 557a8a3270a16c5e6d0478a12ba5e1604f16d478..b9166ee027fabb26e99d7f3da26f4a52ccfc9de7 100644 (file)
@@ -67,6 +67,7 @@ read_attribute(written);
 read_attribute(btree_written);
 read_attribute(metadata_written);
 read_attribute(active_journal_entries);
+read_attribute(backing_dev_name);
 
 sysfs_time_stats_attribute(btree_gc,   sec, ms);
 sysfs_time_stats_attribute(btree_split, sec, us);
@@ -243,6 +244,12 @@ SHOW(__bch_cached_dev)
                return strlen(buf);
        }
 
+       if (attr == &sysfs_backing_dev_name) {
+               snprintf(buf, BDEVNAME_SIZE + 1, "%s", dc->backing_dev_name);
+               strcat(buf, "\n");
+               return strlen(buf);
+       }
+
 #undef var
        return 0;
 }
@@ -452,6 +459,7 @@ static struct attribute *bch_cached_dev_files[] = {
        &sysfs_verify,
        &sysfs_bypass_torture_test,
 #endif
+       &sysfs_backing_dev_name,
        NULL
 };
 KTYPE(bch_cached_dev);