DragonFly users List (threaded) for 2010-08
Re: Utility to list /dev/nodes & serno's
On 08/06/2010 01:27 PM, Matthew Dillon wrote:
: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.
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
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.
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.
This is my first attempt to contribute a utility to DragonFly (or any
project) so I'm looking for feedback.
I have more error checking to add.
I was not sure the best place for the code, so I created a new empty
branch [devserno] on my leaf account with the code.
And a tarball
The program reads the rdev's from all files in /dev/serno (excluding any
with a .) then reads the sysctl kern.disk and prints out the matches.
This is the output from my system :