Thread (5 messages) 5 messages, 2 authors, 2011-08-15

Re: [PATCH] hpsa: add heartbeat sysfs host attribute

From: Greg KH <hidden>
Date: 2011-08-15 15:45:39
Also in: lkml

On Mon, Aug 15, 2011 at 10:04:09AM -0500, scameron@beardog.cce.hp.com wrote:
On Mon, Aug 15, 2011 at 09:40:22AM -0500, scameron@beardog.cce.hp.com wrote:
quoted
On Fri, Aug 12, 2011 at 07:01:47PM -0700, Greg KH wrote:
quoted
On Fri, Aug 12, 2011 at 01:03:14PM -0500, Stephen M. Cameron wrote:
quoted
From: Stephen M. Cameron <redacted>

The cciss driver had a CCISS_HEARTBEAT ioctl which
[...]
quoted
quoted
 
+  The "heartbeat" read-only attribute returns the value of a heartbeat
+  counter register on a Smart Array controller as a 32 bit unsigned
+  hexadecimal integer (e.g: "0x12345678").  The value should change
+  periodically, not less than once per second.  If this value fails to
+  change for a period longer than one second, it means something has
+  gone wrong (e.g. Smart Array controller firmware has locked up.)
+
This all belongs in Documentation/ABI/ care to move it there instead?
Sure.
Now that I look, I'm not seeing where any of the generic scsi
host or device attributes are documented in Documenation/ABI.
Then that's a SCSI bug :)
It's not very clear to me where in Documentation/ABI I should
document a driver's custom scsi device and host attributes as
even the generic scsi device and host attributes seem to be
undocumented.

from scsi_sysfs.c, I see these, for example:

        &dev_attr_device_blocked.attr,
        &dev_attr_type.attr,
        &dev_attr_scsi_level.attr,
        &dev_attr_vendor.attr,
        &dev_attr_model.attr,
        &dev_attr_rev.attr,
        &dev_attr_rescan.attr,
        &dev_attr_delete.attr,
        &dev_attr_state.attr,
        &dev_attr_timeout.attr,
        &dev_attr_iocounterbits.attr,
        &dev_attr_iorequest_cnt.attr,
        &dev_attr_iodone_cnt.attr,
        &dev_attr_ioerr_cnt.attr,
        &dev_attr_modalias.attr,
        REF_EVT(media_change),
        NULL
};

but I don't see them documented anywhere in Documentation/ABI,
and hpsa.c adds these custom sdev attrs:

static struct device_attribute *hpsa_sdev_attrs[] = {
        &dev_attr_raid_level,
        &dev_attr_lunid,
        &dev_attr_unique_id,
        NULL,
};


Likewise, there are generic scsi host attrs in scsi_sysfs.c:

static struct attribute *scsi_sysfs_shost_attrs[] = {
        &dev_attr_unique_id.attr,
        &dev_attr_host_busy.attr,
        &dev_attr_cmd_per_lun.attr,
        &dev_attr_can_queue.attr,
        &dev_attr_sg_tablesize.attr,
        &dev_attr_sg_prot_tablesize.attr,
        &dev_attr_unchecked_isa_dma.attr,
        &dev_attr_proc_name.attr,
        &dev_attr_scan.attr,
        &dev_attr_hstate.attr,
        &dev_attr_supported_mode.attr,
        &dev_attr_active_mode.attr,
        &dev_attr_prot_capabilities.attr,
        &dev_attr_prot_guard_type.attr,
        NULL

Also undocumented.

hpsa.c adds custom host attrs:
static struct device_attribute *hpsa_shost_attrs[] = {
        &dev_attr_rescan,
        &dev_attr_firmware_revision,
        &dev_attr_commands_outstanding,
        &dev_attr_transport_mode,
        &dev_attr_resettable,
        &dev_attr_heartbeat,
        NULL,
};


How should I proceed?
Start by documenting the ones you add, and if you want, and can, it
would be great to document the existing ones as well.

thanks,

greg k-h
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help