bcache: export backing_dev_uuid via sysfs
When there are multiple bcache devices, after a reboot the name of bcache devices may change (e.g. current /dev/bcache1 was /dev/bcache0 before reboot). Therefore we need the backing device UUID (sb.uuid) to identify each bcache device. Backing device uuid can be found by program bcache-super-show, but directly exporting backing_dev_uuid by sysfs file /sys/block/bcache<?>/bcache/backing_dev_uuid is a much simpler method. With backing_dev_uuid, and partition uuids from /dev/disk/by-partuuid/, now we can identify each bcache device and its partitions conveniently. Signed-off-by: Coly Li <colyli@suse.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
926d19465b
commit
d4610456cf
@ -68,6 +68,7 @@ read_attribute(btree_written);
|
|||||||
read_attribute(metadata_written);
|
read_attribute(metadata_written);
|
||||||
read_attribute(active_journal_entries);
|
read_attribute(active_journal_entries);
|
||||||
read_attribute(backing_dev_name);
|
read_attribute(backing_dev_name);
|
||||||
|
read_attribute(backing_dev_uuid);
|
||||||
|
|
||||||
sysfs_time_stats_attribute(btree_gc, sec, ms);
|
sysfs_time_stats_attribute(btree_gc, sec, ms);
|
||||||
sysfs_time_stats_attribute(btree_split, sec, us);
|
sysfs_time_stats_attribute(btree_split, sec, us);
|
||||||
@ -250,6 +251,13 @@ SHOW(__bch_cached_dev)
|
|||||||
return strlen(buf);
|
return strlen(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (attr == &sysfs_backing_dev_uuid) {
|
||||||
|
/* convert binary uuid into 36-byte string plus '\0' */
|
||||||
|
snprintf(buf, 36+1, "%pU", dc->sb.uuid);
|
||||||
|
strcat(buf, "\n");
|
||||||
|
return strlen(buf);
|
||||||
|
}
|
||||||
|
|
||||||
#undef var
|
#undef var
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -460,6 +468,7 @@ static struct attribute *bch_cached_dev_files[] = {
|
|||||||
&sysfs_bypass_torture_test,
|
&sysfs_bypass_torture_test,
|
||||||
#endif
|
#endif
|
||||||
&sysfs_backing_dev_name,
|
&sysfs_backing_dev_name,
|
||||||
|
&sysfs_backing_dev_uuid,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
KTYPE(bch_cached_dev);
|
KTYPE(bch_cached_dev);
|
||||||
|
Loading…
Reference in New Issue
Block a user