Dan Williams e105b8bfc7 sysfs: add /sys/dev/{char,block} to lookup sysfs path by major:minor
Why?:
There are occasions where userspace would like to access sysfs
attributes for a device but it may not know how sysfs has named the
device or the path.  For example what is the sysfs path for
/dev/disk/by-id/ata-ST3160827AS_5MT004CK?  With this change a call to
stat(2) returns the major:minor then userspace can see that
/sys/dev/block/8:32 links to /sys/block/sdc.

What are the alternatives?:
1/ Add an ioctl to return the path: Doable, but sysfs is meant to reduce
   the need to proliferate ioctl interfaces into the kernel, so this
   seems counter productive.

2/ Use udev to create these symlinks: Also doable, but it adds a
   udev dependency to utilities that might be running in a limited
   environment like an initramfs.

3/ Do a full-tree search of sysfs.

[kay.sievers@vrfy.org: fix duplicate registrations]
[kay.sievers@vrfy.org: cleanup suggestions]

Cc: Neil Brown <neilb@suse.de>
Cc: Tejun Heo <htejun@gmail.com>
Acked-by: Kay Sievers <kay.sievers@vrfy.org>
Reviewed-by: SL Baur <steve@xemacs.org>
Acked-by: Kay Sievers <kay.sievers@vrfy.org>
Acked-by: Mark Lord <lkml@rtr.ca>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-07-21 21:54:40 -07:00
..
2007-10-23 13:47:31 -05:00
2006-11-30 04:58:40 +01:00
2005-11-22 09:14:30 -08:00
2006-10-03 22:54:15 +02:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-10-03 22:47:42 +02:00
2007-10-22 08:13:21 -07:00
2006-10-03 22:52:05 +02:00
2007-10-20 02:38:36 +02:00
2006-12-30 10:56:45 -08:00
2008-06-27 09:39:53 +01:00
2006-04-25 15:44:04 -04:00
2005-04-16 15:20:36 -07:00
2007-07-31 15:39:38 -07:00
2007-05-09 08:58:15 +02:00
2008-02-08 09:22:38 -08:00
2008-05-06 13:45:34 -04:00
2005-04-16 15:20:36 -07:00
2007-10-12 09:16:30 -07:00
2007-10-17 08:42:56 -07:00
2008-02-03 16:30:51 +02:00
2005-04-16 15:20:36 -07:00
2008-04-25 11:56:37 -06:00
2005-04-16 15:20:36 -07:00
2006-11-30 04:58:40 +01:00
2006-12-07 08:39:44 -08:00
2008-07-15 09:22:12 +03:00
2007-02-12 09:48:40 -08:00
2008-04-28 08:58:47 -07:00
2008-05-06 13:45:34 -04:00
2007-05-09 08:58:15 +02:00