|
@@ -423,7 +423,10 @@ static ssize_t disk_size_read(struct gendisk * disk, char *page)
|
|
|
{
|
|
|
return sprintf(page, "%llu\n", (unsigned long long)get_capacity(disk));
|
|
|
}
|
|
|
-
|
|
|
+static ssize_t disk_capability_read(struct gendisk *disk, char *page)
|
|
|
+{
|
|
|
+ return sprintf(page, "%x\n", disk->flags);
|
|
|
+}
|
|
|
static ssize_t disk_stats_read(struct gendisk * disk, char *page)
|
|
|
{
|
|
|
preempt_disable();
|
|
@@ -466,6 +469,10 @@ static struct disk_attribute disk_attr_size = {
|
|
|
.attr = {.name = "size", .mode = S_IRUGO },
|
|
|
.show = disk_size_read
|
|
|
};
|
|
|
+static struct disk_attribute disk_attr_capability = {
|
|
|
+ .attr = {.name = "capability", .mode = S_IRUGO },
|
|
|
+ .show = disk_capability_read
|
|
|
+};
|
|
|
static struct disk_attribute disk_attr_stat = {
|
|
|
.attr = {.name = "stat", .mode = S_IRUGO },
|
|
|
.show = disk_stats_read
|
|
@@ -506,6 +513,7 @@ static struct attribute * default_attrs[] = {
|
|
|
&disk_attr_removable.attr,
|
|
|
&disk_attr_size.attr,
|
|
|
&disk_attr_stat.attr,
|
|
|
+ &disk_attr_capability.attr,
|
|
|
#ifdef CONFIG_FAIL_MAKE_REQUEST
|
|
|
&disk_attr_fail.attr,
|
|
|
#endif
|