Porting OpenBSD's sysctl hw.sensors framework to FreeBSD

Constantine A. Murenin cnst at FreeBSD.org
Fri Jul 13 15:48:35 UTC 2007


On 12/07/2007 14:04, John Baldwin wrote:

> On Thursday 12 July 2007 03:00:08 am Alexander Leidinger wrote:
> 
>>Quoting John Baldwin <jhb at freebsd.org> (from Wed, 11 Jul 2007 
> 
> 11:45:26 -0400):
> 
>>>On Wednesday 11 July 2007 07:49:59 am Alexander Leidinger wrote:
>>
>>>>On the other hand you don't want to allow an userland tool to directly
>>>>mess around with the registers on your RAID or NIC to get some status...
>>>
>>>Err, that's how all the RAID utilities I've used work.  They send firmware
>>>commands from userland and parse the replies in userland.  One exception 
> 
> I've
> 
>>That's sad... they should provide this functionality in the driver  
>>instead, it would allow to use access restrictions for some parts.
> 
> 
> Not really, it avoids having to duplicate a lot of work in drivers that can be 
> written once in a cross-platform userland utility.  Drivers aren't really the 
> place to be monitoring raid status sending pages, e-mails, etc.  It's best to 
> let userland invoke sendmail, not the kernel. :)

John, I'm sorry to disappoint you, but RAID drivers in OpenBSD don't 
implement SMTP and don't do emails, they only provide updates to the 
sensors framework when there are some changes in the state of the drive. :)

sensorsd(8) is used to send alerts and emails based on the information 
from the sensors framework, and user configuration.

bioctl(8) is used to configure RAID for _all drivers_. There are no 
separate utilities for RAID configuration based on brand-name, just like 
nowadays there are no separate utilities for configuring Ethernet 
adapters. [0]

To my knowledge, this RAID drive status monitoring functionality was 
already ported to NetBSD's envsys/sysmon a short while ago -- on 
2007-05-01. It appears in OpenBSD since 2005-11-30 and is appraised by 
many users and developers worldwide.

This project that I am working on is about porting the generic sensors 
framework that is used by RAID drives amongst other devices. The amount 
of work or bookkeeping that is done in the device drivers to provide 
sensors to this framework is very minimal. Types of sensors in the 
framework are very well defined.

This sensors framework, by itself, provides only general status 
reporting in regards to RAID drives [1] -- bioctl(8) does most of the 
things in regards to RAID, and it goes separately from the sensors 
framework.

Cheers,
Constantine.

[0]http://marc.info/?l=openbsd-tech&m=113772381621199&w=2
[1]http://opengrok.creo.hu/openbsd/xref/src/sys/sys/sensors.h#SENSOR_DRIVE_EMPTY


More information about the freebsd-arch mailing list