lkml.org 
[lkml]   [2007]   [Dec]   [17]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateMon, 17 Dec 2007 11:32:49 +0300
FromMichael Tokarev <>
SubjectRe: /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


\
 
 \ /
  Last update: 2007-12-17 09:35    [from the cache]
©2003-2008