Utility to list /dev/nodes & serno's
Aggelos Economopoulos
aoiko at cc.ece.ntua.gr
Thu Aug 12 05:57:03 PDT 2010
On 08/12/2010 10:30 AM, Dylan Reinhold wrote:
> On 08/06/2010 01:27 PM, Matthew Dillon wrote:
>> :Hi people,
>> :
>> :is there a way to easily list all disks and their associated serno's ?
>> :Something like 'blkid' utility of Linux, if you happen to know it.
>> :I could happily hack something like that, if we lack it.
>> :
>> :
>> :Cheers,
>> :Stathis
>>
>> There isn't, and that would be cool. It is fairly easy to match
>> up device numbers from devfs.
>>
>> You can use sysctl kern.disks output to get a list of disk devices,
>> then you can scan /dev and pick those base names out and stat them,
>> and you can scan /dev/serno and stat those babies and match up
>> the st_rdev's with the ones from /dev to getting related serial
>> numbers.
>>
>> If we wanted to get more involved we could add an ioctl() to retrieve
>> the serial number (if available), but it can definitely be scripted
>> right now without that.
>>
>> -Matt
>> Matthew Dillon
>> <dillon at backplane.com>
>
> I started a utility a while back going down a different path, I have now
> changed it to use the sysctl call like Matt pointed out.
That is a suboptimal approach. It should be trivial to export serno via
udev as Alex suggested and just as trivial to parse that (and more) info
from a userspace utility using libdevattr. It is generic and extendable.
Just try it :)
Aggelos
More information about the Users
mailing list