* [PATCH] add removeable sysfs block device attribute
@ 2004-07-13 21:07 Olaf Hering
0 siblings, 0 replies; only message in thread
From: Olaf Hering @ 2004-07-13 21:07 UTC (permalink / raw)
To: Andrew Morton, linux-kernel; +Cc: Patrick Mansfield, Jens Axboe
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. ;)
diff -purN linux-2.6.8-rc1-bk2/drivers/block/genhd.c linux-2.6.8-rc1-bk2.removeable_media/drivers/block/genhd.c
--- linux-2.6.8-rc1-bk2/drivers/block/genhd.c 2004-07-13 20:14:17.326681737 +0000
+++ linux-2.6.8-rc1-bk2.removeable_media/drivers/block/genhd.c 2004-07-13 20:47:52.215560764 +0000
@@ -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_s
static 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,
--
USB is for mice, FireWire is for men!
sUse lINUX ag, nÜRNBERG
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2004-07-13 21:10 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-07-13 21:07 [PATCH] add removeable sysfs block device attribute Olaf Hering
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox