Messages in this thread |  | | | Date | Mon, 17 Dec 2007 11:32:49 +0300 | | From | Michael Tokarev <> | | Subject | Re: /sys/block [was: [PATCH 007 of 7] md: Get name for block device in sysfs] |
Kay Sievers wrote:
> On Mon, 2007-12-17 at 08:29 +0300, Michael Tokarev wrote:
[]
>> How to distinguish char devices from block devices in sysfs?
>> Is the only way to read a symlink `subsystem' in the device
>> directory?
>
> By its subsystem value (block), from the symlink, from the environment,
> or from $1.
Environment and $1 comes as arguments for hotplug helper, not
when scanning /sys/.
>> For now, I've a shell code (used heavily in numerous places),
>> which looks like this:
>>
>> function makedev() {
>> ...
>> case $DEVPATH in
>> /block/*) TYPE=b ;;
>> *) TYPE=c ;;
>> esac
>> ...
>> mknod /dev/$DEV $TYPE $MAJOR $MINOR
>> }
>>
>> The only external process invocation in there is mknod, all
>> the rest is done using pure shell constructs. Is it really
>> necessary to spawn another process just to read a symlink
>> now? It will be almost 2 times slower....
>
> No need.
It seems there IS a need now ;)
Thanks for the clarification.
/mjt
|  |