add removeable sysfs block device attribute
PATCH 1/1 add removeable sysfs block device attribute
This patch adds a /block/*/removeable sysfs attribute. A value of 1 indicates the media can change anytime. This is a hint for userland to poll such devices for possible media changes, and leave all others alone. There is currently no way to see if a connected usb-storage device is a disk or a card reader. It will also show 1 for CD and ZIP drives.
It was done by Patrick Mansfield a while ago. I can probably not sigh-off his work. ;)
drivers/block/genhd.c +11 -0
@@ -352,6 +352,12 @@ static ssize_t disk_range_read(struct ge {return sprintf (page,"%d\n" , disk->minors); } +static ssize_t disk_removable_read (struct gendisk * disk,char *page) +{ +return sprintf (page,"%d\n" , + (disk->flags &GENHD_FL_REMOVABLE ?1 :0 )); + +}static ssize_t disk_size_read (struct gendisk * disk,char *page) {return sprintf (page,"%llu\n" , (unsigned long long )get_capacity (disk));
@@ -384,6 +390,10 @@ static struct disk_attribute disk_attr_r .attr = {.name = "range", .mode = S_IRUGO }, .show = disk_range_read }; +static struct disk_attribute disk_attr_removable = { + .attr = {.name ="removable" , .mode =S_IRUGO }, + .show = disk_removable_read +};static struct disk_attribute disk_attr_size = { .attr = {.name ="size" , .mode =S_IRUGO }, .show = disk_size_read
@@ -396,6 +406,7 @@ static struct disk_attribute disk_attr_sstatic struct attribute * default_attrs[] = { &disk_attr_dev.attr, &disk_attr_range.attr, + &disk_attr_removable.attr, &disk_attr_size.attr, &disk_attr_stat.attr,NULL ,
Signature · 3 lines
USB is for mice, FireWire is for men! sUse lINUX ag, nÜRNBERG