OSDN Git Service

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 557a8a3..b9166ee 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);